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

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT

WdfIoQueueAssignForwardProgressPolicy