Compartir a través de


Función WdfIoQueueRetrieveNextRequest (wdfio.h)

[Se aplica a KMDF y UMDF]

El método WdfIoQueueRetrieveNextRequest recupera la siguiente solicitud de E/S disponible de una cola de E/S especificada.

Sintaxis

NTSTATUS WdfIoQueueRetrieveNextRequest(
  [in]  WDFQUEUE   Queue,
  [out] WDFREQUEST *OutRequest
);

Parámetros

[in] Queue

Identificador de un objeto de cola de marco.

[out] OutRequest

Puntero a una ubicación que recibe un identificador de un objeto de solicitud de marco. Si la cola está vacía o se ha recuperado la última solicitud, este parámetro recibe NULL.

Valor devuelto

WdfIoQueueRetrieveNextRequest devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
El controlador proporcionó un identificador no válido.
STATUS_NO_MORE_ENTRIES
El marco alcanzó el final de la cola de E/S.
STATUS_INVALID_DEVICE_STATE
La cola de E/S especificada está configurada para el método de distribución en paralelo.
STATUS_WDF_PAUSED
La cola de E/S especificada está administrada por energía y su dispositivo está en estado de bajo consumo o se detiene la cola especificada.
 

Este método también podría devolver otros valores NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Si un controlador configura una cola de E/S para el envío manual de solicitudes de E/S, el controlador normalmente llama a WdfIoQueueRetrieveNextRequest para obtener solicitudes de la cola. Un controlador que ha configurado una cola de E/S para el envío secuencial también podría llamar a WdfIoQueueRetrieveNextRequest. Para obtener más información sobre el uso de WdfIoQueueRetrieveNextRequest con los métodos de distribución manual o secuencial, vea Dispatching Methods for I/O Requests.

Después de llamar a WdfIoQueueRetrieveNextRequest para obtener una solicitud de E/S, el controlador posee la solicitud y debe procesar la solicitud de E/ S de alguna manera.

Para obtener más información sobre el método WdfIoQueueRetrieveNextRequest , vea Administración de colas de E/S.

Ejemplos

En el ejemplo de código siguiente se obtiene un identificador para el siguiente objeto de solicitud contenido en la cola de E/S de un dispositivo.

NTSTATUS  status;
WDFREQUEST  request;

status = WdfIoQueueRetrieveNextRequest(
                                       pDeviceContext->ReadQueue,
                                       &request
                                       );

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)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), wdfioqueueretrievenextrequest, WdfIoQueueRetrieveNextRequest(kmdf)

Consulte también

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveRequestByFileObject