共用方式為


WdfDeviceWdmDispatchIrpToIoQueue 函式 (wdfdevice.h)

[適用於 KMDF 和 UMDF]

WdfDeviceWdmDispatchIrpToIoQueue 方法會將 IRP 轉送至指定的 I/O 佇列。

語法

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 或呼叫 WdfDeviceWdmDispatchIrpToIoQueueEvtDeviceWdmIrpPreprocess 回呼函式的傳回值。

如果 KMDF 驅動程式提供無效的物件句柄,就會發生錯誤檢查。 如果 UMDF 驅動程式提供無效的句柄,驅動程式主機進程就會終止。

備註

驅動程式會呼叫 WdfDeviceWdmDispatchIrpToIoQueue 來指定傳入 IRP 的目標佇列。

驅動程式可以從其 EvtDeviceWdmIrpPreprocess 回呼例程或其 EvtDeviceWdmIrpDispatch 回呼呼叫這個方法。

如果驅動程式從 EvtDeviceWdmIrpPreprocess 回呼函式內呼叫 WdfDeviceWdmTchIrpToIoQueue,則驅動程式必須先呼叫 IoSkipCurrentIrpStackLocationIoCopyCurrentIrpStackLocationToNext,再呼叫 WdfDeviceWdmDispatchIrpToIoQueue

如需在 IRP 抵達時指定佇列的詳細資訊,請參閱 將 IRP 分派給 I/O 佇列

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.11
最低UMDF版本 2.17
標頭 wdfdevice.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf) FwdIrpToIoQueueValid (kmdf)

另請參閱

EvtDeviceWdmIrpDispatch

EvtDeviceWdmIrpPreprocess