Función WdfIoQueueRetrieveFoundRequest (wdfio.h)
[Se aplica a KMDF y UMDF]
El método WdfIoQueueRetrieveFoundRequest entrega una solicitud especificada al controlador para que el controlador pueda procesar la solicitud.
Sintaxis
NTSTATUS WdfIoQueueRetrieveFoundRequest(
[in] WDFQUEUE Queue,
[in] WDFREQUEST FoundRequest,
[out] WDFREQUEST *OutRequest
);
Parámetros
[in] Queue
Identificador de un objeto de cola de marco.
[in] FoundRequest
Identificador de un objeto de solicitud de marco que se obtuvo mediante una llamada a WdfIoQueueFindRequest.
[out] OutRequest
Puntero a una ubicación que recibe un identificador de un objeto de solicitud de marco. El controlador debe usar este identificador al procesar la solicitud.
Valor devuelto
WdfIoQueueRetrieveFoundRequest 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 |
---|---|
|
El controlador proporcionó un identificador no válido. |
|
La solicitud identificada por el parámetro FoundRequest no se encuentra en la cola de E/S. |
|
El marco alcanzó el final de la cola de E/S sin encontrar una solicitud que coincida con los criterios de búsqueda. |
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
Después de llamar a WdfIoQueueRetrieveFoundRequest para obtener una solicitud de E/S, el controlador posee la solicitud y debe procesar la solicitud de E/S de alguna manera.
Antes de llamar a WdfIoQueueRetrieveFoundRequest, el controlador debe llamar a WdfIoQueueFindRequest, que recupera un identificador que el controlador puede usar como parámetro FoundRequest para WdfIoQueueRetrieveFoundRequest.
Si el controlador se creó con la versión 1.11 o posterior de KMDF, el controlador puede llamar a WdfIoQueueRetrieveFoundRequest sin llamar primero a WdfIoQueueFindRequest. En este caso, el controlador debe asegurarse de que el objeto de solicitud sigue siendo válido y en la cola.
Si una llamada a WdfIoQueueRetrieveFoundRequest devuelve STATUS_NOT_FOUND, se ha quitado una solicitud que se encontraba anteriormente en la cola. Es posible que se haya cancelado la solicitud.
Para obtener más información sobre el método WdfIoQueueRetrieveFoundRequest , vea Administración de colas de E/S.
Ejemplos
Para obtener un ejemplo de código que usa WdfIoQueueRetrieveFoundRequest, vea WdfIoQueueFindRequest.
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 (incluya 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), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf) |