Timer Events

[This is preliminary documentation and subject to change.]

Timer events are events that either occur once at a particular time of day or repeatedly at regular intervals. Unlike all other types of events, timer events require explicit action by the consumer in order for them to occur. Notifications of timer events are sent by CIMOM.

There are two types of timer events:

Absolute timer events occur at particular times; interval timer events occur periodically. Both timer event classes derive from the system class __TimerInstruction. The __TimerInstruction class has two properties: TimerId and SkipIfPassed. The TimerId property is a unique user-assigned string that specifies the identifier for the events generated by this instruction. Each event generated by a timer instruction contains that instruction's TimerId property as its own TimerId property. SkipIfPassed defaults to FALSE, indicating that if an event occurs when CIMOM is unavailable, a belated notification is generated.

The __AbsoluteTimerInstruction class causes an event to occur only once at a specified date and time. This class has one property, EventDateTime, that consumers use to specify when the timer fires and the event occurs. EventDateTime is a fixed-length and fixed-format string that uses the DMTF time format shown as follows:

yyyymmddhhxxss.uuuuuuuu+GMT

Because the DMTF time format always has an explicit offset from GMT (Greenwich Mean Time), specifying the time zone is the job of the consumer. The GMT offset is in minutes. ‹.For more information about using this representation, see the DateTime topic in the Win32 Programmer's Reference. ›

The following table describes the valid contents for each portion of the EventDateTime property:

Part of EventDateTime property Description
yyyy Year, such as 1997 or 2000
mm Month, such as 07 or 12
dd Day, such as 01 or 30
hh Hour in military format, such as 14
xx Minute, such as 01 or 59
uuuuuuuu Microseconds

The __IntervalTimerInstruction class causes an event to occur at a regular interval, much like the WM_TIMER message in Microsoft® Windows®: The __IntervalTimerInstruction class has one property: IntervalBetweenEvents. The IntervalBetweenEvents property defines the number of milliseconds between events. It is possible for CIMOM to ignore very small figures due to limitations in some operating systems.

CIMOM generates a timer event notification by creating an instance of the __TimerEvent class. The __TimerEvent class has a TimerId property which is a copy of the TimerId property included in the associated __TimerInstruction instance. A globally unique identifier (GUID) is often useful for preventing conflicts with other timer identifiers. A NumFirings property specifies how many times the timer event notification was sent during an interval when it was not possible to reach the consumer. This property has the value of 1 during normal operation.

The query entered as the filtering query in the event registration is usually based on the TimerId property of the timer event: Many consumers can receive event notifications generated by the same __TimerInstruction.