使用 __TimerInstruction 创建计时器事件

可以通过在任何 WMI 命名空间中创建从 __TimerInstruction 类派生的类的实例来创建计时器事件。 然后,WMI 会在适当的时间生成计时器事件。 如果你由于计算机停机而错过了计时器事件,WMI 会将错过的事件告知你。 WMI 支持计时器事件以实现后向兼容性,并且适用于你必须知道自上次传送的事件以来错过了多少事件的情况。 但是,对于大多数计时器事件,你应该为 Win32_LocalTimeWin32_UTCTime 创建一个事件筛选器。 有关详细信息,请参阅使用 Win32_LocalTime 或 Win32_UTCTime 创建计时器事件

以下过程介绍如何使用 __TimerInstruction 创建和接收计时器事件。

使用 __TimerInstruction 创建和接收计时器事件

  1. 创建 __AbsoluteTimerInstruction__IntervalTimerInstruction 类的实例。

    __AbsoluteTimerInstruction__IntervalTimerInstruction 类派生自 __TimerInstruction 类,其中包含一个独一无二的由开发人员分配的字符串,用于标识计时器事件的类型。 __TimerInstruction 类还包含一个值,该值指定如果在 WMI 不可用时发生计时器事件,WMI 是否应发送延迟通知。

    使用 __AbsoluteTimerInstruction 发送绝对计时器事件,这些事件在特定日期的特定时间发生。 使用 __IntervalTimerInstruction 发送定期发生的间隔计时器事件。

  2. 将应用程序设置为接收 __TimerEvent 实例。

    为了生成事件,WMI 会创建 __TimerEvent 类的实例,并将该实例转发给使用者。 __TimerEvent 实例包含来自使用者的计时器指令标识符。 该实例还包含一个值,该值指定当 WMI 无法到达使用者时 WMI 应在任何间隔内发送计时器事件通知的次数。