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

指向驱动程序的 EvtIoWdmIrpForwardProgress 回调函数的指针。

返回值

备注

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT函数将指定的WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY结构归零并设置其 Size 成员。 它还将该结构的 TotalForwardProgressRequests ForwardProgressReservePolicySettings.Policy.ExaminePolicy.EvtIoWdmIrpForwardProgressProgress 成员设置为指定值,并将 ForwardProgressReservedPolicy 成员设置为 WdfIoForwardProgressReservedPolicyUseExamine

示例

下面的代码示例初始化 WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY 结构,然后调用 WdfIoQueueAssignForwardProgressPolicy。 在此示例中,驱动程序指定框架应为内存不足的情况分配和保留 10 个请求对象,并且框架在使用保留请求对象之一之前应调用驱动程序的 MyIoForwardExamineIrpForwardProgress 回调函数。

#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