__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 |