WDM ドライバーについての WMI の要件
IRP を処理するドライバーは、データ プロバイダーとして WMI に 登録します。 システム提供の記憶域ポート ドライバー、クラス ドライバー、NDIS プロトコル ドライバーは、このカテゴリに分類されます。 WMI データ プロバイダーとしての登録の詳細については、 「WMI データ プロバイダーとしての登録」 を参照してください。
IRP を処理しないドライバーは、そのまま、ドライバー スタック内の次の下位ドライバーに WMI 要求を転送する必要があります。 次の下位ドライバーは WMI に登録され、最初のドライバーの代わりに WMI 要求を処理します。 たとえば、SCSI ミニポート ドライバーと NDIS ミニポート ドライバーは、WMI プロバイダーとして登録し、対応するクラス ドライバーに WMI データを提供できます。
クラスまたはポート ドライバーに WMI データを提供するドライバーは、クラスまたはポート ドライバーによって定義されているドライバーの種類固有の WMI インターフェイスをサポートしている必要があります。 たとえば、SCSI ミニポート ドライバーは、 WmiDataProvider を TRUE に設定し ( PORT_CONFIGURATION_INFORMATION 構造体で)、 SCSI ポート ドライバーからのSRB_FUNCTION_WMI要求を処理する必要があります。
同様に、カスタム データ ブロックを定義する接続指向 NDIS ミニポート ドライバーは、 OID_GEN_CO_SUPPORTED_GUIDSをサポートする必要があります。それ以外の場合、NDIS は、一般的で NDIS に既知のOID_GEN_SUPPORTED_LISTから返された OID と状態表示を NDIS で定義された GUID にマップします。
次のセクションでは、IRP を処理するドライバーで WMI をサポートする方法について説明します。