IWbemObjectAccess インターフェイス (wbemcli.h)

IWbemObjectAccess インターフェイスは、オブジェクトのメソッドとプロパティへのアクセスを提供します。 IWbemObjectAccess オブジェクトは、リフレッシャーによって更新されたインスタンスのコンテナーです。 IWbemObjectAccess インターフェイスを使用すると、オブジェクト のプロパティ名ではなくプロパティ ハンドルを使用してプロパティを取得および設定できます。

メモ このインターフェイスは、どのような状況でもクライアント アプリケーションまたはプロバイダーによって実装されません。 WMI によって提供される実装は、サポートされている唯一の実装です。 インターフェイスへのポインターは、 IWbemClassObject::QueryInterface を呼び出すことによって取得できます。
 

継承

IWbemObjectAccess インターフェイスは、IUnknown インターフェイスから継承されます。 IWbemObjectAccess には、次の種類のメンバーもあります。

メソッド

IWbemObjectAccess インターフェイスには、これらのメソッドがあります。

 
IWbemObjectAccess::GetPropertyHandle

GetPropertyHandle メソッドは、プロパティを識別する一意のハンドルを返します。 IWbemObjectAccess メソッドを使用してプロパティ値の読み取りまたは書き込みを行うときに、このハンドルを使用してプロパティを識別できます。
IWbemObjectAccess::GetPropertyInfoByHandle

GetPropertyInfoByHandle メソッドは、プロパティ ハンドルに関連付けられているプロパティの名前とデータ型を返します。
IWbemObjectAccess::Lock

Lock メソッドは、ロックが解除されるまで、他のスレッドが IWbemObjectAccess オブジェクトを更新できないようにします。
IWbemObjectAccess::ReadDWORD

ReadDWORD メソッドは、プロパティ ハンドルを使用して 32 ビットのプロパティ データを読み取ります。
IWbemObjectAccess::ReadPropertyValue

ReadPropertyValue メソッドは、プロパティ ハンドルに関連付けられているプロパティの指定されたバイト数を返します。
IWbemObjectAccess::ReadQWORD

ReadQWORD メソッドは、プロパティ ハンドルによって識別される 64 ビットのプロパティ データを読み取ります。
IWbemObjectAccess::Unlock

Unlock メソッドを使用すると、他のスレッドが IWbemObjectAccess オブジェクトのプロパティ値を更新できます。
IWbemObjectAccess::WriteDWORD

WriteDWORD メソッドは、プロパティ ハンドルによって識別されるプロパティに 32 ビットのデータを書き込みます。
IWbemObjectAccess::WritePropertyValue

WritePropertyValue メソッドは、指定したバイト数をプロパティ ハンドルによって識別されるプロパティに書き込みます。 このメソッドを使用して、文字列とその他のすべての非 DWORD データまたは QWORD 以外のデータを設定します。
IWbemObjectAccess::WriteQWORD

WriteQWORD メソッドは、プロパティ ハンドルを使用して 64 ビットのデータをプロパティに書き込みます。

注釈

データの読み取りと書き込みを行う IWbemObjectAccess メソッドでは、データの検証はほとんど実行されません。 IWbemObjectAccess メソッドはプロパティに直接アクセスするため、IWbemClassObject::GetIWbemClassObject::P ut などの標準的なオブジェクト アクセス手法を使用するよりもはるかに迅速にプロパティを取得および設定できます。

メモ 速度を最大化するために、 IWbemObjectAccess は完全にオフになっています。 すべてのハンドルが適切であり、書き込みバッファーのサイズが正しいことを確認するのはユーザーの責任です。 読み取りと書き込みの操作は、本質的にスレッド セーフではありません。 IWbemObjectAccess オブジェクトが複数のスレッドで同時アクセスされないようにするには、IWbemObjectAccess::Lock メソッドと IWbemObjectAccess::Unlock メソッドを呼び出す必要があります。
 
プロパティ ハンドルは、クラスのすべてのインスタンスで同じです。 したがって、ハンドルを 1 回だけ取得する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemcli.h (Wbemidl.h を含む)

こちらもご覧ください

C++ でのパフォーマンス データへのアクセス

WMI プレインストールされたパフォーマンス クラスへのアクセス

WMI 用 COM API

IWbemRefresher