Compartir a través de


Función WdfIoQueueGetState (wdfio.h)

[Se aplica a KMDF y UMDF]

El método WdfIoQueueGetState devuelve el estado de una cola de E/S especificada.

Sintaxis

WDF_IO_QUEUE_STATE WdfIoQueueGetState(
  [in]            WDFQUEUE Queue,
  [out, optional] PULONG   QueueRequests,
  [out, optional] PULONG   DriverRequests
);

Parámetros

[in] Queue

Identificador de un objeto de cola de marco.

[out, optional] QueueRequests

Puntero a una ubicación que recibe el número de solicitudes de E/S que se encuentran actualmente en la cola de E/S y que no se han entregado al controlador. Este puntero es opcional y puede ser NULL.

[out, optional] DriverRequests

Puntero a una ubicación que recibe el número de solicitudes de E/S que se han entregado al controlador, pero que el controlador no se ha completado o cancelado. Este puntero es opcional y puede ser NULL.

Valor devuelto

WdfIoQueueGetState devuelve un valor con tipo WDF_IO_QUEUE_STATE, que puede contener el or bit a bit de varios enumeradores de WDF_IO_QUEUE_STATE .

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Después de llamar a WdfIoQueueGetState, el controlador puede pasar el valor de estado recibido a las siguientes funciones, que se definen en Wdfio.h:

Si el controlador usa la sincronización automática del marco, el estado de la cola de E/S no cambiará entre el momento en que el método WdfIoQueueGetState obtiene información de estado del marco y la hora en que devuelve el método. De lo contrario, el estado de la cola podría cambiar antes de que se devuelva el método WdfIoQueueGetState .

Para obtener más información sobre el método WdfIoQueueGetState , vea Obtener propiedades de cola de E/S.

Ejemplos

El ejemplo de código siguiente es una rutina que devuelve TRUE si una cola de E/S especificada está inactiva.

BOOLEAN
IsQueueIdle(
    IN WDFQUEUE Queue
    )
{
    WDF_IO_QUEUE_STATE queueStatus;
    queueStatus = WdfIoQueueGetState(
                                     Queue,
                                     NULL,
                                     NULL
                                     );
    return (WDF_IO_QUEUE_IDLE(queueStatus)) ? TRUE : FALSE;
}

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 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

EvtIoQueueState

WDF_IO_QUEUE_STATE