EVT_WDF_TIMER función de devolución de llamada (wdftimer.h)

[Se aplica a KMDF y UMDF]

Se llama a la función de devolución de llamada de eventos EvtTimerFunc cuando ha transcurrido un período de tiempo especificado.

Sintaxis

EVT_WDF_TIMER EvtWdfTimer;

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

Parámetros

[in] Timer

Identificador de un objeto de temporizador de marco que se obtuvo de una llamada anterior a WdfTimerCreate.

Valor devuelto

None

Observaciones

Para registrar una función de devolución de llamada EvtTimerFunc y especificar el período de tiempo que debe transcurrir antes de que el marco llame a esta función, el controlador debe llamar a WdfTimerCreate.

En las versiones de KMDF anteriores a la versión 1.9, el marco implementa las funciones de devolución de llamada EvtTimerFunc como llamadas a procedimientos diferidos (DPC). Por lo tanto, cuando transcurre un período de tiempo, el sistema agrega una llamada a una función de devolución de llamada EvtTimerFunc a una cola DPC. El sistema llama a la función de devolución de llamada EvtTimerFunc en IRQL = DISPATCH_LEVEL cuando llega al frente de la cola y hay disponible una CPU que se ejecuta en irQL < DISPATCH_LEVEL.

En las versiones 1.9 y posteriores de KMDF, de forma predeterminada, el marco implementa las funciones de devolución de llamada EvtTimerFunc como DPC. Como alternativa, si el controlador establece el nivel de ejecución del objeto de temporizador en WdfExecutionLevelPassive, el marco llama a la función de devolución de llamada EvtTimerFunc desde un elemento de trabajo en IRQL = PASSIVE_LEVEL.

Nota

Si una función de devolución de llamada EvtTimerFunc que se ejecuta en PASSIVE_LEVEL llama a WdfObjectDelete, se produce un interbloqueo. En su lugar, espere a que el elemento primario elimine el temporizador automáticamente cuando se quite el dispositivo, o bien, si necesita eliminar temprano, programe un elemento de trabajo desde la devolución de llamada del temporizador para eliminar el temporizador.

A partir de la versión 2.0 de UMDF, las funciones de devolución de llamada EvtTimerFunc del controlador UMDF siempre se ejecutan en PASSIVE_LEVEL.

Para obtener más información sobre los objetos de temporizador del marco, vea Uso de temporizadores.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdftimer.h (incluya Wdf.h)
IRQL vea la sección Comentarios.

Consulte también

WdfTimerCreate