Standard WMI Qualifiers
The following lists standard qualifiers specific to WMI.
Amendment
Data type: boolean
Applies to: classes
Indicates that a class contains amended qualifiers that are localized. The default is TRUE.
The associated class can be translated. To access the translated version, use the locale identifier to construct a namespace name.
Bypass_GetObject
Data type: boolean
Applies to: methods
Indicates that the method call should pass directly to the ExecMethodAsync call of the provider rather than the provider first making a call to GetObject to validate the object path. The default is FALSE. Using Bypass_GetObject can significantly improve performance.
Before using Bypass_GetObject, ensure that neither of the following actions are taken:
- Derive a class from your class.
- Override the method that has the Bypass_GetObject qualifier.
Failure to follow these precautions can result in invoking the method implementation of the parent class instead of the child class. For more information, see Using the Bypass_GetObject Qualifier.
CIM_Key
Data type: CIM_BOOLEAN
Applies to: properties
Indicates that the associated property is a key property in CIM but not in WMI.
Data type: VT_BSTR
Applies to: properties, methods, parameters
Contains text describing the type of a property.
ClassContext
Data type: VT_BSTR
Applies to: classes
Indicates that a class has instances associated with more information dynamically supplied by a provider.
Deprecated
Data type: CIM_BOOLEAN
Applies to: properties, classes
Indicates the property has been superseded by another property.
Display
Applies to: classes, properties
The UUID of the associated class.
Data type: boolean
Applies to: classes, properties
Indicates a class whose instances are created dynamically. The value of this qualifier must be set to TRUE.
DynProps
Data type: boolean
Applies to: classes, instances
Indicates that an instance contains values provided by dynamic property providers. The default is TRUE.
You must specify this qualifier on such an instance. Only the value TRUE is allowed.
Fixed
Data type: CIM_BOOLEAN
Applies to: instances
Indicates that the value of this property cannot change during the lifetime of the instance.
ID
Data type: VT_I4
Applies to: properties, parameters
Uniquely identifies and sequences a property or method parameter when MOF statements are generated automatically.
This qualifier is required for method parameters only. When creating parameters for a method, class designers should begin with Id(0) for the first parameter and use each successive integer for each successive parameter. If the ID qualifiers are unintentionally omitted, the MOF compiler generates ID qualifiers automatically.
Implemented
Data type: boolean
Applies to: methods
Indicates that a method has an implementation supplied by a provider.
InstanceContext
Data type: VT_BSTR
Applies to: instances
Indicates that an instance contains values provided by a dynamic property provider.
The value is passed to the property provider as an argument to the IWbemPropertyProvider::GetProperty method.
Locale
Data type: VT_BSTR
Applies to: classes or instances
Specifies the language of origin for a class or instance. For more information about locale values, see Locale Codes.
NamespaceSecuritySDDL
Data type: string array
Applies to: namespace instances
Specifies a security descriptor for the namespace in SDDL format. For more information, see Setting Namespace Security When the Namespace is Created. The SDDL string is processed by WMI to establish the namespace security but not stored as a string. If no security descriptor is specified, the default security is used. For more information, see Setting Namepace Security Descriptors.
Optional
Data type: boolean
Applies to: parameters
Indicates that a parameter is not required, and that it has a well-behaved default value.
Privileges
Data type: string array
Applies to: properties, methods
Set of values used to inform the client which privileges are required to create instances, fill in properties, or perform methods. The default is FALSE.
PropertyContext
Data type: VT_BSTR
Applies to: properties
Indicates that an instance property contains values provided by dynamic property providers.
You must specify this qualifier on such a property. The value is passed to the property provider as an argument to IWbemPropertyProvider::GetProperty.
Provider
Data type: VT_BSTR
Applies to: classes
The value of this qualifier is the name of the dynamic provider that provides class instances and refreshes instance data. This name must be registered with WMI by creating an instance of the __Win32Provider class with the Name property containing this name. When this qualifier is specified on a class whose instances are provided dynamically, the Dynamic qualifier must also be specified.
RequiresEncryption
Data type: boolean
Applies to: namespace instances
If set to TRUE, RequiresEncryption marks a namespace so that client applications and scripts must connect with encrypted authentication. The authentication level must be set to RPC_C_AUTHN_LEVEL_PKT_PRIVACY in C++. In scripting or Visual Basic, authentication level must be set to WbemAuthenticationLevelPktPrivacy. For more information, see Setting Namepace Security Descriptors. The qualifier is used in MOF with the pragma namespace preprocessor command.
For more information, see Setting the Default Process Security Level Using C++ or Setting the Default Process Security Level Using VBScript. Scripting authentication levels are defined in WbemAuthenticationLevelEnum.
Singleton
Data type: boolean
Applies to: classes
Designates a class that can only have one instance and that does not contain key properties.
Only the value TRUE (default) is allowed.
Static
Data type: boolean
Applies to: methods
Indicates whether a method can called by using the class definition or its instances.
The method cannot be invoked from an instance.
SubType
Data type: VT_BSTR
Applies to: properties
Indicates that a property of type CIM_DATETIME represents a time interval rather than a specific time.
To identify the property as an interval, the value of this qualifier must be "interval". All other values for this qualifier are reserved for future use.
UUID
Data type: string
Applies to: classes
Universally unique identifier applied to the class.
ClassVersion
Data type: string
Applies to: classes
The version number of the class object. The default is NULL. The version number is incremented when changes are made to the class.
WritePrivileges
Data type: string array
Applies to: properties
Set of values indicating which system privileges must be available and enabled for a successful write operation.
Remarks
Locale Codes
A locale code is of the form "MS_<Three Digit Language ID>". For example, English locale is MS_409. The following table lists the language IDs.
Language | Language ID (hexadecimal) |
---|---|
Arabic | 401 |
Portuguese (Brazil) | 416 |
Chinese (Simplified) | 804 |
Chinese (Traditional) | 404 |
Czech | 405 |
Danish | 406 |
Dutch | 413 |
English (default) | 409 |
Finnish | 40b |
French | 40c |
German | 407 |
Greek | 408 |
Hebrew | 40d |
Hungarian | 40e |
Italian | 410 |
Japanese | 411 |
Korean | 412 |
Norwegian | 414 |
Polish | 415 |
Portuguese (Portugal) | 816 |
Russian | 419 |
Spanish | c0a |
Swedish | 41D |
Turkish | 41f |
Using the Bypass_GetObject Qualifier
Using the Bypass_GetObject qualifier on a method can produce confusing results.
The following example defines the Shape and Circle classes. Note that the Circle class is derived from the Shape class.
class Shape
{
string Name;
uint32 DrawIt(); // - draws an irregular geometric shape
};
class Circle : Shape
{
uint32 DrawIt(); // - draws a circle
};
The following call to ExecMethod uses a Circle object named "MyCircle" to draw a circle.
ExecMethod("Shape.Name='MyCircle'","DrawIt");
In the previous scenario, WMI calls GetObject; discovers that "Shape.Name='MyCircle'" is a Circle; and executes the Circle implementation of DrawIt. However, if you use the Bypass_GetObject qualifier on DrawIt, WMI does not call GetObject, does not discover that "Shape.Name='MyCircle'" is a Circle, and executes the Shape implementation of DrawIt instead of the Circle implementation of DrawIt.
The following call to ExecMethod always invokes the correct implementation of DrawIt.
ExecMethod("Circle.Name='MyCircle'","DrawIt");
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |