Compartilhar via


Função WdfTimerStop (wdftimer.h)

[Aplica-se a KMDF e UMDF]

O método WdfTimerStop interrompe o relógio de um temporizador.

Sintaxe

BOOLEAN WdfTimerStop(
  [in] WDFTIMER Timer,
  [in] BOOLEAN  Wait
);

Parâmetros

[in] Timer

Um identificador para um objeto de temporizador de estrutura que foi obtido chamando WdfTimerCreate.

[in] Wait

KMDF um valor booliano que, se TRUE, especifica que a estrutura não retorna até que todas as chamadas enfileiradas para as DPCs (chamadas de procedimento adiado) do driver, incluindo as do driver EvtTimerFunc funções de retorno de chamada, tenham sido executadas.

UMDF um valor booliano que, se TRUE, especifica que a estrutura não retorna até que todas as chamadas enfileiradas para a função de retorno de chamada do temporizador EvtTimerFunc tenham sido executadas.

Valor de retorno

WdfTimerStop retornará VERDADEIRO se o objeto do temporizador estiver na fila do temporizador do sistema. Caso contrário, esse método retornará FALSE . Para obter mais informações, consulte a seção Comentários a seguir.

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

Observações

Quando um driver chama WdfTimerStart, seu objeto de temporizador é adicionado à fila de objetos do temporizador do sistema. Se o temporizador não for um temporizador periódico, o sistema removerá o objeto de temporizador da fila depois que o "tempo de conclusão" do temporizador tiver decorrido. Se o temporizador for um temporizador periódico, o objeto de temporizador permanecerá na fila até que o driver chame WdfTimerStop.

Para obter mais informações sobre objetos de temporizador de estrutura, consulte Usando temporizadores.

WdfTimerStop deve ser chamado em IRQL = PASSIVE_LEVEL se o parâmetro Wait for VERDADEIRO. Caso contrário, esse método deve ser chamado em IRQL <= DISPATCH_LEVEL.

Não chame WdfTimerStop de dentro EvtTimerFunc com o parâmetro Wait definido como TRUE. Isso pode resultar em deadlock.

Cuidado

Chamadas simultâneas para WdfTimerStop no mesmo objeto de temporizador invadirão o depurador se o Verificador estiver habilitado. Para obter mais informações, consulte Usando o verificador KMDF.

Exemplos

O exemplo de código a seguir interrompe um temporizador especificado e aguarda que todos os DPCs enfileirados do driver sejam executados.

WdfTimerStop(
             timerHandle,
             TRUE
             );

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 wdftimer.h (inclua Wdf.h)
biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL Consulte a seção Comentários.
regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte também

EvtTimerFunc

WdfTimerCreate

WdfTimerStart