プロパティ プロバイダーの登録
WMI "プロパティ プロバイダー"を作成するには、__PropertyProviderRegistration のインスタンスを使用して、プロバイダーを表す __Win32Provider インスタンスを登録する必要があります。 COM オブジェクトとして、プロバイダーはオペレーティング システムと WMI に登録する必要があります。 次の手順では、「プロバイダーの登録」の説明に従って、登録プロセスが既に実装されていることを前提としています。
次の手順では、プロパティ プロバイダーを登録する方法について説明します。
プロパティ プロバイダーを登録するには
プロパティ プロバイダーを記述する __Win32Provider クラスのインスタンスを作成します。
__Win32Provider クラスは、他のプロパティの既定値 (Pure プロパティの TRUE 値など) を受け入れます。 詳細については、__Win32Provider に関する説明を参照してください。
プロバイダーの機能セットを記述する __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 のインスタンスを作成してプロパティ プロバイダーを登録や削除できるのは管理者のみです。