функция 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 драйвера.
Возвращаемое значение
None
Remarks
Функция 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