Routines KeXxxTimer, objets KTIMER et PDC
À compter de Windows 2000, un ensemble de routines KeXxxTimer est disponible pour gérer les minuteurs. Ces routines utilisent des objets minuteurs basés sur la structure KTIMER . Pour créer un objet minuteur, un pilote alloue d’abord le stockage pour une structure KTIMER . Ensuite, le pilote appelle une routine telle que KeInitializeTimer ou KeInitializeTimerEx pour initialiser cette structure.
Un minuteur peut être défini pour expirer une seule fois ou pour expirer à plusieurs reprises après un intervalle donné. KeSetTimer définit toujours un minuteur qui expirera une seule fois. KeSetTimerEx accepte un paramètre Period facultatif, qui spécifie un intervalle de minuteur périodique.
Une routine CustomTimerDpc facultative (type d’appel de procédure différée) peut être associée à un minuteur de notification ou à un minuteur de synchronisation. Cette routine s’exécute lorsque l’intervalle de temps spécifié expire. Pour plus d’informations, consultez Utilisation d’objets minuteur.
Un minuteur peut être un minuteur de notification ou un minuteur de synchronisation.
Lorsqu’un minuteur de notification est signalé, tous les threads en attente ont leur attente satisfaite. L’état du minuteur reste signalé jusqu’à ce qu’il soit explicitement réinitialisé.
Lorsqu’un minuteur de synchronisation expire, son état est défini sur Signaled jusqu’à ce qu’un seul thread en attente soit libéré. Ensuite, le minuteur est réinitialisé à l’état Not-Signaled.
KeInitializeTimer crée toujours des minuteurs de notification. KeInitializeTimerEx accepte un paramètre Type , qui peut être NotificationTimer ou SynchronizationTimer.
Les rubriques suivantes fournissent plus d’informations sur les objets du minuteur et les PDC :
Inscription et mise en file d’attente d’une routine CustomTimerDpc