Создание события таймера с помощью 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";
};