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 或 EvtDeviceWdmIrpPreprocess 回呼函式,WdfDeviceWdmDispatchIrpToIoQueue。

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

備註

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

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

如果驅動程式從 EvtDeviceWdmIrpPreprocess 回呼函式內呼叫 WdfDeviceWdmDispatchIrpToIoQueue, 驅動程式必須先呼叫 IoSkipCurrentIrpStackLocation 或 IoCopyCurrentIrpStackLocationToNext,才能呼叫 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