Standard Qualifier Reference
[This is preliminary documentation and subject to change.]
Qualifiers are used to characterize classes, instances, the properties or methods of classes and instances, and the parameters of methods. Qualifiers are optional and can be defined using the Managed Object Format (MOF) language or the Put method of the IWbemQualifierSet interface. Other methods of IWbemQualifierSet can be used to retrieve or delete existing qualifiers.
In MOF syntax, qualifiers are placed before the keyword or element that they are describing as is shown in the following class declaration:
[qualifiers...]
class StdDisk
{
[qualifiers...] uint32 dwNumCylinders;
[qualifiers...] uint32 dwNumHeads;
[qualifiers...] sint32 Method1();
SINT32 Method2([qualifiers...] Parameter1);
};
All qualifier names are case-insensitive. The type of the qualifier is inferred from the declaration syntax. Some qualifiers have values; others do not. Those that do not have the implied value of TRUE. Absence of a qualifier is synonymous to a FALSE value.
There are standard qualifiers, defined by CIMOM, and user-defined qualifiers. The following list describes each of the standard qualifiers. The name of the qualifier is followed by its data type and an indicator of whether the qualifier can be attached to a class, an instance, a property, or a method.
-
Abstract (VT_BOOL, class)
-
Indicates that the class cannot be instantiated. The absence of this qualifier indicates that the class is not abstract.
-
Association (VT_BOOL, class)
-
Indicates that the class is an association class used to describe a relationship between two other classes. The absence of this qualifier indicates that the class is not an association class.
-
Cimtype (VT_BSTR, property)
-
Indicates the actual type of a property on a class and is added automatically. Because CIMOM allows more types than can be expressed by standard VT constants, the Cimtype qualifier can help interpret the values. The Cimtype qualifier is added automatically. For more information, see MOF Data Types.
-
ClassContext (VT_BSTR, class)
-
Indicates that the class has instances that are associated with additional information dynamically supplied by a provider.
-
Dynamic (VT_BOOL, class or property)
-
Indicates that instances of the class are dynamically provided.
Must be specified on all classes whose instances are provided dynamically. Only the value TRUE is allowed. When this qualifier is specified on a class declaration, the Provider qualifier must also be specified.
Must be specified on properties of instances that contain values provided by dynamic property providers. Only the value TRUE is allowed. When this qualifier is specified on a property of an instance, the PropertyContext qualifier must also be specified.
-
DynProps (VT_BOOL, instance)
-
Must be specified on instances that contain values provided by dynamic property providers. Only the value TRUE is allowed.
-
Implemented (VT_BOOL, method)
-
Indicates that a method has an implementation supplied by a provider.
-
In (VT_BOOL, method parameter)
-
Indicates that a parameter is an input parameter.
-
In, out (VT_BOOL, method parameter)
-
Indicates that a parameter is both an input and an output parameter.
-
Indexed (VT_BOOL, property)
-
Can be specified on properties of classes to request that those properties be indexed. Only the value TRUE is allowed.
-
InstanceContext (VT_BSTR, instance)
-
Can be specified on instances that contain values provided by dynamic property providers. The value is passed to the property provider as an argument to IWbemPropertyProvider::GetProperty.
-
Key (VT_BOOL, property)
-
Can be specified on properties of classes to mark those properties as keys. Only the value TRUE is allowed. A number of rules exist that determine which properties may be keys. For more information, see Key Properties.
-
Lexicon (VT_BSTR, class, instance, or property)
-
Specifies the globally unique identifier (GUID) of the instance of the __Lexicon system class to be used for localization.
-
Locale (VT_BSTR, class or instance)
-
Specifies the language of origin for the class or instance.
-
Max (VT_I4, property)
-
Ignored - is used as a hint - people can put more elements in the array than max specifies.
-
Not_Null (VT_BOOL, property)
-
Can be specified on properties of classes to indicate that those properties cannot take on a value of NULL (VT_NULL). Only the value TRUE is allowed. If specified, CIMOM does not allow creation of instances with the property set to NULL (returning WBEM_E_ILLEGAL_NULL error code). Note that key and indexed qualifiers already imply this behavior.
-
Out (VT_BOOL, method parameter)
-
Indicates that a parameter is an output parameter.
-
Optional (VT_BOOL, method parameter)
-
Indicates that a parameter is not required and has a well-behaved default value.
-
PropertyContext (VT_BSTR, property)
-
Must be specified on properties of instances that contain values provided by dynamic property providers. The value will be passed to the property provider as an argument to IWbemPropertyProvider::GetProperty.
-
Provider (VT_BSTR, class)
-
Must be specified on all classes whose instances are provided dynamically. The value of this qualifier is the name of the dynamic provider that provides the instances for this class. This name must be registered with CIMOM by creating an instance of the __Win32Provider class with the Provider property containing this name. When this qualifier is specified on a class declaration, the Dynamic qualifier must also be specified.
-
Singleton (VT_BOOL, class)
-
Designates a class that can only have one instance and does not contain key properties. Only the value TRUE is allowed.
-
Static (VT_BOOL, class)
-
Indicates that a method may be invoked against the class definition and is not bound to any instances of the class.