Класс __IntervalTimerInstruction
Системный класс __IntervalTimerInstruction создает события через интервалы времени, аналогичные сообщению WM_TIMER в программировании windows. Потребитель события регистрируется для получения событий таймера интервала путем создания запроса события, который ссылается на этот класс. Из-за поведения операционной системы нет никаких гарантий того, что события будут доставляться точно с требуемым интервалом.
Приведенный ниже синтаксис является упрощенной версией кода MOF и включает все унаследованные свойства. Свойства перечислены в алфавитном порядке, а не в порядке MOF.
Синтаксис
class __IntervalTimerInstruction : __TimerInstruction
{
uint32 IntervalBetweenEvents;
boolean SkipIfPassed = FALSE;
string TimerId;
};
Члены
Класс __IntervalTimerInstruction имеет следующие типы членов:
Элемент Property
Класс __IntervalTimerInstruction имеет следующие свойства.
-
IntervalBetweenEvents
-
-
Тип данных: uint32
-
Тип доступа: только для чтения
-
Квалификаторы: единицы (миллисекунда)
Количество миллисекундах между срабатываниями события.
-
-
SkipIfPassed
-
-
Тип данных: boolean
-
Тип доступа: только для чтения
Если задано значение TRUE, это событие следует пропустить, если интервал уже пройден. Значение по умолчанию — FALSE. Это свойство наследуется от __TimerInstruction.
-
-
Ложь.
-
Когда WMI или потребитель снова станет доступным, будет создано и получено событие уведомления.
-
TRUE
-
Событие таймера не возникает, если WMI недоступен для его создания в соответствующий интервал времени или потребитель, запрашивающий получение события, недоступен.
TimerId
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Ключ
Уникальный идентификатор объекта __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 |