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.
Retornar valor
Nenhum
Comentários
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 funções de retorno de chamada EvtTimerFunc como DPCs (chamadas de procedimento adiado). Portanto, quando um período de tempo se 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 em execução no IRQL < DISPATCH_LEVEL está disponível.
No KMDF versões 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 de temporizador 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 no PASSIVE_LEVEL chamar WdfObjectDelete, isso resultará em deadlock. Em vez disso, aguarde até que o pai exclua o temporizador automaticamente quando o dispositivo for removido ou, se você 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 |
---|---|
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 Observações. |