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:
-
WDF_IO_QUEUE_DRAINED, que devuelve TRUE si se purga la cola.
-
WDF_IO_QUEUE_IDLE, que devuelve TRUE si la cola está inactiva.
-
WDF_IO_QUEUE_PURGED, que devuelve TRUE si se purga la cola.
-
WDF_IO_QUEUE_READY, que devuelve TRUE si la cola está lista.
-
WDF_IO_QUEUE_STOPPED, que devuelve TRUE si se detiene la cola.
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) |