Compartir a través de


función WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT (wdfio.h)

[Solo se aplica a KMDF]

La función WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT inicializa la estructura de WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY de un controlador.

Sintaxis

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
);

Parámetros

[out] Policy

Puntero a la estructura de WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY del controlador.

[in] TotalForwardProgressRequests

Número de objetos de solicitud que el marco intentará reservar para su uso en situaciones de poca memoria. Este número debe ser mayor que cero.

[in] EvtIoWdmIrpForForwardProgress

Puntero a la función de devolución de llamada EvtIoWdmIrpForForwardProgress del controlador.

Valor devuelto

None

Observaciones

La función WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_EXAMINE_INIT cero la estructura de WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY especificada y establece su miembro Size . También establece los miembros TotalForwardProgressRequests yForwardProgressReservePolicySettings.Policy.ExaminePolicy.EvtIoWdmIrpForForwardProgress en los valores especificados y establece el miembro ForwardProgressReservedPolicy en WdfIoForwardProgressReservedPolicyUseExamine.

Ejemplos

En el ejemplo de código siguiente se inicializa una estructura de WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY y, a continuación, se llama a WdfIoQueueAssignForwardProgressPolicy. En el ejemplo, el controlador especifica que el marco debe asignar y reservar 10 objetos de solicitud para situaciones de poca memoria y que el marco debe llamar a la función de devolución de llamada MyIoForwardExamineIrpForForwardProgress del controlador antes de usar uno de los objetos de solicitud reservados.

#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
    );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1,9
Encabezado wdfio.h (incluir Wdf.h)

Consulte también

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_DEFAULT_INIT

WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY_PAGINGIO_INIT

WdfIoQueueAssignForwardProgressPolicy