Compartilhar via


Função WdfIoQueuePurgeSynchronously (wdfio.h)

[Aplica-se a KMDF e UMDF]

O método WdfIoQueuePurgeSynchronously faz com que a estrutura pare de enfileirar solicitações de E/S para uma fila de E/S e cancele solicitações não processadas e solicitações canceláveis de propriedade do driver.

Sintaxe

VOID WdfIoQueuePurgeSynchronously(
  [in] WDFQUEUE Queue
);

Parâmetros

[in] Queue

Um identificador para um objeto de fila de estrutura.

Valor de retorno

Nenhum

Observações

Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.

Depois que um driver chama WdfIoQueuePurgeSynchronously, a estrutura para de adicionar solicitações de E/S à fila especificada. A estrutura cancela todas as solicitações que não entregou ao driver. Se a estrutura receber solicitações adicionais para a fila, ela as concluirá com um valor de status de conclusão de STATUS_INVALID_DEVICE_STATE.

WdfIoQueuePurgeSynchronously retorna depois que todas as solicitações não processadas e de propriedade do driver forem concluídas ou canceladas.

Depois que um driver limpar uma fila de E/S, ele poderá reiniciar a fila chamando WdfIoQueueStart.

Não chame WdfIoQueuePurgeSynchronously das seguintes funções de retorno de chamada de evento de objeto de fila, independentemente da fila com a qual a função de retorno de chamada de evento está associada:

método EvtIoDefaultEvtIoDeviceControlEvtIoInternalDeviceControlEvtIoReadEvtIoWrite Para obter mais informações sobre o método WdfIoQueuePurgeSynchronously, consulte Managing I/O Queues.

Exemplos

O exemplo de código a seguir limpa uma fila de E/S especificada.

WdfIoQueuePurgeSynchronously(ReadQueue);

Requisitos

Requisito Valor
da 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 PASSIVE_LEVEL
regras de conformidade de DDI ChangeQueueState(kmdf), DriverCreate(kmdf), EvtSurpriseRemoveNoSuspendQueue(kmdf), kmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NoCancelFromEvtSurpriseRemove(kmdf), NoIoQueuePurgeSynchronously(kmdf)

Consulte também

WdfIoQueuePurge