プロパティプロバイダーのプライマリインターフェイスの実装

プロパティプロバイダーは、WMI の主要インターフェイスとして IWbemPropertyProvider メソッドを使用します。 IWbemPropertyProvider を使用すると、クラスとインスタンスのプロパティを取得および変更するコードを実装できます。

次の表に、プロパティプロバイダーに実装できる IWbemPropertyProvider メソッドを示します。

Method 特徴量
GetProperty 読み込み
PutProperty 変更

注意

インプロセスプロバイダーとして、プロパティプロバイダーを実装する必要があります。 WMI は、サービスまたは実行可能ファイルとして記述されたプロパティプロバイダーを初期化しますが、 GetProperty メソッドと PutProperty メソッドを呼び出すことはありません。

これらの方法のいずれかをサポートしないことを選択した場合は、サポート _ _ _ されていない _ WBEM E プロバイダー を返すスタブ実装をプロバイダーが提供できます。

プロパティプロバイダーは、 PropertycontextInstanceContext、および classcontext の3つの修飾子のセットによってマネージクラスまたはインスタンスを識別します。 WMI は、これら3つの修飾子を記述する文字列定数をプロパティプロバイダーに渡します。

プロパティプロバイダーは、次の種類のコンテキスト修飾子を処理できるように準備する必要があります。

  • InstanceContext 修飾子はインスタンスにアタッチされ、インスタンス内のすべてのプロパティに適用される情報を格納します。
  • Classcontext 修飾子はクラスにアタッチされ、クラス内のすべてのインスタンスに適用される情報を格納します。 たとえば、レジストリプロバイダーによって提供されるデータを格納するために使用されるクラスでは、 Classcontext は、報告されるプロパティを含むレジストリキーへのパスにすることができます。
  • Propertycontext 修飾子は、プロパティに関連するコンテキスト固有の情報を指定します。 たとえば、レジストリプロバイダーによって提供されるデータを格納するために使用されるクラスでは、 Propertycontext は、プロパティによって格納されるレジストリ値の名前を指定します。

これらの修飾子は連携して機能します。 InstanceContextpropertycontext の両方の値を指定して、特定の種類のインスタンスをどのように扱うかをプロバイダーに指示できます。 たとえば、プロバイダーが読み取り可能として認識し、書き込み可能なプロパティを1つだけ持つインスタンスにマークを付けることができます。

使用される最も一般的な修飾子は Propertycontext です。 そのため、WMI は DynProps 修飾子をショートカットとして提供します。 WMI では、 DynProps でマークされたインスタンスの各プロパティも、 DynamicProvider、および propertycontext 修飾子を持つと見なされます。