__ObjectProviderRegistration クラス

__ObjectProviderRegistration 抽象システム クラスは、WMI でクラスおよびインスタンス プロバイダーの登録に使用されるクラスの親クラスとして機能します。

次の構文は、マネージド オブジェクト フォーマット (MOF) コードを簡素化しており、継承されたすべてのプロパティを含んでいます。 プロパティは、MOF 順ではなくアルファベット順で一覧表示されています。

構文

[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;
};

メンバー

__ObjectProviderRegistration クラスには、次の種類のメンバーがあります。

プロパティ

__ObjectProviderRegistration クラスには、次のプロパティがあります。

InteractionType

データ型 : sint32

アクセスの種類: 読み取り/書き込み

クラスまたはインスタンス プロバイダーが独自のデータを提供するか、あるいは WMI と共通情報モデル (CIM) リポジトリに依存するかを示します。 プル プロバイダーはデータへの動的アクセスをサポートし、プッシュ プロバイダーはデータを CIM リポジトリに保存し、WMI を使用してデータへのアクセスを提供します。 詳細については、「プッシュまたはプルの状態の決定」を参照してください。 既定値は 0 (ゼロ) です。

Pull (0)

プロバイダーはプル プロバイダーです。

Push (1)

プロバイダーはプッシュ プロバイダーです。

PushVerify (2)

プロバイダーは、プッシュ検証プロバイダーです。 現時点では、プッシュ検証はサポートされていないので注意してください。

プロバイダー

データ型: __Provider

アクセスの種類: 読み取り専用

オブジェクト プロバイダーへのオブジェクト パスを表す __Provider のインスタンスへの参照。 このプロパティは、__ProviderRegistration から継承されます。

QuerySupportLevels

データ型: string 配列

アクセスの種類: 読み取り/書き込み

クエリ処理に対してプロバイダーに含まれているサポートの種類の配列。 クラス プロバイダーは、どの種類のクエリもサポートしていません。 インスタンス プロバイダーは、クエリ処理をサポートしていない場合、QuerySupportLevelsNULL に設定できます。 クエリをサポートするプロバイダーは、IWbemServices::ExecQueryAsync メソッドを実装し、このプロパティを次の 1 つ以上の値に設定します (プロパティの型は配列です)。

"WQL:UnarySelect"

"WQL:References"

"WQL:Associators"

"WQL:V1ProviderDefined"

SupportsBatching

データ型: boolean

アクセスの種類: 読み取り/書き込み

使用されていません。

SupportsDelete

データ型: boolean

アクセスの種類: 読み取り/書き込み

True の場合、プロバイダーはデータ削除をサポートします。

True

プロバイダーは、IWbemServices::DeleteClassAsync (クラス プロバイダー)、または IWbemServices::DeleteInstanceAsync (インスタンス プロバイダー) のいずれか 1 つを実装することで、クラスまたはインスタンスの削除をサポートします。

False

プロバイダーはデータの削除はサポートせず、DeleteClassAsync または DeleteInstanceAsync から WBEM_E_PROVIDER_NOT_CAPABLE を返します。

SupportsEnumeration

データ型: boolean

アクセスの種類: 読み取り/書き込み

True の場合、プロバイダーはデータ列挙をサポートします。

True

プロバイダーは、IWbemServices::CreateClassEnumAsync (クラス プロバイダー)、または IWbemServices::CreateInstanceEnumAsync (インスタンス プロバイダー) のいずれか 1 つを実装することで、データ列挙をサポートします。

False

プロバイダーはデータ列挙をサポートせず、CreateClassEnumAsync または CreateInstanceEnumAsync から WBEM_E_PROVIDER_NOT_CAPABLE を返します。

SupportsGet

データ型: boolean

アクセスの種類: 読み取り/書き込み

True の場合、クラスまたはインスタンス プロバイダーはデータ取得をサポートします。

True

プロバイダーは、IWbemServices::GetObjectAsync を実装することでデータ取得をサポートします。

False

プロバイダーはデータ取得をサポートせず、GetObjectAsync から WBEM_E_PROVIDER_NOT_CAPABLE を返します。

SupportsPut

データ型: boolean

アクセスの種類: 読み取り/書き込み

True の場合、クラスまたはインスタンス プロバイダーはデータ変更をサポートします。

True

プロバイダーは、IWbemServices::PutClassAsync (クラス プロバイダー)、または IWbemServices::PutInstanceAsync (インスタンス プロバイダー) のいずれか 1 つを実装することで、クラスまたはインスタンスの変更をサポートします。

False

プロバイダーはデータ変更をサポートせず、PutClassAsync または PutInstanceAsync から WBEM_E_PROVIDER_NOT_CAPABLE を返します。

SupportsTransactions

データ型: boolean

アクセスの種類: 読み取り/書き込み

使用しません。

解説

__ObjectProviderRegistration クラスは、__ProviderRegistration から派生します。

クラス プロバイダーは WMI にクラスのリストを提供できる必要があるため、これらのプロバイダーでは SupportsEnumeration プロパティを True に設定する必要があります。 クラス プロバイダーがこのプロパティを False に設定しようとすると、WMI はその登録を無効としてフラグを設定します。 インスタンス プロバイダーは列挙をサポートする必要はなく、SupportsEnumerationTrue または False のどちらに設定することもできます。

QuerySupportLevels を "WQL:UnarySelect" に設定したプロバイダーは、WMI バージョン 1.0 でサポートされている基本的な SELECT ステートメントで構成されるクエリを受け入れることができます。 クラス プロバイダーとインスタンス プロバイダーの両方が、__CLASS システム プロパティを処理できることが期待されます。 クラス プロバイダーは、__SUPERCLASS システム プロパティと ISA 演算子も処理することが期待されます。 ISA 演算子は、結果セットを派生クラスに拡張するために使用されます。 プロバイダーは、自身で解釈できないクエリが指定された場合、エラー値 WBEM_E_TOO_COMPLEX 返して WMI にその処理を要求します。 有効な WQL 構文の説明については、「WQL を使用したクエリ」を参照してください。

QuerySupportLevelsWQL:V1ProviderDefined に設定したプロバイダーは、自身のリスクでより大きな SQL 構文のセット (ORDER BY 句など) のサポートを試みることができます。 WMI は、追加の句を解釈したり、結果セットが正しいことを確認したりしません。

__Win32Provider のインスタンスを作成して登録することによってプロバイダーを登録または削除できるのは管理者のみです。

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
名前空間
すべての WMI 名前空間

関連項目

__ProviderRegistration

WMI システム クラス

プロバイダーの登録