Compartir a través de


Rutinas KeXxxTimer, objetos KTIMER y DPC

A partir de Windows 2000, hay disponible un conjunto de rutinas keXxxTimer para administrar temporizadores. Estas rutinas usan objetos de temporizador basados en la estructura KTIMER . Para crear un objeto de temporizador, un controlador asigna primero almacenamiento para una estructura KTIMER . A continuación, el controlador llama a una rutina como KeInitializeTimer o KeInitializeTimerEx para inicializar esta estructura.

Se puede establecer un temporizador para que expire solo una vez o que expire repetidamente después de un intervalo determinado. KeSetTimer siempre establece un temporizador que expirará solo una vez. KeSetTimerEx acepta un parámetro Period opcional, que especifica un intervalo de temporizador periódico.

Una rutina customTimerDpc opcional (un tipo de llamada a procedimiento diferido) se puede asociar a un temporizador de notificación o a un temporizador de sincronización. Esta rutina se ejecuta cuando expira el intervalo de tiempo especificado. Para obtener más información, vea Uso de objetos de temporizador.

Un temporizador puede ser un temporizador de notificación o un temporizador de sincronización.

  • Cuando se señala un temporizador de notificación, todos los subprocesos en espera tienen satisfecho su espera. El estado del temporizador permanece señalado hasta que se restablece explícitamente.

  • Cuando expira un temporizador de sincronización, su estado se establece en Señalizado hasta que se desbloquea un único hilo en espera. A continuación, el temporizador se restablece al estado Not-Signaled.

KeInitializeTimer siempre crea temporizadores de notificación. KeInitializeTimerEx acepta un parámetro Type , que puede ser NotificationTimer o SynchronizationTimer.

En los temas siguientes se proporciona más información sobre objetos de temporizador y DPC:

Uso de objetos de temporizador

Precisión del temporizador

Registro y puesta en cola de una rutina CustomTimerDpc

Proporcionar información de contexto de CustomTimerDpc

Uso de una rutina CustomTimerDpc