IWbemContext インターフェイス (wbemcli.h)
IWbemContext インターフェイスは、必要に応じて、IWbemServices 呼び出しを WMI に送信するときに、プロバイダーに追加のコンテキスト情報を通信するために使用されます。 IWbemServices のすべてのプライマリ呼び出しは、この型のオブジェクトを指す省略可能なパラメーターを受け取ります。
継承
IWbemContext インターフェイスは、IUnknown インターフェイスから継承されます。 IWbemContext には、次の種類のメンバーもあります。
メソッド
IWbemContext インターフェイスには、これらのメソッドがあります。
IWbemContext::BeginEnumeration IWbemContext::BeginEnumeration メソッドは、オブジェクト内のすべてのコンテキスト値の列挙をリセットします。 |
IWbemContext::Clone IWbemContext::Clone メソッドは、現在の IWbemContext オブジェクトの論理コピーを作成します。 このメソッドは、ほぼ同じ IWbemContext オブジェクトを持つ多数の呼び出しを行う必要がある場合に便利です。 |
IWbemContext::D eleteAll IWbemContext::D eleteAll メソッドは、現在のオブジェクトからすべての名前付きコンテキスト値を削除し、オブジェクトを空にします。 |
IWbemContext::D eleteValue IWbemContext::D eleteValue メソッドは、IWbemContext::SetValue によって作成された名前付きコンテキスト値を削除します。 |
IWbemContext::EndEnumeration IWbemContext::EndEnumeration メソッドは、IWbemContext::BeginEnumeration で始まる列挙シーケンスを終了します。 この呼び出しは必須ではありませんが、列挙型に関連付けられているシステム リソースをできるだけ早く解放します。 |
IWbemContext::GetNames IWbemContext::GetNames メソッドは、名前付きコンテキスト値のすべての名前の SAFEARRAY 構造体を返します。 |
IWbemContext::GetValue IWbemContext::GetValue メソッドは、特定の名前付きコンテキスト値を名前で取得するために使用されます。 |
IWbemContext::Next IWbemContext::Next メソッドは、IWbemContext::BeginEnumeration で始まるすべてのコンテキスト値の列挙で次の値を取得します。 |
IWbemContext::SetValue IWbemContext::SetValue メソッドは、名前付きコンテキスト値を作成または上書きします。 |
注釈
多くの場合、動的プロバイダーでは、 IWbemServices メソッドの通常のパラメーターで指定されているよりも多くの情報が必要です。 たとえば、提供される WMI スキーマ オブジェクトを操作するには、プロバイダーが簡易ネットワーク管理プロトコル (SNMP) コミュニティ名、または構造化照会言語 (SQL) データベースとテーブル名を知る必要がある場合があります。 クライアントは、この情報を IWbemContext オブジェクトに追加し、 IWbemContext オブジェクトをパラメーターの 1 つとして呼び出しと共に送信できます。
プロバイダーは、コンテンツ オブジェクトを慎重に使用する必要があります。 必須でないことをお勧めします。 プロバイダーが要求に応答するために大量の高度に固有のコンテキスト情報を必要とする場合は、この情報を提供するためにすべてのクライアントをコーディングする必要があるため、WMI の基礎となる均一なアクセス モデルが損なわれます。 ただし、場合によっては回避できない場合があります。 したがって、このようなプロバイダーにアクセスできるようにするために、このメカニズムが提供されます。 このようなプロバイダーの開発者は、クライアント ソフトウェアの開発者がこのような CIM オブジェクトを正常に操作できるように、適切なドキュメントを提供する必要があります。
IWbemContext を使用してクライアントが要求の詳細情報を指定できるようにするプロバイダーは、サポートする値の種類を次の一覧の型に制限する必要があります。
- VT_I4
- VT_R8
- VT_BOOL
- VT_BSTR
- VT_UNKNOWN
- 上記のいずれかをVT_ARRAYと組み合わせて使用します。
IWbemContext オブジェクトに含まれる情報は、基になるプロバイダーによって完全に決定されます。 WMI は情報を使用せず、プロバイダーに転送します。 プロバイダーは、これらのサービス要求に必要なコンテキスト情報を公開する必要があります。
クライアント アプリケーションは CoCreateInstanceEx を呼び出して、単一のコンテキスト オブジェクトを作成します。 次に、 SetValue を 1 回以上呼び出して、プロバイダーのコンテキスト値を設定します。 最後に、 IWbemServices メソッドのいずれかにオブジェクトを送信します。このメソッドは、呼び出しが返された後、コンテキスト オブジェクトで Release を 直ちに呼び出します。 その他のメソッドは、主にコンテキスト オブジェクトを受け取り、情報を抽出する必要があるプロバイダーによって使用されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | wbemcli.h (Wbemidl.h を含む) |