Condividi tramite


Routine KeXxxTimer, oggetti KTIMER e DPC

A partire da Windows 2000, è disponibile un set di routine KeXxxTimer per gestire i timer. Queste routine usano oggetti timer basati sulla struttura KTIMER . Per creare un oggetto timer, un driver alloca innanzitutto lo spazio di archiviazione per una struttura KTIMER . Il driver chiama quindi una routine come KeInitializeTimer o KeInitializeTimerEx per inizializzare questa struttura.

Un timer può essere impostato per scadere una sola volta o per scadere ripetutamente dopo un determinato intervallo. KeSetTimer imposta sempre un timer che scadrà una sola volta. KeSetTimerEx accetta un parametro Period facoltativo, che specifica un intervallo timer ricorrente.

Una routine CustomTimerDpc facoltativa (un tipo di chiamata di procedura posticipata) può essere associata a un timer di notifica o a un timer di sincronizzazione. Questa routine viene eseguita alla scadenza dell'intervallo di tempo specificato. Per altre informazioni, vedere Uso di oggetti timer.

Un timer può essere un timer di notifica o un timer di sincronizzazione.

  • Quando viene segnalato un timer di notifica, tutti i thread in attesa hanno la loro attesa soddisfatta. Lo stato del timer rimane segnalato fino a quando non viene reimpostato in modo esplicito.

  • Quando un timer di sincronizzazione scade, il relativo stato viene mantenuto su Segnalato fino al rilascio di un singolo thread in attesa. Il timer viene quindi reimpostato sullo stato Not-Signaled.

KeInitializeTimer crea sempre timer di notifica. KeInitializeTimerEx accetta un parametro Type , che può essere NotificationTimer o SynchronizationTimer.

Negli argomenti seguenti vengono fornite ulteriori informazioni sugli oggetti timer e sulle chiamate di procedura differite (DPC).

Uso di oggetti timer

Accuratezza timer

Registrazione e accodamento di una routine CustomTimerDpc

Fornitura di informazioni di contesto per CustomTimerDpc

Uso di una routine CustomTimerDpc