__IntervalTimerInstruction クラス
__IntervalTimerInstruction システム クラスでは、Windows プログラミングの WM_TIMER メッセージと同様に、間隔を指定してイベントを生成します。 イベント コンシューマーでは、このクラスを参照するイベント クエリを作成することで、間隔タイマー イベントを受信するように登録します。 オペレーティング システムの動作により、要求された間隔でイベントが正確に配信される保証はありません。
次の構文は、マネージド オブジェクト フォーマット (MOF) コードを簡素化しており、継承されたすべてのプロパティを含んでいます。 プロパティは、MOF 順ではなくアルファベット順で一覧表示されています。
構文
class __IntervalTimerInstruction : __TimerInstruction
{
uint32 IntervalBetweenEvents;
boolean SkipIfPassed = FALSE;
string TimerId;
};
メンバー
__IntervalTimerInstruction クラスには、次の種類のメンバーがあります。
プロパティ
__IntervalTimerInstruction クラスには、次のプロパティがあります。
-
IntervalBetweenEvents
-
-
データ型: uint32
-
アクセスの種類: 読み取り専用
-
修飾子: Units (ミリ秒)
イベントが発生するまでのミリ秒数。
-
-
SkipIfPassed
-
-
データ型: boolean
-
アクセスの種類: 読み取り専用
TRUE の場合、間隔が既に渡されていると、このイベントはスキップされます。 既定値は FALSE です。 このプロパティは、__TimerInstruction から継承されます。
-
-
false
-
WMI またはコンシューマーが再び使用可能になると、通知イベントが生成されて受信されます。
-
true
-
WMI が適切な時間間隔で生成できない場合、またはイベントの受信を要求しているコンシューマーが使用できない場合、タイマー イベントは発生しません。
TimerId
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: Key
この __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 名前空間 |