Compartir a través de


Función WdfIoQueueRetrieveRequestByFileObject (wdfio.h)

[Se aplica a KMDF y UMDF]

El método WdfIoQueueRetrieveRequestByFileObject recupera la siguiente solicitud de E/S disponible, de una cola de E/S especificada, asociada a un objeto de archivo especificado.

Sintaxis

NTSTATUS WdfIoQueueRetrieveRequestByFileObject(
  [in]  WDFQUEUE      Queue,
  [in]  WDFFILEOBJECT FileObject,
  [out] WDFREQUEST    *OutRequest
);

Parámetros

[in] Queue

Identificador de un objeto de cola de marco.

[in] FileObject

Identificador de un objeto de archivo de marco.

[out] OutRequest

Puntero a una ubicación que recibe un identificador de un objeto de solicitud de marco. Si WdfIoQueueRetrieveRequestByFileObject no devuelve STATUS_SUCCESS, no establece el valor de la ubicación.

Valor devuelto

WdfIoQueueRetrieveRequestByFileObject 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.
 

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

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

Después de llamar a WdfIoQueueRetrieveRequestByFileObject 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 WdfIoQueueRetrieveRequestByFileObject , vea Administración de colas de E/S.

Ejemplos

En el ejemplo de código siguiente se obtiene, de una cola de E/S especificada, un identificador al siguiente objeto de solicitud de marco asociado a un objeto de archivo de marco especificado.

WDFREQUEST  request;

status = WdfIoQueueRetrieveRequestByFileObject(
                                               queue,
                                               fileObject,
                                               &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)

Consulte también

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveNextRequest