共用方式為


EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES回呼函式 (wdfio.h)

[僅適用於 KMDF]

驅動程式的 EvtIoAllocateRequestRequestResources 回呼函式會配置驅動程式處理指定要求所需的要求特定資源。

語法

EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;

NTSTATUS EvtWdfIoAllocateRequestResources(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request
)
{...}

參數

[in] Queue

I/O 佇列物件的句柄。

[in] Request

架構所建立之要求物件的句柄。 架構尚未將要求物件新增至 Queue 參數的句柄所指定的 I/O 佇列。

傳回值

EvtIoAllocateRequestResources 回呼函式必須傳回STATUS_SUCCESS或另一個狀態值,NT_SUCCESS (狀態) 如果函式發生錯誤,則等於 TRUE。 否則,此函式必須傳回狀態值,NT_SUCCESS (狀態) 等於 FALSE

備註

當驅動程式呼叫 WdfIoQueueAssignForwardProgressPolicy 時,可以註冊 EvtIoAllocateRequestResources 回呼函式。

如果您的驅動程式註冊 EvtIoAllocateRequestResources 回呼函式,則架構會在建立 I/O 要求封包的要求對象之後立即呼叫函式, (IRP) I/O 管理員已傳送至驅動程式。

在驅動程式從 Queue 參數的句柄所指定的 I/O 佇列取得要求對象之後,回呼函式可以配置驅動程式稍後處理要求所需的資源。

如果回呼函式成功配置資源並傳回STATUS_SUCCESS,架構最終會將要求對象傳遞至驅動程式。

如果發生資源配置錯誤,例如記憶體不足的情況,回呼函式必須傳回錯誤狀態值。 在此情況下,架構會遵循驅動程式的向前進度原則,此原則在呼叫 WdfIoQueueAssignForwardProgressPolicy 時,先前以WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY值指定驅動程式。

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

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

規格需求

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

另請參閱

EvtIoAllocateResourcesForReservedRequest

WdfIoQueueAssignForwardProgressPolicy