Создание события таймера с помощью Win32_LocalTime или Win32_UTCTime

Для получения уведомления по времени можно использовать стандартную модель встроенных событий и фильтров событий в сочетании с классами Win32_LocalTime или Win32_UTCTime . Встроенный метод является рекомендуемым способом создания событий времени, так как он согласуется с остальной моделью событий Майкрософт и поддерживает сложные условия планирования.

Классы Win32_LocalTime и Win32_UTCTime являются одноэлементным классом в пространстве имен root\cimv2, представляющими системные часы. При запросе Win32_LocalTime возвращает текущее время в момент получения данных в 24-часовом режиме с локальной ссылкой. Класс Win32_UTCTime возвращает текущее время со ссылкой в формате UTC.

Создание временных или повторяющихся событий с помощью Win32_LocalTime или Win32_UTCTime

  • Настройте встроенный фильтр событий уведомлений для Win32_LocalTime или Win32_UTCTime , запрашивающих уведомление на определенную дату и время.

Например, если местное время в разделе "Летнее время" — 4:00, а расположение — GMT -8, то Win32_LocalTime.Hour возвращает 16, а Win32_UTCTime.Час возвращает 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";
};