次の方法で共有


IRP_MN_QUERY_RESOURCES

PnP マネージャーは、この IRP を使用して、デバイスのブート構成リソースを取得します。

バス ドライバーは、ハードウェア リソースを必要とする子デバイスに対してこの要求を処理する必要があります。 ファンクション ドライバーとフィルター ドライバーは、この IRP を処理しません。

0x0A

主要なコード

IRP_MJ_PNP

送信時

PnP マネージャーは、デバイスが列挙されるときに、この IRP を送信します。

PnP マネージャーは、任意のスレッド コンテキストで、IRQL PASSIVE_LEVEL でこの IRP を送信します。

入力パラメーター

なし

出力パラメーター

I/O 状態ブロックで返されます。

I/O 状態ブロック

この IRP を処理するバス ドライバーは、Irp->IoStatus.Status を STATUS_SUCCESS、または適切なエラー状態に設定します。

成功した場合、バス ドライバーは Irp->IoStatus.Information を、要求された情報を含む CM_RESOURCE_LIST へのポインターに設定します。 エラーの場合は、バス ドライバーは Irp->IoStatus.Information を 0 に設定します。

操作

バス ドライバーは、この IRP に応答してリソースの一覧を返す場合、ページングされたメモリから CM_RESOURCE_LIST を割り当てます。 不要になると、PnP マネージャーはこのバッファを解放します。

デバイスにハードウェア リソースが必要ない場合、デバイスの親バス ドライバーは Irp->IoStatus.Status または Irp->IoStatus.Information を変更せずに IRP (IoCompleteRequest) を完了します。

ファンクション ドライバーとフィルター ドライバーは、この IRP を受信しません。

プラグ アンド プレイのマイナー IRP の処理に関する一般的な規則については、「プラグ アンド プレイ」を参照してください。

この IRP の送信

システムで使用するために予約されています。 ドライバーは、この IRP を送信することはできません。

ドライバーは、IoGetDeviceProperty を呼び出して、生の形式と変換された形式の両方で、デバイスのブート構成を取得できます。

要件

ヘッダー

Wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)

関連項目

CM_RESOURCE_LIST

IoGetDeviceProperty