__IntervalTimerInstruction 类

__IntervalTimerInstruction 系统类按时间间隔生成事件,类似于 Windows 编程中的 WM_TIMER 消息。 事件使用者通过创建引用此类的事件查询来注册,以接收间隔计时器事件。 由于操作系统的行为,无法保证事件会准确地在请求的时间间隔内交付。

以下语法从托管对象格式 (MOF) 代码简化而来,包括所有继承属性。 属性按字母顺序排列,而非 MOF 顺序。

语法

class __IntervalTimerInstruction : __TimerInstruction
{
  uint32  IntervalBetweenEvents;
  boolean SkipIfPassed = FALSE;
  string  TimerId;
};

成员

__IntervalTimerInstruction 类具有以下类型的成员:

属性

__IntervalTimerInstruction 类具有以下属性。

IntervalBetweenEvents

数据类型:uint32

访问类型:只读

限定符:单位(毫秒)

两次事件触发之间的毫秒数。

SkipIfPassed

数据类型:布尔

访问类型:只读

如果为 TRUE,则会在时间间隔过后跳过此事件。 默认值为 FALSE。 此属性继承自 __TimerInstruction

false

当 WMI 或使用者再次变为可用时,将生成并接收通知事件。

true

如果 WMI 无法以适当的时间间隔生成计时器事件,或者请求接收事件的使用者不可用,则不会发生计时器事件。

TimerId

数据类型:字符串

访问类型:只读

限定符:

此 __IntervalTimerInstruction 对象的唯一标识符。 此属性继承自 __TimerInstruction

备注

__IntervalTimerInstruction 类派生自 __TimerInstruction

为注册间隔计时器事件而输入的事件查询通常基于 TimerId 属性。 从间隔计时器事件生成的通知事件包含属性 NumFirings,该属性包含反映在无法接收事件期间触发了多少事件的数据。 如果 SkipIfPassed 设置为 TRUE,该信息会被丢弃。

IntervalBetweenEvents 属性的值应相当大。 如果它太小,WMI 可能会忽略它,并且由于某些操作系统的限制而不会生成事件。

WMI 通过创建 __TimerEvent 类的实例来生成间隔计时器事件。

若要在临时事件使用者中接收这些计时器事件,请使用以下事件查询字符串执行 IWbemServices::ExecNotificationQuery

SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"

若要在永久事件使用者中接收这些计时器事件,必须将上一查询加载到事件筛选器中,定义逻辑使用者,并为筛选器和使用者创建一个从筛选器到使用者的绑定。 有关详细信息,请参阅随时接收事件

示例

以下 MOF 声明显示了如何每 10 秒生成一次间隔计时器事件,并将键属性设置为“MyEvent”:

instance of __IntervalTimerInstruction
{
  TimerId = "MyEvent";     // inherited from __TimerInstruction
  SkipIfPassed = FALSE;    // also inherited
  IntervalBetweenEvents = 10000;
};

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
所有 WMI 命名空间

另请参阅

__TimerInstruction

WMI 系统类

接收定时事件或重复事件