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) |