__IntervalTimerInstruction 類別
__IntervalTimerInstruction系統類別會依間隔產生事件,類似于 Windows 程式設計中的WM_TIMER訊息。 事件取用者會藉由建立參考此類別的事件查詢,註冊以接收間隔計時器事件。 由於作業系統行為,因此不保證事件會以精確的要求間隔傳遞。
下列語法已從受管理物件格式 (MOF) 程式碼加以簡化,並包含所有繼承的屬性。 屬性會依字母順序列出,而非 MOF 順序。
語法
class __IntervalTimerInstruction : __TimerInstruction
{
uint32 IntervalBetweenEvents;
boolean SkipIfPassed = FALSE;
string TimerId;
};
成員
__IntervalTimerInstruction類別具有下列類型的成員:
屬性
__IntervalTimerInstruction類別具有這些屬性。
-
IntervalBetweenEvents
-
-
資料類型: uint32
-
存取類型:唯讀
-
限定詞: 單位 (毫秒)
事件引發之間的毫秒數。
-
-
SkipIfPassed
-
-
資料類型: 布林值
-
存取類型:唯讀
如果 為 TRUE,表示如果已傳遞間隔,則會略過此事件。 預設值為 FALSE。 此屬性繼承自 __TimerInstruction。
-
-
FALSE
-
當 WMI 或取用者再次可供使用時,將會產生並接收通知事件。
-
true
-
如果 WMI 無法在適當的時間間隔產生,或要求接收事件的取用者無法使用,則不會發生計時器事件。
TimerId
-
資料類型: 字串
-
存取類型:唯讀
-
限定詞: 金鑰
這個 __IntervalTimerInstruction 物件的唯一識別碼。 此屬性繼承自 __TimerInstruction。
備註
__IntervalTimerInstruction類別衍生自__TimerInstruction。
輸入以註冊間隔計時器事件的事件查詢通常是以 TimerId 屬性為基礎。 從間隔計時器事件產生的通知事件包含屬性 NumFirings ,其中包含資料,反映事件在收到事件期間引發的事件數目。 如果 SkipIfPassed 設定為 TRUE,則會捨棄該資訊。
IntervalBetweenEvents屬性的值應該相當大。 如果太小,WMI 可能會忽略它,而不會因為某些作業系統的限制而產生事件。
WMI 會藉由建立 __TimerEvent 類別的實例來產生間隔計時器事件。
若要在暫存事件取用者中接收這些計時器事件,請使用下列事件查詢字串執行 IWbemServices::ExecNotificationQuery :
SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"
若要在永久事件取用者中接收這些計時器事件,您必須將先前的查詢載入事件篩選、定義邏輯取用者,以及建立篩選和取用者的篩選對取用者系結。 如需詳細資訊,請參閱 隨時接收事件。
範例
下列 MOF 宣告示範如何每隔 10 秒產生一個間隔計時器事件,並將 key 屬性設定為 「MyEvent」 :
instance of __IntervalTimerInstruction
{
TimerId = "MyEvent"; // inherited from __TimerInstruction
SkipIfPassed = FALSE; // also inherited
IntervalBetweenEvents = 10000;
};
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista |
最低支援的伺服器 |
Windows Server 2008 |
命名空間 |
所有 WMI 命名空間 |