共用方式為


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 成員設定為 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

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT

WdfIoQueueAssignForwardProgressPolicy