__IntervalTimerInstruction class
La classe système __IntervalTimerInstruction génère des événements à intervalles réguliers, similaires à un message WM_TIMER dans la programmation Windows. Un consommateur d’événements s’inscrit pour recevoir des événements du minuteur d’intervalle en créant une requête d’événement qui fait référence à cette classe. En raison du comportement du système d’exploitation, il n’existe aucune garantie que les événements seront remis exactement à l’intervalle demandé.
La syntaxe suivante est simplifiée à partir de code au format MOF (Managed Object Format) et inclut toutes les propriétés héritées. Les propriétés sont répertoriées dans l’ordre alphabétique, et non dans l’ordre MOF.
Syntaxe
class __IntervalTimerInstruction : __TimerInstruction
{
uint32 IntervalBetweenEvents;
boolean SkipIfPassed = FALSE;
string TimerId;
};
Membres
La classe __IntervalTimerInstruction possède ces types de membres :
Propriétés
La classe __IntervalTimerInstruction possède les propriétés suivantes.
-
IntervalBetweenEvents
-
-
Type de données : uint32
-
Type d'accès : Lecture seule
-
Qualificateurs : unités (millisecondes)
Nombre de millisecondes entre les déclenchements d’événements.
-
-
SkipIfPassed
-
-
Type de données : booléen
-
Type d'accès : Lecture seule
Si la valeur est TRUE, cet événement doit être ignoré si l’intervalle est déjà passé. La valeur par défaut est FALSE. Cette propriété est héritée de __TimerInstruction.
-
-
FALSE
-
Lorsque WMI ou le consommateur redevient disponible, un événement de notification est généré et reçu.
-
TRUE
-
L’événement du minuteur ne se produit pas si WMI n’est pas disponible pour le générer à l’intervalle de temps approprié, ou si le consommateur qui demande à recevoir l’événement n’est pas disponible.
TimerId
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : Clé
Identificateur unique pour cet objet __IntervalTimerInstruction. Cette propriété est héritée de __TimerInstruction.
Notes
La classe __IntervalTimerInstruction est dérivée de __TimerInstruction.
La requête d’événement entrée pour s’inscrire à un événement de minuteur d’intervalle est généralement basée sur la propriété TimerId . Les événements de notification générés à partir d’un événement du minuteur d’intervalle contiennent la propriété NumFirings qui contient des données indiquant le nombre d’événements déclenchés pendant la période pendant laquelle les événements n’ont pas pu être reçus. Si SkipIfPassed a la valeur TRUE, ces informations sont ignorées.
La valeur de la propriété IntervalBetweenEvents doit être raisonnablement grande. S’il est trop petit, WMI peut l’ignorer et ne pas générer l’événement en raison de limitations dans certains systèmes d’exploitation.
WMI génère l’événement du minuteur d’intervalle en créant un instance de la classe __TimerEvent.
Pour recevoir ces événements du minuteur dans un consommateur d’événements temporaires, exécutez IWbemServices::ExecNotificationQuery avec la chaîne de requête d’événement suivante :
SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"
Pour recevoir ces événements du minuteur dans un consommateur d’événements permanent, vous devez charger la requête précédente dans un filtre d’événements, définir un consommateur logique et créer une liaison de filtre à consommateur pour le filtre et le consommateur. Pour plus d’informations, consultez Réception d’événements à tout moment.
Exemples
La déclaration MOF suivante montre comment générer un événement de minuteur d’intervalle avec la propriété de clé définie sur « MyEvent » toutes les 10 secondes :
instance of __IntervalTimerInstruction
{
TimerId = "MyEvent"; // inherited from __TimerInstruction
SkipIfPassed = FALSE; // also inherited
IntervalBetweenEvents = 10000;
};
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
Espace de noms |
Tous les espaces de noms WMI |