EVT_WDF_TIMER função de retorno de chamada (wdftimer.h)

[Aplica-se a KMDF e UMDF]

A função de retorno de chamada de evento EvtTimerFunc é chamada quando um período de tempo especificado tiver decorrido.

Sintaxe

EVT_WDF_TIMER EvtWdfTimer;

void EvtWdfTimer(
  [in] WDFTIMER Timer
)
{...}

Parâmetros

[in] Timer

Um identificador para um objeto de temporizador de estrutura que foi obtido de uma chamada anterior para WdfTimerCreate.

Valor retornado

Nenhum

Comentários

Para registrar uma função de retorno de chamada EvtTimerFunc e especificar o período de tempo que deve passar antes que a estrutura chame essa função, o driver deve chamar WdfTimerCreate.

Em versões KMDF anteriores à versão 1.9, a estrutura implementa funções de retorno de chamada EvtTimerFunc como DPCs (chamadas de procedimento adiado). Portanto, quando um período de tempo passa, o sistema adiciona uma chamada a uma função de retorno de chamada EvtTimerFunc a uma fila DPC. O sistema chama a função de retorno de chamada EvtTimerFunc em IRQL = DISPATCH_LEVEL quando atinge a frente da fila e uma CPU que está em execução no IRQL < DISPATCH_LEVEL está disponível.

Nas versões kmdf 1.9 e posteriores, por padrão, a estrutura implementa funções de retorno de chamada EvtTimerFunc como DPCs. Como alternativa, se o driver definir o nível de execução do objeto timer como WdfExecutionLevelPassive, a estrutura chamará a função de retorno de chamada EvtTimerFunc de um item de trabalho em IRQL = PASSIVE_LEVEL.

Observação

Se uma função de retorno de chamada EvtTimerFunc em execução em PASSIVE_LEVEL chamar WdfObjectDelete, isso resultará em deadlock. Em vez disso, aguarde o pai excluir o temporizador automaticamente quando o dispositivo for removido - ou, se precisar excluir antecipadamente, agende um item de trabalho do retorno de chamada do temporizador para excluir o temporizador.

A partir do UMDF versão 2.0, as funções de retorno de chamada EvtTimerFunc de um driver UMDF sempre são executadas em PASSIVE_LEVEL.

Para obter mais informações sobre objetos de temporizador de estrutura, consulte Using Timers.

Requisitos

   
Plataforma de Destino Universal
Versão mínima do KMDF 1,0
Versão mínima do UMDF 2,0
Cabeçalho wdftimer.h (include Wdf.h)
IRQL Consulte a seção Observações.

Confira também

WdfTimerCreate