__InstanceProviderRegistration class

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

class __InstanceProviderRegistration : __ObjectProviderRegistration
{
  sint32         InteractionType = 0;
  __Provider REF provider;
  string         QuerySupportLevels[];
  boolean        SupportsBatching;
  boolean        SupportsDelete = False;
  boolean        SupportsEnumeration = True;
  boolean        SupportsGet = False;
  boolean        SupportsPut = False;
  boolean        SupportsTransactions;
};

Members

The __InstanceProviderRegistration class has these types of members:

Properties

The __InstanceProviderRegistration class has these properties.

InteractionType

Data type: sint32

Access type: Read/write

Indicates that a class or instance provider supplies data, or retrieves data from 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 use 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 providers are not currently supported.

provider

Data type: __Provider

Access type: Read-only

Reference to an instance of __Provider that represents the object path to the instance 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 all types 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.

("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 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 the following methods: 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 __InstanceProviderRegistration class is derived from __ObjectProviderRegistration, which is derived from __ProviderRegistration. Only administrators can register an instance provider by creating an instance of __Win32Provider and __InstanceProviderRegistration. 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