Partager via


Création d’un événement de minuteur avec Win32_LocalTime ou Win32_UTCTime

Vous pouvez utiliser le modèle standard d’événements intrinsèques et de filtres d’événements en combinaison avec les classes Win32_LocalTime ou Win32_UTCTime pour recevoir une notification chronomodée. La méthode intrinsèque est un moyen recommandé de générer des événements chronotés, car elle est cohérente avec le reste du modèle d’événement Microsoft et prend en charge des conditions de planification complexes.

Les classes Win32_LocalTime et Win32_UTCTime sont des classes singleton dans l’espace de noms root\cimv2 qui représentent l’horloge système. Lorsqu’il est interrogé, Win32_LocalTime retourne l’heure actuelle au moment de la récupération des données dans une horloge de 24 heures avec référence locale. La classe Win32_UTCTime retourne l’heure actuelle avec une référence UTC.

Pour générer des événements temporisés ou répétitifs avec Win32_LocalTime ou Win32_UTCTime

  • Configurez un filtre d’événement de notification intrinsèque pour Win32_LocalTime ou Win32_UTCTime qui demande une notification pour une date et une heure spécifiques.

Par exemple, si l’heure locale sous l’heure d’été est de 16 heures et que l’emplacement est GMT -8, Win32_LocalTime.Hour retourne 16 et Win32_UTCTime.Heure retourne 23.

L’exemple de code suivant décrit comment créer un filtre d’événements qui signale un événement répétitifs tous les jours à minuit.

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