Win32_LocalTime または Win32_UTCTime を使用したタイマー イベントの作成

組み込みイベントとイベント フィルターの標準モデルを Win32_LocalTime または Win32_UTCTime クラスと組み合わせて使用して、時間指定通知を受け取ることができます。 組み込みメソッドは、Microsoft イベント モデルの残りと一致し、複雑なスケジューリング条件をサポートしているため、時間指定イベントを生成するための推奨される方法です。

Win32_LocalTimeWin32_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";
};