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:

Se o driver usar a sincronização automática da estrutura, o status da fila de E/S não será alterado entre a hora em que o método WdfIoQueueGetState obtiver informações status da estrutura e a hora em que o método retornar. Caso contrário, a status da fila poderá ser alterada antes que o método WdfIoQueueGetState retorne.

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)

Confira também

EvtIoQueueState

WDF_IO_QUEUE_STATE