WMI データ プロバイダーとしての登録
WMI クライアントがデータブロックとイベント ブロックを使用するためには、WMI をサポートするドライバーが、自身を WMI データ プロバイダーとして登録する必要があります。 ドライバーは、通常、デバイスを起動するときと、ドライバーが WMI IRP を処理できるポイントまでデバイスが初期化された後に WMI に登録します。 登録プロセス中に、ドライバーは WMI にデバイス オブジェクトへのポインターと、サポートされているデータとイベント ブロックに関する情報を渡します。
ドライバーは、次の 2 つのフェーズで WMI に登録します。
ドライバーが IoWMIRegistrationControl を呼び出す際、 アクション WMIREG_ACTION_REGISTER と AddDevice ルーチンに渡されたデバイス・オブジェクトへのポインターを使用します。
ドライバーは VMI が送信する IRP_MN_REGINFO または IRP_MN_REGINFO_EX リクエストを処理することで、 IoWMIRegistrationControl ドライバーの要求を処理します IRP の Parameters.WMI.DataPath メンバーは WMIREGISTER に設定され、Parameters.WMI.ProviderId はドライバーのデバイス オブジェクト ポインターに設定されます。 「WMI ライブラリを使用してブロックを登録する」にある説明に従うか、「IRP_MN_REGINFO と IRP_MN_REGINFO_EX を処理してブロックを登録する」にあるように IRP_MN_REGINFO 要求や IRP_MN_REGINFO_EX 要求を処理して、そのデータとイベント ブロックに関する登録情報を WMI に提供します。