__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

Voir aussi

__TimerInstruction

Classes système WMI

Réception d’un événement chronométré ou répétitif