Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

AFAttribute.FindCaseAttributes Method (AFAnalysis, AFSearchMode, Object, Object, String, AFCategory, AFElementTemplate, String, AFCategory, TypeCode, AFSortField, AFSortOrder, Int32)

AFAttribute.FindCaseAttributes Method (AFAnalysis, AFSearchMode, Object, Object, String, AFCategory, AFElementTemplate, String, AFCategory, TypeCode, AFSortField, AFSortOrder, Int32)

  • Last UpdatedNov 18, 2025
  • 7 minute read
AFAttribute.FindCaseAttributes Method (AFAnalysis, AFSearchMode, Object, Object, String, AFCategory, AFElementTemplate, String, AFCategory, TypeCode, AFSortField, AFSortOrder, Int32)
Retrieves a non-paged collection of AFCaseAFAttribute objects matching the specified filters.

Namespace:  OSIsoft.AF.Asset
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182

Syntax

public static AFAttributeList FindCaseAttributes(
	AFAnalysis analysis,
	AFSearchMode searchMode,
	Object startTime,
	Object endTime,
	string nameFilter,
	AFCategory elemCategory,
	AFElementTemplate elemTemplate,
	string attrNameFilter,
	AFCategory attrCategory,
	TypeCode attrType,
	AFSortField sortField,
	AFSortOrder sortOrder,
	int maxCount
)
Public Shared Function FindCaseAttributes ( 
	analysis As AFAnalysis,
	searchMode As AFSearchMode,
	startTime As Object,
	endTime As Object,
	nameFilter As String,
	elemCategory As AFCategory,
	elemTemplate As AFElementTemplate,
	attrNameFilter As String,
	attrCategory As AFCategory,
	attrType As TypeCode,
	sortField As AFSortField,
	sortOrder As AFSortOrder,
	maxCount As Integer
) As AFAttributeList

Dim analysis As AFAnalysis
Dim searchMode As AFSearchMode
Dim startTime As Object
Dim endTime As Object
Dim nameFilter As String
Dim elemCategory As AFCategory
Dim elemTemplate As AFElementTemplate
Dim attrNameFilter As String
Dim attrCategory As AFCategory
Dim attrType As TypeCode
Dim sortField As AFSortField
Dim sortOrder As AFSortOrder
Dim maxCount As Integer
Dim returnValue As AFAttributeList

returnValue = AFAttribute.FindCaseAttributes(analysis, 
	searchMode, startTime, endTime, nameFilter, 
	elemCategory, elemTemplate, attrNameFilter, 
	attrCategory, attrType, sortField, 
	sortOrder, maxCount)
public:
static AFAttributeList^ FindCaseAttributes(
	AFAnalysis^ analysis, 
	AFSearchMode searchMode, 
	Object^ startTime, 
	Object^ endTime, 
	String^ nameFilter, 
	AFCategory^ elemCategory, 
	AFElementTemplate^ elemTemplate, 
	String^ attrNameFilter, 
	AFCategory^ attrCategory, 
	TypeCode attrType, 
	AFSortField sortField, 
	AFSortOrder sortOrder, 
	int maxCount
)
static member FindCaseAttributes : 
        analysis : AFAnalysis * 
        searchMode : AFSearchMode * 
        startTime : Object * 
        endTime : Object * 
        nameFilter : string * 
        elemCategory : AFCategory * 
        elemTemplate : AFElementTemplate * 
        attrNameFilter : string * 
        attrCategory : AFCategory * 
        attrType : TypeCode * 
        sortField : AFSortField * 
        sortOrder : AFSortOrder * 
        maxCount : int -> AFAttributeList 

Parameters

analysis
Type: OSIsoft.AF.AnalysisAFAnalysis
The AFAnalysis to search for the requested objects.
searchMode
Type: OSIsoft.AF.AssetAFSearchMode
Determines how the startTime and endTime parameters are treated when searching for event frame objects to be included in the returned collection.
startTime
Type: SystemObject
An object representing the earliest starting time for the event frames to be returned. The value may be an AFTime, DateTime, PITime, String, or numeric. A DateTime (or a DATE will be treated as UTC time if its Kind property is set to Unspecified. Because DATE values from COM or VB6 clients are marshalled as Unspecified, these client applications must convert to UTC prior to marshalling. An integer numeric represents the number of ticks (100-nanosecond intervals) since January 1, 0001. A floating point numeric represents the number of seconds since January 1, 1970 UTC. A String is interpreted as local time, unless it contains a time zone indicator such as a trailing "Z" or "GMT". Strings will be interpreted with the AFTime.Parse Overload methods so that relative formats with intervals ("*", "T+3h", etc.) are also supported. Relative time intervals are based on the object's QueryDate.
endTime
Type: SystemObject
An object representing the latest ending time for the event frames to be returned. When the specified startTime is earlier than the endTime, the items in the resulting list will be indexed in time ascending direction. If the startTime is more recent than the endTime, the items in the resulting list will be indexed in time descending direction. The value may be an AFTime, DateTime, PITime, String, or numeric. A DateTime (or a DATE will be treated as UTC time if its Kind property is set to Unspecified. Because DATE values from COM or VB6 clients are marshalled as Unspecified, these client applications must convert to UTC prior to marshalling. An integer numeric represents the number of ticks (100-nanosecond intervals) since January 1, 0001. A floating point numeric represents the number of seconds since January 1, 1970 UTC. A String is interpreted as local time, unless it contains a time zone indicator such as a trailing "Z" or "GMT". Strings will be interpreted with the AFTime.Parse Overload methods so that relative formats with intervals ("*", "T+3h", etc.) are also supported. Relative time intervals are based on the object's QueryDate.
nameFilter
Type: SystemString
The case name filter string used for finding objects.

The query string (or match pattern) can include regular characters and wildcard characters. Regular characters must match exactly the characters specified in the query string. Wildcard characters can be matched with arbitrary fragments of the query string. Wildcard characters can be escaped using the single backslash (\) character. Use a double backslash (\\) to match a single backslash. The syntax of the query string has the following rules:

  • If or empty string, then everything will be matched.
  • If no wildcards, then an exact match on the query string is performed.
  • Wildcard * can be placed anywhere in the query string and matches zero or more characters.
  • Wildcard ? can be placed anywhere in the query string and matches exactly one character.
  • One character in a set of characters are matched by placing them within [ ]. For example, a[bc] would match 'ab' or 'ac', but it would not match 'ad' or 'abd'.
  • One character in a set of characters are not matched by placing them within [! ]. For example, a[!bc] would match 'ad', but it would not match 'ab', 'ac', or 'abd'.
  • A character in a range of characters from first to last are matched using the following syntax: [first - last]. For example, a[a-c] would match 'aa', 'ab', or 'ac', but it would not match 'ad' or 'abc'.

elemCategory
Type: OSIsoft.AFAFCategory
Specify that the owner of the returned attributes must have this category. To not filter by element category, then specify for this parameter.
elemTemplate
Type: OSIsoft.AF.AssetAFElementTemplate
Specify that the owner of the returned attributes must have this template or a template derived from this template. To not filter by element template, then specify for this parameter.
attrNameFilter
Type: SystemString

The attribute name filter string used for finding objects.

The query string (or match pattern) can include regular characters and wildcard characters. Regular characters must match exactly the characters specified in the query string. Wildcard characters can be matched with arbitrary fragments of the query string. Wildcard characters can be escaped using the single backslash (\) character. Use a double backslash (\\) to match a single backslash. The syntax of the query string has the following rules:

  • If or empty string, then everything will be matched.
  • If no wildcards, then an exact match on the query string is performed.
  • Wildcard * can be placed anywhere in the query string and matches zero or more characters.
  • Wildcard ? can be placed anywhere in the query string and matches exactly one character.
  • One character in a set of characters are matched by placing them within [ ]. For example, a[bc] would match 'ab' or 'ac', but it would not match 'ad' or 'abd'.
  • One character in a set of characters are not matched by placing them within [! ]. For example, a[!bc] would match 'ad', but it would not match 'ab', 'ac', or 'abd'.
  • A character in a range of characters from first to last are matched using the following syntax: [first - last]. For example, a[a-c] would match 'aa', 'ab', or 'ac', but it would not match 'ad' or 'abc'.
attrCategory
Type: OSIsoft.AFAFCategory
Specify that returned attributes must have this category. To not filter by attribute category, then specify for this parameter.
attrType
Type: SystemTypeCode
Specify that returned attributes must have this Type. To not filter by attribute type, then specify Empty. If Object is specified, then attributes which do not have a type defined (displayed as Anything in PI System Explorer), will be returned, as well as types which cannot be described by a simpler type code, such as enumeration values, arrays, files, and references to other AF objects.
sortField
Type: OSIsoft.AFAFSortField
The field or property of the object used to sort the returned collection.
sortOrder
Type: OSIsoft.AFAFSortOrder
The order that the returned collection is sorted.
maxCount
Type: SystemInt32
The maximum number of objects to be returned.

Return Value

Type: AFAttributeList
Returns a collection containing the specified page of AFAttribute objects which match the specified filters.

Remarks

An object matches the search if the specified attrNameFilter is found in the attribute's Name property. The returned attributes can be filtered even more by specifying one or more of the following: element category, element template, attribute category, attribute type.
Important note Important
Beginning with PI AF Server 2.6, only case element template information that is checked in to the permanent storage will be utilized in the search.

Version Information

AFSDK


See Also

In This Topic
TitleResults for “How to create a CRG?”Also Available in