次の方法で共有


WdfRequestWdmGetIrp 関数 (wdfrequest.h)

[KMDF にのみ適用]

WdfRequestWdmGetIrp メソッドは、指定されたフレームワーク要求オブジェクトに関連付けられている WDM IRP 構造体を返します。

構文

PIRP WdfRequestWdmGetIrp(
  [in] WDFREQUEST Request
);

パラメーター

[in] Request

フレームワーク要求オブジェクトへのハンドル。

戻り値

WdfRequestWdmGetIrp は、IRP 構造体へのポインターを返します。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

備考

ドライバーは、I/O 要求の を完了後に要求の IRP 構造体にアクセスできません。

WdfRequestWdmGetIrp の詳細については、「I/O 要求に関する情報の取得」を参照してください。

次のコード例は、EvtIoDeviceControl コールバック関数の一部であり、I/O 要求に関連付けられている WDM IRP を取得し、IoGetNextIrpStackLocation 呼び出して、次の下位ドライバーの I/O スタックの場所を取得します。

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
ヘッダー wdfrequest.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 する DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

関連項目

WdfRequestGetParameters