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 obtido de uma chamada anterior para WdfTimerCreate.
Valor de retorno
Nenhum
Observações
Para registrar uma função de retorno de chamada EvtTimerFunc e especificar o período de tempo que deve decorrer antes que a estrutura chame essa função, seu driver deve chamar WdfTimerCreate.
Em versões kmdf anteriores à versão 1.9, a estrutura implementa EvtTimerFunc funções de retorno de chamada como DPCs (chamadas de procedimento adiado). Portanto, quando um período de tempo decorrido, 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 chega à frente da fila e uma CPU que está em execução no IRQL < DISPATCH_LEVEL está disponível.
No KMDF versões 1.9 e posteriores, por padrão, a estrutura implementa EvtTimerFunc funções de retorno de chamada como DPCs. Como alternativa, se o driver definir o nível de execução do objeto de temporizador como WdfExecutionLevelPassive, a estrutura chamará a função de retorno de chamada EvtTimerFunc de um item de trabalho no IRQL = PASSIVE_LEVEL.
Nota
Se um EvtTimerFunc função de retorno de chamada em execução em PASSIVE_LEVEL chamadas WdfObjectDelete, isso resultará em deadlock. Em vez disso, aguarde que o pai exclua 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 Usando temporizadores.
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) |
IRQL | Consulte a seção Comentários. |