Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A partir do Windows 2000, um conjunto de rotinas KeXxxTimer está disponível para gerenciar temporizadores. Essas rotinas usam objetos de temporizador que são baseados na estrutura KTIMER . Para criar um objeto de temporizador, um driver primeiro aloca armazenamento para uma estrutura KTIMER . Em seguida, o driver chama uma rotina como KeInitializeTimer ou KeInitializeTimerEx para inicializar essa estrutura.
Um temporizador pode ser configurado para expirar apenas uma vez ou para expirar repetidamente após um determinado intervalo. KeSetTimer sempre define um temporizador que expirará apenas uma vez. KeSetTimerEx aceita um parâmetro Period opcional, que especifica um intervalo de temporizador recorrente.
Uma rotina opcional CustomTimerDpc (um tipo de chamada de procedimento adiada) pode ser associada a um temporizador de notificação ou a um temporizador de sincronização. Essa rotina é executada quando o intervalo de tempo especificado expira. Para obter mais informações, consulte Usando objetos de temporizador.
Um temporizador pode ser um temporizador de notificação ou um temporizador de sincronização.
Quando um temporizador de notificação é sinalizado, todos os threads de espera têm sua espera satisfeita. O estado do temporizador permanece sinalizado até ser explicitamente reiniciado.
Quando um temporizador de sincronização expira, seu estado é definido como Sinalizado até que um único thread de espera seja liberado. Em seguida, o temporizador é redefinido para o estado Not-Signaled.
KeInitializeTimer sempre cria temporizadores de notificação. KeInitializeTimerEx aceita um parâmetro Type , que pode ser NotificationTimer ou SynchronizationTimer.
Os tópicos a seguir fornecem mais informações sobre objetos de timer e DPCs:
Usando objetos de temporizador
Registrando e enfileirando uma rotina CustomTimerDpc