How do activity timers work?
When it starts up, the Power Manager reads the registry to get a list of activity timer names. For each timer, it looks for a time-out (in seconds) and an optional list of wake sources. It then creates three named events: • A timer reset event (this is an auto-reset event) • An “active” manual-reset event • An “inactive” manual-reset event If the time-out associated with the timer expires without the reset event being signaled, the Power Manager resets the “active” event and sets the “inactive” event. If the reset event is signaled, the Power Manager resets the “inactive” event and sets the “active” event. Any number of drivers may open handles to the activity timer’s reset event, preferably using OpenEvent(), and signal it with SetEvent() when appropriate. Drivers should read the name of the event from the registry—this allows OEMs to decide how that driver’s activity should be interpreted by the Power Manager. Any number of threads may open handles to the manual-reset activity/inacti