[僅適用於 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 成員設定為 WdfIoForwardProgressReservedPolicyUseExamine。
範例
下列程式代碼範例會初始化 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 結構,然後呼叫 WdfIoQueueAssignForwardProgressPolicy。 在此範例中,驅動程式會指定架構應該配置並保留 10 個要求物件以供記憶體不足的情況使用,而且架構應該先呼叫驅動程式的 MyIoForwardExamineIrpForForwardProgress 回呼函式,再使用其中一個保留的要求物件。
#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
);
需求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.9 |
標題 | wdfio.h (包括 Wdf.h) |
另請參閱
WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT