Поделиться через


функция 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 заданные значения, а для члена ForwardProgressReservedPolicyWdfIoForwardProgressReservedPolicyUseExamine.

Примеры

В следующем примере кода инициализируется структура 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

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT

WdfIoQueueAssignForwardProgressPolicy