WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT函式 (wdfio.h)
[僅適用於 KMDF]
WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT函式會初始化驅動程式的WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY結構。
語法
void WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT(
[out] PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy,
[in] ULONG TotalForwardProgressRequests,
[in] PFN_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtIoWdmIrpForForwardProgress
);
參數
[out] Policy
驅動程式 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 結構的指標。
[in] TotalForwardProgressRequests
架構將嘗試保留供低記憶體使用的要求物件數目。 此數字必須大於零。
[in] EvtIoWdmIrpForForwardProgress
驅動程式 EvtIoWdmIrpForForwardProgress 回呼函式的指標。
傳回值
無
備註
WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT函式會零指定的WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY結構,並設定其 Size 成員。 它也會將結構的 TotalForwardProgressRequests 和ForwardProgressReservePolicySettings.Policy.ExaminePolicy.EvtIoWdmIrpForForwardProgress 成員設定為指定的值,並將 ForwardProgressReservedPolicy 成員設定為 WdfIoForwardProgressReservedPolicyUseExrestricted。
範例
下列程式代碼範例會初始化 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 結構, 然後呼叫 WdfIoQueueAssignForwardProgressPolicy。 在此範例中,驅動程式指定架構應該為低記憶體情況配置和保留 10 個要求物件,而且該架構應該在使用其中一個保留的要求物件之前,先呼叫驅動程式的 MyIoForwardExoneIrpForwardProgress 回呼函式。
#define MAX_RESERVED_REQUESTS 10
WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY queueForwardProgressPolicy;
WDFQUEUE readQueue;
NTSTATUS status = STATUS_SUCCESS;
WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT(
&queueForwardProgressPolicy,
MAX_RESERVED_REQUESTS,
MyIoForwardExamineIrpForForwardProgress
);
status = WdfIoQueueAssignForwardProgressPolicy(
readQueue,
&queueForwardProgressPolicy
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.9 |
標頭 | wdfio.h (包含 Wdf.h) |
另請參閱
WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT