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 (请参阅一节) |