共用方式為


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 值。 驅動程式必須使用這個傳回值做為 EvtDeviceWdmIrpDispatchEvtDeviceWdmIrpPreprocess 回呼函式,WdfDeviceWdmDispatchIrpToIoQueue

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

備註

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

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

如果驅動程式從 EvtDeviceWdmIrpPreprocess 回呼函式內呼叫 WdfDeviceWdmDispatchIrpToIoQueue, 驅動程式必須先呼叫 IoSkipCurrentIrpStackLocationIoCopyCurrentIrpStackLocationToNext,才能呼叫 WdfDeviceWdmDispatchIrpToIoQueue

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

需求

要求 價值
目標平臺 普遍
最低 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