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:
Este método también puede devolver otros valores de NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Observaciones
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 puede 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 Métodos de distribución para solicitudes de E/S.
Después de llamar a WdfIoQueueRetrieveNextRequest para obtener una solicitud de E/S, el controlador posee la solicitud y debe procesar el de solicitud de E/S de alguna manera.
Para obtener más información sobre el método de WdfIoQueueRetrieveNextRequest, consulte 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 | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
versión mínima de UMDF | 2.0 |
encabezado | wdfio.h (incluya Wdf.h) |
Biblioteca | 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) |