[仅适用于 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