プロパティ プロバイダーの登録

WMI "プロパティ プロバイダー"を作成するには、__PropertyProviderRegistration のインスタンスを使用して、プロバイダーを表す __Win32Provider インスタンスを登録する必要があります。 COM オブジェクトとして、プロバイダーはオペレーティング システムと WMI に登録する必要があります。 次の手順では、「プロバイダーの登録」の説明に従って、登録プロセスが既に実装されていることを前提としています。

次の手順では、プロパティ プロバイダーを登録する方法について説明します。

プロパティ プロバイダーを登録するには

  1. プロパティ プロバイダーを記述する __Win32Provider クラスのインスタンスを作成します。

    __Win32Provider クラスは、他のプロパティの既定値 (Pure プロパティの TRUE 値など) を受け入れます。 詳細については、__Win32Provider に関する説明を参照してください。

  2. プロバイダーの機能セットを記述する __PropertyProviderRegistration クラスのインスタンスを作成します。

    __PropertyProviderRegistration クラスに数多くのプロパティを継承する __ObjectProviderRegistration 親クラスは、特定の機能のサポートを示すブール値と、クエリのサポートを示す文字列の配列を提供します。

    忘れずに Dynamic 修飾子と Provider 修飾子の両方でクラスにタグを付けます。 Dynamic 修飾子は、WMI が動的プロバイダーを使用して、サポートされているプロパティを含むクラス インスタンスを取得する必要があることを通知します。 Provider 修飾子は、WMI で使用するプロバイダーの名前を指定します。

イベント プロバイダーでサポートされているイベントへの参照を含むイベント フィルター クエリがクライアント コンシューマーによって登録されると、WMI ではそのイベント プロバイダーで NewQuery を呼び出します。 そのため、EmailClass クラスのインスタンス変更イベントを担当するイベント プロバイダーは、送信者に対してのみ通知を生成するように設定できます。 subject プロパティへの変更の通知を要求するクエリをプロバイダーで受信すると、プロバイダーではそれらの通知の生成を開始できます。 このシナリオでは、WMI で受信者の変更のみを報告する通知を破棄する必要はありません。

次の MOF コード例は、プロパティ プロバイダーを登録するために使用できるインスタンスを記述しています。

  instance of __Win32Provider as $P
  {
    Name    = "PropProvider" ;
    ClsId   = "{E30EC6A0-23CF-11d1-8FDE-0000F804AA5C}" ;
  };    

  instance of __PropertyProviderRegistration
  {
    Provider = $P;
    SupportsGet = TRUE;
    SupportsPut = FALSE;
  };

注意

__Win32Provider および __PropertyProviderRegistration のインスタンスを作成してプロパティ プロバイダーを登録や削除できるのは管理者のみです。