Compartilhar via


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.

Consulte também

WdfTimerCreate