システム レジストリ プロバイダーの登録
システム レジストリ プロバイダーは、Windows の WMI インストール プロセスの一部として登録されます。 別のプラットフォームを使用していて、システム レジストリ プロバイダーを使用する場合は、次の手順に従って、まずプロバイダーを自分で登録する必要があります。
次の手順では、システム レジストリ プロバイダーを登録する方法について説明します。
システム レジストリ プロバイダーを登録するには
プロバイダーを COM サーバーとして登録します。
必要に応じて、レジストリ エントリの作成が必要になる場合があります。 このプロセスは、すべての COM サーバーに適用され、WMI とは無関係です。 詳しくは、Microsoft Windows ソフトウェア開発キット (SDK) で COM のドキュメントをご覧ください。
__Win32Provider クラスのインスタンスを作成して、システム レジストリ プロバイダーの実装を記述します。
__Win32Provider インスタンスでは、プロバイダーの名前とそのクラス識別子 (CLSID) について記述します。
次の例では、__Win32Provider をインスタンス プロパティ、イベント、またはメソッド プロバイダーとして登録する方法について説明しています。
// Instance provider instance of __Win32Provider as $InstProv { Name = "RegProv" ; ClsId = "{fe9af5c0-d3b6-11ce-a5b6-00aa00680c3f}" ; }; // Property provider instance of __Win32Provider as $PropProv { Name = "RegPropProv"; Clsid = "{72967901-68EC-11d0-B729-00AA0062CBB7}"; }; // Event provider instance of __Win32Provider as $RegEvent { Name = "RegistryEventProvider"; Clsid = "{fa77a74e-e109-11d0-ad6e-00c04fd8fdff}"; }; instance of __Win32Provider as $RegMethod { Name = "RegistryMethodProvider"; Clsid = "{44DE513E-60C2-11d3-AF33-00C04F79FEB1}"; };
システム レジストリ プロバイダーの論理実装を記述するために、__ProviderRegistration クラスから派生したクラスのインスタンスを 1 つ以上作成します。
システム レジストリ プロバイダーを登録する目的に応じて、次のクラスの 1 つ以上を作成できます。
__InstanceProviderRegistration
__PropertyProviderRegistration
次の MOF コード例では、システム レジストリ プロバイダーをインスタンス、プロパティ、イベント、またはメソッド プロバイダーとして登録する方法について説明しています。
instance of __InstanceProviderRegistration { Provider = $InstProv; SupportsPut = TRUE; SupportsGet = TRUE; SupportsDelete = FALSE; SupportsEnumeration = TRUE; }; instance of __PropertyProviderRegistration { Provider = $PropProv; SupportsPut = TRUE; SupportsGet = TRUE; }; instance of __EventProviderRegistration { Provider = $RegEvent; EventQueryList = { "select * from RegistryKeyChangeEvent", "select * from RegistryValueChangeEvent", "select * from RegistryTreeChangeEvent"}; }; // Method provider instance of __MethodProviderRegistration { Provider = $RegMethod; };
MOF コンパイラまたは IMofCompiler インターフェイスを使用して MOF ファイルをコンパイルします。
Windows SDK の WMI セクションで提供される RegEvent.mof ファイルには、システム レジストリ プロバイダーをイベント プロバイダーとして登録するために必要な __Win32Provider と __EventProviderRegistration インスタンスが含まれています。 プロバイダーの登録の詳細については、「プロバイダーの登録」および「WMI イベントの受信」を参照してください。