使用Win32_LocalTime或Win32_UTCTime创建计时器事件

可以将内部事件和事件筛选器的标准模型与 Win32_LocalTimeWin32_UTCTime 类结合使用来接收计时通知。 内部方法是生成计时事件的建议方法,因为它与 Microsoft 事件模型的其余部分一致,并支持复杂的计划条件。

Win32_LocalTimeWin32_UTCTime类是表示系统时钟的 root\cimv2 命名空间中的单一实例类。 查询时, Win32_LocalTime 使用本地引用在 24 小时制的数据检索时返回当前时间。 Win32_UTCTime类使用 UTC 引用返回当前时间。

使用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";
};