次の方法で共有


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)

こちらもご覧ください

WdfRequestGetParameters