__ClassProviderRegistration class

The __ClassProviderRegistration system class registers class 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

class __ClassProviderRegistration : __ObjectProviderRegistration
{
  boolean        SupportsBatching;
  datetime       CacheRefreshInterval;
  sint32         InteractionType = 0;
  __Provider REF provider;
  boolean        PerUserSchema;
  string         QuerySupportLevels[];
  string         ReferencedSetQueries[];
  string         ResultSetQueries[];
  boolean        ReSynchroniseOnNamespaceOpen;
  boolean        SuppportsBatching;
  boolean        SupportsEnumeration = False;
  boolean        SupportsDelete = False;
  boolean        SupportsGet = False;
  boolean        SupportsPut = False;
  boolean        SupportsTransactions;
  string         UnsupportedQueries[];
  uint32         Version;
};

Members

The __ClassProviderRegistration class has these types of members:

Properties

The __ClassProviderRegistration class has these properties.

CacheRefreshInterval

Data type: datetime

Access type: Read/write

Not used.

InteractionType

Data type: sint32

Access type: Read/write

Indicates whether or not the class or instance provider supplies data, or relies on WMI and the Common Information Model (CIM) repository. Pull providers support dynamic access to data, and push providers store data in the CIM repository, and rely on WMI to provide access to it. The default value is 0 (zero). This property is inherited from __ObjectProviderRegistration. For more information, see Determining Push or Pull Status.

Pull (0)

Provider is a pull provider.

Push (1)

Provider is a push provider.

PushVerify (2)

Provider is a push-verify provider. Note that PushVerify providers are not supported at this time.

PerUserSchema

Data type: boolean

Access type: Read/write

Not used.

provider

Data type: __Provider

Access type: Read-only

Object path to a class 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. This property is inherited from __ObjectProviderRegistration. Class providers are required to support at least one type of query. 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:

("WQL:UnarySelect")

("WQL:References")

("WQL:Associators")

("WQL:V1ProviderDefined")

ReferencedSetQueries

Data type: string array

Access type: Read/write

One or more queries that describe the set of referenced classes that a class provider supports. Providers that can supply association classes must include at least one query in this property.

ResultSetQueries

Data type: string array

Access type: Read/write

One or more queries that describe the set of all classes that can be supplied by the class provider, or a superset of those classes. This property never specifies a subset of supported classes.

ReSynchroniseOnNamespaceOpen

Data type: boolean

Access type: Read/write

Not used.

SupportsBatching

Data type: boolean

Access type: Read/write

Not used.

This property is inherited from __ObjectProviderRegistration.

SupportsDelete

Data type: boolean

Access type: Read/write

If TRUE, the provider supports data deletion. This property is inherited from __ObjectProviderRegistration.

(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. This property is inherited from __ObjectProviderRegistration.

(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. This property is inherited from __ObjectProviderRegistration.

(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. This property is inherited from __ObjectProviderRegistration.

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

SuppportsBatching

Data type: boolean

Access type: Read/write

Not used.

UnsupportedQueries

Data type: string array

Access type: Read/write

One or more queries that describe the set of classes that the class provider does not support. Use this property to subtract from the set of classes implied by ResultSetQueries.

Version

Data type: uint32

Access type: Read/write

Version of this class provider.

Remarks

The __ClassProviderRegistration class is derived from __ObjectProviderRegistration, which is derived from __ProviderRegistration.

The properties inherited from __ObjectProviderRegistration indicate whether or not the class provider supports data retrieval, modification, deletion, enumeration and query processing. The InteractionType property specifies whether or not the class provider is designed as a pull or push provider. For more information, see Determining Push or Pull Status.

The __ProviderRegistration class defines the Provider property. Only administrators can register a provider by creating an instance of __Win32Provider and __ClassProviderRegistration. Only administrators can delete a provider.

Requirements

Requirement Value
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Namespace
All WMI namespaces

See also

__ObjectProviderRegistration

WMI System Classes

Registering a Class Provider

Registering an Instance Provider

__Win32Provider