__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 配列
-
アクセスの種類: 読み取り/書き込み
クエリ処理に対してプロバイダーに含まれているサポートの種類の配列。 クラス プロバイダーは、どの種類のクエリもサポートしていません。 インスタンス プロバイダーは、クエリ処理をサポートしていない場合、QuerySupportLevels を NULL に設定できます。 クエリをサポートするプロバイダーは、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 はその登録を無効としてフラグを設定します。 インスタンス プロバイダーは列挙をサポートする必要はなく、SupportsEnumeration を True または False のどちらに設定することもできます。
QuerySupportLevels を "WQL:UnarySelect" に設定したプロバイダーは、WMI バージョン 1.0 でサポートされている基本的な SELECT ステートメントで構成されるクエリを受け入れることができます。 クラス プロバイダーとインスタンス プロバイダーの両方が、__CLASS システム プロパティを処理できることが期待されます。 クラス プロバイダーは、__SUPERCLASS システム プロパティと ISA 演算子も処理することが期待されます。 ISA 演算子は、結果セットを派生クラスに拡張するために使用されます。 プロバイダーは、自身で解釈できないクエリが指定された場合、エラー値 WBEM_E_TOO_COMPLEX 返して WMI にその処理を要求します。 有効な WQL 構文の説明については、「WQL を使用したクエリ」を参照してください。
QuerySupportLevels を WQL:V1ProviderDefined に設定したプロバイダーは、自身のリスクでより大きな SQL 構文のセット (ORDER BY
句など) のサポートを試みることができます。 WMI は、追加の句を解釈したり、結果セットが正しいことを確認したりしません。
__Win32Provider のインスタンスを作成して登録することによってプロバイダーを登録または削除できるのは管理者のみです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
すべての WMI 名前空間 |