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
STATUS_INVALID_PARAMETER
El controlador proporcionó un identificador no válido.
STATUS_NOT_FOUND
La solicitud identificada por el parámetro FoundRequest no se encuentra en la cola de E/S.
STATUS_NO_MORE_ENTRIES
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)

Consulte también

WdfIoQueueFindRequest

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject