Freigeben über


__IntervalTimerInstruction-Klasse

Die __IntervalTimerInstruction-Systemklasse generiert Ereignisse in Intervallen, ähnlich einer WM_TIMER-Nachricht bei der Windows-Programmierung. Ein Ereignisconsumer registriert sich für den Empfang von Intervalltimerereignissen, indem er eine Ereignisabfrage erstellt, die auf diese Klasse verweist. Aufgrund des Betriebssystemverhaltens gibt es keine Garantie, dass Ereignisse exakt im angeforderten Intervall übermittelt werden.

Die folgende Syntax wird durch MOF-Code (Managed Object Format) vereinfacht und schließt alle geerbten Eigenschaften ein. Eigenschaften werden in alphabetischer Reihenfolge aufgeführt, nicht in MOF-Reihenfolge.

Syntax

class __IntervalTimerInstruction : __TimerInstruction
{
  uint32  IntervalBetweenEvents;
  boolean SkipIfPassed = FALSE;
  string  TimerId;
};

Member

Die __IntervalTimerInstruction-Klasse enthält diese Membertypen:

Eigenschaften

Die __IntervalTimerInstruction-Klasse enthält folgende Eigenschaften.

IntervalBetweenEvents

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Qualifizierer: Einheiten (Millisekunden)

Anzahl von Millisekunden zwischen Ereignisauslösungen.

SkipIfPassed

Datentyp: boolean (boolesch)

Zugriffstyp: Schreibgeschützt

Falls TRUE, soll dieses Ereignis übersprungen werden, wenn das Intervall bereits abgelaufen ist. Der Standardwert ist False. Diese Eigenschaft wird von __TimerInstruction geerbt.

FALSE

Sobald WMI oder der Consumer wieder verfügbar ist, wird ein Benachrichtigungsereignis generiert und empfangen.

true

Das Timerereignis tritt nicht ein, wenn WMI nicht in der Lage ist, es im entsprechenden Zeitintervall zu generieren, oder wenn der Consumer, der das Ereignis empfangen möchte, nicht verfügbar ist.

TimerId

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: Key

Eindeutiger Bezeichner dieses __IntervalTimerInstruction-Objekts. Diese Eigenschaft wird von __TimerInstruction geerbt.

Bemerkungen

Die __IntervalTimerInstruction-Klasse wird von __TimerInstruction abgeleitet.

Die Ereignisabfrage, die für die Registrierung für ein Intervalltimerereignis eingegeben wird, basiert in der Regel auf der TimerId-Eigenschaft. Benachrichtigungsereignisse, die anhand eines Intervalltimerereignisses generiert werden, enthalten die NumFirings-Eigenschaft mit Daten, die angeben, wie viele Ereignisse ausgelöst wurden, während die Ereignisse nicht empfangen werden konnten. Wenn SkipIfPassed auf TRUE festgelegt ist, werden diese Informationen verworfen.

Der Wert der IntervalBetweenEvents-Eigenschaft sollte angemessen groß sein. Wenn er zu klein ist, ignoriert WMI ihn möglicherweise und generiert das Ereignis aufgrund von Einschränkungen in einigen Betriebssystemen nicht.

WMI generiert das Intervalltimerereignis, indem eine Instanz der __TimerEvent-Klasse erstellt wird.

Um diese Timerereignisse in einem temporären Ereignisconsumer zu empfangen, führen Sie IWbemServices::ExecNotificationQuery mit der folgenden Ereignisabfragezeichenfolge aus:

SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"

Um diese Timerereignisse in einem permanenten Ereignisconsumer zu empfangen, müssen Sie die vorherige Abfrage in einen Ereignisfilter laden, einen logischen Consumer definieren und eine Filter-zu-Consumer-Bindung für Filter und Consumer erstellen. Weitere Informationen finden Sie unter Empfangen von Ereignissen zu jeder Zeit.

Beispiele

Die folgende MOF-Deklaration zeigt, wie ein Intervalltimerereignis generiert wird, wobei die key-Eigenschaft alle 10 Sekunden auf MyEvent festgelegt wird:

instance of __IntervalTimerInstruction
{
  TimerId = "MyEvent";     // inherited from __TimerInstruction
  SkipIfPassed = FALSE;    // also inherited
  IntervalBetweenEvents = 10000;
};

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Namespace
Alle WMI-Namespaces

Weitere Informationen

__TimerInstruction

WMI-Systemklassen

Empfangen zeitgesteuerter oder wiederholter Ereignisse