Timer Objects

Any driver can use a timer object within a nonarbitrary thread context to time-out operations in the driver's other routines, or to schedule operations to be performed periodically. Starting with Windows 2000, timer objects based on the KTIMER structure are available to use with KeSetTimer and the other KeXxxTimer routines. Starting with Windows 8.1, timer objects based on the EX_TIMER structure are available to use with ExSetTimer and the other ExXxxTimer routines. Timer objects based on the KTIMER and EX_TIMER structures are kernel dispatcher objects that are signaled when a timer expires. Timer expiration can be periodic or one-shot (nonperiodic).

In this section

TopicDescription

KeXxxTimer Routines, KTIMER Objects, and DPCs

Starting with Windows 2000, a set of KeXxxTimer routines is available to manage timers. These routines use timer objects that are based on the KTIMER structure. To create a timer object, a driver first allocates storage for a KTIMER structure. Then the driver calls a routine such as KeInitializeTimer or KeInitializeTimerEx to initialize this structure.

ExXxxTimer Routines and EX_TIMER Objects

Starting with Windows 8.1, a comprehensive set of ExXxxTimer routines is available to manage timers. These routines use timer objects that are based on the EX_TIMER structure. The ExXxxTimer routines are replacements for the KeXxxTimer routines, which are available starting with Windows 2000. Drivers intended to run only on Windows 8.1 and later versions of Windows can use the ExXxxTimer routines instead of the KeXxxTimer routines.

 

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft