Win32_LocalTime または Win32_UTCTime を使用したタイマー イベントの作成
組み込みイベントとイベント フィルターの標準モデルを Win32_LocalTime または Win32_UTCTime クラスと組み合わせて使用して、時間指定通知を受け取ることができます。 組み込みメソッドは、Microsoft イベント モデルの残りと一致し、複雑なスケジューリング条件をサポートしているため、時間指定イベントを生成するための推奨される方法です。
Win32_LocalTime と Win32_UTCTime クラスは、システム クロックを表す root\cimv2 名前空間のシングルトン クラスです。 クエリを実行すると、Win32_LocalTime では、ローカル参照を使用して 24 時間制でデータ取得の時点の現在時刻を返します。 Win32_UTCTime クラスは、UTC 参照を使用して現在の時刻を返します。
Win32_LocalTime または Win32_UTCTime を使用して時間指定または繰り返しイベントを生成するには
- 特定の日時の通知を要求する Win32_LocalTime または Win32_UTCTime の組み込み通知イベント フィルターを設定します。
たとえば、夏時間の現地時刻が午後 4 時で、場所が GMT -8 の場合、Win32_LocalTime.Hour では 16 を返し、Win32_UTCTime.Hour では 23 を返します。
次のコード例では、毎日午前 0 時に繰り返しイベントを通知するイベント フィルターを作成する方法について説明します。
// 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";
};