WdfDeviceWdmDispatchIrpToIoQueue 関数 (wdfdevice.h)
[KMDF と UMDF に適用]
WdfDeviceWdmDispatchIrpToIoQueue メソッドは、指定された I/O キューに IRP を転送します。
構文
NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue(
[in] WDFDEVICE Device,
[in] PIRP Irp,
[in] WDFQUEUE Queue,
[in] ULONG Flags
);
パラメーター
[in] Device
フレームワーク デバイス オブジェクトへのハンドル。
[in] Irp
IRP 構造体へのポインター。
[in] Queue
フレームワーク キュー オブジェクトへのハンドル。
[in] Flags
WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS型指定フラグのビットごとの OR。
戻り値
WdfDeviceWdmDispatchIrpToIoQueue メソッドは、フレームワークまたはドライバーが IRP の処理の結果として提供する NTSTATUS 値を返します。 ドライバーは、この戻り値を EvtDeviceWdmIrpDispatch または WdfDeviceWdmDispatchIrpToIoQueue を呼び出した EvtDeviceWdmIrpPreprocess コールバック関数の戻り値として使用する必要があります。
KMDF ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。 UMDF ドライバーが無効なハンドルを提供した場合、ドライバー ホスト プロセスは終了します。
注釈
ドライバーは 、WdfDeviceWdmDispatchIrpToIoQueue を呼び出して、受信 IRP のターゲット キューを指定します。
ドライバーは、 EvtDeviceWdmIrpPreprocess コールバック ルーチンまたは EvtDeviceWdmIrpDispatch コールバックからこのメソッドを呼び出すことができます。
ドライバーが EvtDeviceWdmIrpPreprocess コールバック関数内から WdfDeviceWdmDispatchIrpToIoQueue を呼び出す場合、ドライバーは WdfDeviceWdmDispatchIrpToIoQueue を呼び出す前に IoSkipCurrentIrpStackLocation または IoCopyCurrentIrpStackLocationToNext を呼び出す必要があります。
IRP の受信時のキューの指定の詳細については、「 I/O キューへの IRP のディスパッチ」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.11 |
最小 UMDF バージョン | 2.17 |
Header | wdfdevice.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf) |