EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS回呼函式 (wdfio.h)

[僅適用於 KMDF]

驅動程式的 EvtIoWdmIrpForForwardProgress 回 呼函式會檢查 I/O 要求封包 (IRP) ,並判斷是否要使用保留的要求對象來處理 I/O 要求,或使 I/O 要求失敗。

語法

EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtWdfIoWdmIrpForForwardProgress;

WDF_IO_FORWARD_PROGRESS_ACTION EvtWdfIoWdmIrpForForwardProgress(
  [in] WDFQUEUE Queue,
  [in] PIRP Irp
)
{...}

參數

[in] Queue

I/O 佇列物件的句柄。

[in] Irp

IRP 結構的指標。

傳回值

EvtIoWdmIrpForForwardProgress 回呼函式必須傳回WDF_IO_FORWARD_PROGRESS_ACTION類型的值。

備註

驅動程式可以在呼叫 WdfIoQueueAssignForwardProgressPolicy 時註冊 EvtIoWdmIrpForForwardProgress 回呼函式。

如果您的驅動程式註冊 EvtIoWdmIrpForForwardProgress 回呼函式,則架構會在下列所有條件都存在時呼叫 函式:

  • 架構已收到 I/O 要求封包, (IRP) I/O 管理員傳送至驅動程式。
  • 架構已嘗試建立 IRP 的要求物件,但嘗試失敗。
  • 驅動程式已針對應該接收要求物件的 I/O 佇列啟用保證向前進度,並將 原則類型 設定為 WdfIoForwardProgressReservedPolicyUseExrestricted
架構會將 IRP 傳遞至 EvtIoWdmIrpForForwardProgress 回呼函式。 回呼函式必須檢查 IRP,並判斷架構是否應該針對 IRP 使用其中一個保留的要求物件,或 (如果電腦的可用記憶體不足,) I/O 要求失敗,而不會將它傳遞給驅動程式。 回呼函式的傳回值會指定架構應該採取的動作。

如需 EvtIoWdmIrpForForwardProgress 回呼函式的詳細資訊,請參閱 保證 I/O 作業的向前進度

您可以在 IRQL <= DISPATCH_LEVEL呼叫此回呼函式。 如果 IRQL PASSIVE_LEVEL,架構會呼叫 重要區域內的回呼函式。

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.9
標頭 wdfio.h (包含 Wdf.h)
IRQL <= DISPATCH_LEVEL (请参阅一节)

另請參閱

EvtIoAllocateRequestResources

EvtIoAllocateResourcesForReservedRequest