Compartilhar via


Método IWDFIoQueue::P urge (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

O método Purge direciona a estrutura para rejeitar novas solicitações de E/S de entrada e cancelar todas as solicitações pendentes.

Sintaxe

void Purge(
  [in, optional] IQueueCallbackStateChange *pPurgeComplete
);

Parâmetros

[in, optional] pPurgeComplete

Um ponteiro para a interface IQueueCallbackStateChange cujo método a estrutura chama para entregar o estado da fila ao driver. A estrutura chama o método depois que todas as solicitações são canceladas. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

Nenhum

Comentários

A estrutura cancela solicitações não processadas na fila. Para solicitações entregues ao driver e marcadas como canceláveis, a estrutura chama IRequestCallbackCancel::OnCancel.

O driver deve garantir que apenas um dos seguintes métodos esteja em andamento a qualquer momento:

Por exemplo, se o driver anteriormente chamado Depurar, ele deverá aguardar a notificação do método da interface para o qual o parâmetro pPurgeComplete aponta antes de chamar Stop ou Drain. Violar essa regra resulta no encerramento do processo de host.

Exemplos

O exemplo de código a seguir mostra como parar solicitações para uma fila.

VOID
CUmdfHidFile::OnCleanupFile(
    __in IWDFFile* /* WdfFile */
    )
/*++
    This method handles the cleanup operation for the file object.  
    Because the file is disabled, no new reports should be added to the ring buffer.
--*/
{
    this->Disable();

    //
    // Stop all current requests to read reports.
    //

    m_GetReportQueue->Purge(NULL);
}

Requisitos

Requisito Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1.5
Cabeçalho wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Confira também

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop