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 llamando 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 de retorno | 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 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
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 kmDF versión 1.11 o posterior, 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 de WdfIoQueueRetrieveFoundRequest, vea Administración de colas de E/S.
Ejemplos
Para obtener un ejemplo de código que use WdfIoQueueRetrieveFoundRequest, vea WdfIoQueueFindRequest.
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), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf) |