使用 Win32_LocalTime 或 Win32_UTCTime 创建计时器事件
你可以将内在事件和事件筛选器的标准模型与 Win32_LocalTime 或 Win32_UTCTime 类结合使用来接收定时通知。 建议使用内在方法生成定时事件,因为它与 Microsoft 事件模型的其余部分一致,并支持复杂的日程安排条件。
Win32_LocalTime 和 Win32_UTCTime 类是 root\cimv2 命名空间中表示系统时钟的单一实例类。 当被查询时,Win32_LocalTime 基于系统的本地时区设置以 24 小时制返回检索数据时的当前时间。 Win32_UTCTime 类基于 UTC 返回当前时间。
使用 Win32_LocalTime 或 Win32_UTCTime 生成定时或重复事件
- 为 Win32_LocalTime 或 Win32_UTCTime 设置内在通知事件筛选器,以请求特定日期和时间的通知。
例如,如果夏令时制的本地时间是下午 4 点,位置为 GMT -8,则 Win32_LocalTime.Hour 返回 16,Win32_UTCTime.Hour 返回 23。
下面的代码示例展示了如何创建一个事件筛选器,以在每天午夜发出重复事件信号。
// Win32_LocalTime and Win32_UTCTime reside in root\cimv2 namespace.
// Defining the EventNamespace allows the filter
// to be compiled in any namespace.
instance of __EventFilter as $FILT1
{
Name = "wake-up call";
Query = "SELECT * FROM __InstanceModificationEvent WHERE "
"TargetInstance ISA \"Win32_LocalTime\" AND "
"TargetInstance.Hour = 0 AND TargetInstance.Minute = 0 AND "
"TargetInstance.Second = 0";
QueryLanguage = "WQL";
EventNamespace = "root\\cimv2";
};