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

[Se aplica a KMDF y UMDF]

La función de devolución de llamada de eventos EvtIoRead de un controlador procesa una solicitud de lectura especificada.

Sintaxis

EVT_WDF_IO_QUEUE_IO_READ EvtWdfIoQueueIoRead;

void EvtWdfIoQueueIoRead(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request,
  [in] size_t Length
)
{...}

Parámetros

[in] Queue

Identificador del objeto de cola de marco asociado a la solicitud de E/S.

[in] Request

Identificador de un objeto de solicitud de marco.

[in] Length

Número de bytes que se va a leer.

Valor devuelto

None

Observaciones

Un controlador registra una función de devolución de llamada EvtIoRead cuando llama a WdfIoQueueCreate. Para obtener más información sobre cómo llamar a WdfIoQueueCreate, vea Creating I/O Queues.

Si un controlador ha registrado una función de devolución de llamada EvtIoRead para la cola de E/S de un dispositivo, la función de devolución de llamada recibe cada solicitud de lectura de la cola. Para obtener más información, vea Controladores de solicitudes.

La función de devolución de llamada EvtIoRead debe procesar cada solicitud de E/S recibida de alguna manera. Para obtener más información, consulte Procesamiento de solicitudes de E/S.

Las solicitudes de lectura requieren un búfer de salida, que recibe los datos que proporciona el controlador. Para obtener información sobre cómo el controlador puede acceder al búfer de una solicitud de lectura, consulte Acceso a los búferes de datos en Framework-Based controladores.

Se puede llamar a esta función de devolución de llamada en IRQL <= DISPATCH_LEVEL, a menos que el miembro ExecutionLevel de la estructura de WDF_OBJECT_ATTRIBUTES del dispositivo o controlador esté establecido en WdfExecutionLevelPassive.

Si irQL está PASSIVE_LEVEL, el marco llama a la función de devolución de llamada dentro de una región crítica.

Para obtener más información sobre los niveles de IRQL para los controladores de solicitudes, consulte Uso de la sincronización automática.

La función de devolución de llamada EvtIoRead de un controlador no debe llamar a los siguientes métodos de objeto de cola:

WdfIoQueueDrainSynchronously
WdfIoQueuePurgeSynchronously
WdfIoQueueStopSynchronously

Requisitos

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

Consulte también

EvtIoDefault

EvtIoWrite

WDF_OBJECT_ATTRIBUTES

WdfIoQueueCreate