Função WdfIoQueueGetState (wdfio.h)
[Aplica-se a KMDF e UMDF]
O método WdfIoQueueGetState retorna o status de uma fila de E/S especificada.
Sintaxe
WDF_IO_QUEUE_STATE WdfIoQueueGetState(
[in] WDFQUEUE Queue,
[out, optional] PULONG QueueRequests,
[out, optional] PULONG DriverRequests
);
Parâmetros
[in] Queue
Um identificador para um objeto de fila de estrutura.
[out, optional] QueueRequests
Um ponteiro para um local que recebe o número de solicitações de E/S que estão atualmente na fila de E/S e não foram entregues ao driver. Esse ponteiro é opcional e pode ser NULL.
[out, optional] DriverRequests
Um ponteiro para um local que recebe o número de solicitações de E/S que foram entregues ao driver, mas que o driver não foi concluído ou cancelado. Esse ponteiro é opcional e pode ser NULL.
Retornar valor
WdfIoQueueGetState retorna um valor do tipo WDF_IO_QUEUE_STATE, que pode conter o OR bit a bit de vários enumeradores WDF_IO_QUEUE_STATE .
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Comentários
Depois de chamar WdfIoQueueGetState, o driver pode passar o valor de estado recebido para as seguintes funções, que são definidas em Wdfio.h:
-
WDF_IO_QUEUE_DRAINED, que retornará TRUE se a fila for drenada.
-
WDF_IO_QUEUE_IDLE, que retornará TRUE se a fila estiver ociosa.
-
WDF_IO_QUEUE_PURGED, que retornará TRUE se a fila for limpa.
-
WDF_IO_QUEUE_READY, que retornará TRUE se a fila estiver pronta.
-
WDF_IO_QUEUE_STOPPED, que retornará TRUE se a fila for interrompida.
Para obter mais informações sobre o método WdfIoQueueGetState , consulte Obtendo propriedades de fila de E/S.
Exemplos
O exemplo de código a seguir é uma rotina que retorna TRUE se uma fila de E/S especificada estiver ociosa.
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 | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfio.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |