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 adiadas) do driver, incluindo as funções de retorno de chamada EvtTimerFunc do driver, 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 EvtTimerFunc do temporizador sejam executadas.

Retornar valor

WdfTimerStop retornará TRUE se o objeto de 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.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

Quando um driver chama WdfTimerStart, seu objeto de temporizador é adicionado à fila de objetos de temporizador do sistema. Se o temporizador não for um temporizador periódico, o sistema removerá o objeto timer 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 TRUE. Caso contrário, esse método deve ser chamado em IRQL <= DISPATCH_LEVEL.

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

Exemplos

O exemplo de código a seguir interrompe um temporizador especificado e aguarda a execução de todos os DPCs enfileirados do driver.

WdfTimerStop(
             timerHandle,
             TRUE
             );

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 wdftimer.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL Consulte a seção Observações.
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

EvtTimerFunc

WdfTimerCreate

WdfTimerStart