Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A partir do Windows 2000, um conjunto de rotinas ke xxxtimer está disponível para gerenciar temporizadores. Essas rotinas usam objetos de temporizador baseados na estrutura KTIMER . Para criar um objeto de temporizador, um driver primeiro aloca o armazenamento para uma estrutura KTIMER . Em seguida, o driver chama uma rotina como KeInitializeTimer ou KeInitializeTimerEx para inicializar essa estrutura.
Um temporizador pode ser definido para expirar apenas uma vez ou expirar repetidamente após um determinado intervalo. KeSetTimer sempre define um temporizador que expirará apenas uma vez. KeSetTimerEx aceita um parâmetro de Período opcional, que especifica um intervalo de temporizador recorrente.
Uma rotina customTimerDpc opcional (um tipo de chamada de procedimento adiado) 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 Como usar objetos de temporizador.
Um temporizador pode ser um temporizador de notificação ou um temporizador de sincronização.
Quando um temporizador de notificação é ativado, todos os encadeamentos de espera terão sua espera concluída. O estado do temporizador permanece sinalizado até que seja redefinido explicitamente.
Quando um temporizador de sincronização expira, seu estado é definido como Sinalizado até que uma única thread de espera seja liberada. 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 temporizador e DPCs:
Usando objetos de temporizador
Registrando e enfileirando uma rotina CustomTimerDpc