WdfRequestWdmGetIrp 関数 (wdfrequest.h)
[KMDF にのみ適用]
WdfRequestWdmGetIrp メソッドは、指定されたフレームワーク要求オブジェクトに関連付けられている WDM IRP 構造体を返します。
構文
PIRP WdfRequestWdmGetIrp(
[in] WDFREQUEST Request
);
パラメーター
[in] Request
フレームワーク要求オブジェクトへのハンドル。
戻り値
WdfRequestWdmGetIrpは、IRP 構造体へのポインターを返します。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
ドライバーは、 I/O 要求を完了した後、要求の IRP 構造体にアクセスすることはできません。
WdfRequestWdmGetIrp の詳細については、「I/O 要求に関する情報の取得」を参照してください。
例
次のコード例は、I/O 要求に関連付けられている WDM IRP を取得し、IoGetNextIrpStackLocation を呼び出して次の下位ドライバーの I/O スタックの場所を取得する EvtIoDeviceControl コールバック関数の一部です。
VOID
MyEvtIoDeviceControl(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t OutputBufferLength,
IN size_t InputBufferLength,
IN ULONG IoControlCode
)
{
PIRP irp = NULL;
PIO_STACK_LOCATION nextStack;
...
irp = WdfRequestWdmGetIrp(Request);
nextStack = IoGetNextIrpStackLocation(irp);
...
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfrequest.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 InvalidReqAccess(kmdf)、 InvalidReqAccessLocal(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |