__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).

ValueMeaning
0

Pull

Provider is a pull provider.

1

Push

Provider is a push provider.

2

PushVerify

Provider is a push-verify provider.

 

Note that push verify providers are not supported at this time.

provider
Data type: __Provider
Access type: Read/write

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.

ValueMeaning
True

The provider supports class or instance deletion by implementing one of the following methods:

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.

ValueMeaning
True

The provider supports data enumeration by implementing one of the following methods:

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.

ValueMeaning
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.

ValueMeaning
True

The provider supports class or instance modification by implementing one of the following methods:

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.

Windows Server 2003:  Only administrators can register or delete a provider by creating an instance of __Win32Provider and registering it.

Requirements

Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2003

Namespace

all WMI namespaces

See also

WMI System Classes
Registering a Provider

 

 

Show:
© 2014 Microsoft