__ObjectProviderRegistration class
The __ObjectProviderRegistration abstract system class serves as the parent class for classes that are used to register class and instance providers in WMI.
The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties. Properties are listed in alphabetic order, not MOF order.
Syntax
[abstract]
class __ObjectProviderRegistration : __ProviderRegistration
{
sint32 InteractionType = 0;
__Provider REF provider;
string QuerySupportLevels[];
boolean SupportsBatching;
boolean SupportsDelete = False;
boolean SupportsEnumeration = False;
boolean SupportsGet = False;
boolean SupportsPut = False;
boolean SupportsTransactions;
};
Members
The __ObjectProviderRegistration class has these types of members:
Properties
The __ObjectProviderRegistration class has these properties.
-
InteractionType
-
-
Data type: sint32
-
Access type: Read/write
Indicates whether or not the class or instance provider supplies its own data, or relies on WMI and the Common Information Model (CIM) repository. Pull providers support dynamic access to their data, and push providers store their data in the CIM repository, and rely on WMI to provide access to it. For more information, see Determining Push or Pull Status. The default value is 0 (zero).
-
-
Pull (0)
-
Provider is a pull provider.
-
Push (1)
-
Provider is a push provider.
-
PushVerify (2)
-
Provider is a push-verify provider. Note that push-verify is not supported at this time.
provider
-
Data type: __Provider
-
Access type: Read-only
Reference to an instance of __Provider that represents an object path to the object provider. This property is inherited from __ProviderRegistration.
QuerySupportLevels
-
Data type: string array
-
Access type: Read/write
Array of the types of provider-included support for query processing. Class providers do not support any type of queries. Instance providers can set QuerySupportLevels to NULL if they do not support query processing. Providers that support queries implement the IWbemServices::ExecQueryAsync method, and set this property to one or more of the following values (the property type is an array).
"WQL:UnarySelect"
"WQL:References"
"WQL:Associators"
"WQL:V1ProviderDefined"
SupportsBatching
-
Data type: boolean
-
Access type: Read/write
Not used.
SupportsDelete
-
Data type: boolean
-
Access type: Read/write
If True, the provider supports data deletion.
True
The provider supports class or instance deletion by implementing one of either IWbemServices::DeleteClassAsync (class providers), or IWbemServices::DeleteInstanceAsync (instance providers).
False
The provider does not support data deletion, and returns WBEM_E_PROVIDER_NOT_CAPABLE from DeleteClassAsync or DeleteInstanceAsync.
SupportsEnumeration
-
Data type: boolean
-
Access type: Read/write
If True, the provider supports data enumeration.
True
The provider supports data enumeration by implementing one of either IWbemServices::CreateClassEnumAsync (class providers), or IWbemServices::CreateInstanceEnumAsync (instance providers).
False
The provider does not support data enumeration, and returns WBEM_E_PROVIDER_NOT_CAPABLE from CreateClassEnumAsync or CreateInstanceEnumAsync.
SupportsGet
-
Data type: boolean
-
Access type: Read/write
If True, the class or instance provider supports data retrieval.
True
The provider supports data retrieval by implementing IWbemServices::GetObjectAsync.
False
The provider does not support data retrieval, and returns WBEM_E_PROVIDER_NOT_CAPABLE from GetObjectAsync.
SupportsPut
-
Data type: boolean
-
Access type: Read/write
If True, the class or instance provider supports data modification.
True
The provider supports class or instance modification by implementing one of either IWbemServices::PutClassAsync (class providers), or IWbemServices::PutInstanceAsync (class providers).
False
The provider does not support data modification and returns WBEM_E_PROVIDER_NOT_CAPABLE from PutClassAsync or PutInstanceAsync.
SupportsTransactions
-
Data type: boolean
-
Access type: Read/write
Not used.
Remarks
The __ObjectProviderRegistration class is derived from __ProviderRegistration.
Class providers must set the SupportsEnumeration property to True because the providers must be able to supply WMI with a list of their classes. If a class provider attempts to set this property to False, WMI flags the registration as illegal. Instance providers are not required to support enumeration, and can choose to set SupportsEnumeration to either True or False.
A provider that sets QuerySupportLevels to "WQL:UnarySelect" can accept a query that consists of the basic SELECT statement as supported in WMI version 1.0. Both class and instance providers are expected to be able to handle the __CLASS system property. Class providers are also expected to process the __SUPERCLASS system property and the ISA operator. The ISA operator is used to expand a result set to derived classes. If a provider is given a query that it cannot interpret, it requests that WMI handle it by returning the WBEM_E_TOO_COMPLEX error value. For a description of valid WQL syntax, see Querying with WQL.
A provider that sets QuerySupportLevels to WQL:V1ProviderDefined can try to support a larger set of the SQL syntax at its own risk, such as the ORDER BY
clause. WMI does not interpret the additional clauses, or attempt to ensure that the result set is correct.
Only administrators can register or delete a provider by creating an instance of __Win32Provider and registering it.
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
All WMI namespaces |