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