EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS función de devolución de llamada (wdfio.h)

[Solo se aplica a KMDF]

La función de devolución de llamada EvtIoWdmIrpForForwardProgress de un controlador examina un paquete de solicitud de E/S (IRP) y determina si se debe usar un objeto de solicitud reservado para procesar la solicitud de E/S o para producir un error en la solicitud de E/S.

Sintaxis

EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS EvtWdfIoWdmIrpForForwardProgress;

WDF_IO_FORWARD_PROGRESS_ACTION EvtWdfIoWdmIrpForForwardProgress(
  [in] WDFQUEUE Queue,
  [in] PIRP Irp
)
{...}

Parámetros

[in] Queue

Identificador de un objeto de cola de E/S.

[in] Irp

Puntero a una estructura IRP.

Valor devuelto

La función de devolución de llamada EvtIoWdmIrpForForwardProgress debe devolver un valor con tipo WDF_IO_FORWARD_PROGRESS_ACTION.

Comentarios

Un controlador puede registrar una función de devolución de llamada EvtIoWdmIrpForforwardProgress cuando llama a WdfIoQueueAssignForwardProgressPolicy.

Si el controlador registra una función de devolución de llamada EvtIoWdmIrpForforwardProgress , el marco llama a la función si existen todas las condiciones siguientes:

  • El marco ha recibido un paquete de solicitud de E/S (IRP) que el administrador de E/S envía al controlador.
  • El marco ha intentado crear un objeto de solicitud para irP, pero se produjo un error en el intento.
  • El controlador ha habilitado el progreso hacia delante garantizado para la cola de E/S que debe recibir el objeto de solicitud, con el tipo de directiva establecido en WdfIoForwardProgressReservedPolicyUseExamine.
El marco pasa el IRP a la función de devolución de llamada EvtIoWdmIrpForForwardProgress . La función de devolución de llamada debe examinar el IRP y determinar si el marco debe usar uno de sus objetos de solicitud reservados para irP o (si el IRP no es importante cuando la memoria disponible del equipo es baja) produce un error en la solicitud de E/S sin entregarla al controlador. El valor devuelto de la función de devolución de llamada especifica la acción que debe realizar el marco.

Para obtener más información sobre la función de devolución de llamada EvtIoWdmIrpForforwardProgress , consulte Garantizar el progreso hacia delante de las operaciones de E/S.

Se puede llamar a esta función de devolución de llamada en IRQL <= DISPATCH_LEVEL. Si irQL está PASSIVE_LEVEL, el marco llama a la función de devolución de llamada dentro de una región crítica.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1,9
Encabezado wdfio.h (incluir Wdf.h)
IRQL <= DISPATCH_LEVEL (consulte la sección Comentarios)

Consulte también

EvtIoAllocateRequestResources

EvtIoAllocateResourcesForReservedRequest