classe __IntervalTimerInstruction
La classe di sistema __IntervalTimerInstruction genera eventi a intervalli simili a un messaggio di WM_TIMER nella programmazione di Windows. Un consumer di eventi registra per ricevere eventi timer intervallo creando una query di evento che fa riferimento a questa classe. A causa del comportamento del sistema operativo, non vi sono garanzie che gli eventi vengano recapitati esattamente all'intervallo richiesto.
La sintassi seguente è semplificata dal codice MOF (Managed Object Format) e include tutte le proprietà ereditate. Le proprietà sono elencate in ordine alfabetico, non nell'ordine MOF.
Sintassi
class __IntervalTimerInstruction : __TimerInstruction
{
uint32 IntervalBetweenEvents;
boolean SkipIfPassed = FALSE;
string TimerId;
};
Members
La classe __IntervalTimerInstruction ha questi tipi di membri:
Proprietà
La classe __IntervalTimerInstruction ha queste proprietà.
-
IntervalBetweenEvents
-
-
Tipo di dati: uint32
-
Tipo di accesso: sola lettura
-
Qualificatori: unità (millisecondi)
Numero di millisecondi tra le attivazioni degli eventi.
-
-
SkipIfPassed
-
-
Tipo di dati: booleano
-
Tipo di accesso: sola lettura
Se TRUE, questo evento deve essere ignorato se l'intervallo è già passato. Il valore predefinito è FALSE. Questa proprietà viene ereditata da __TimerInstruction.
-
-
FALSE
-
Quando WMI o il consumer diventa nuovamente disponibile, verrà generato e ricevuto un evento di notifica.
-
TRUE
-
L'evento timer non si verifica se WMI non è disponibile per generarlo all'intervallo di tempo appropriato o se il consumer che richiede di ricevere l'evento non è disponibile.
TimerId
-
Tipo di dati: string
-
Tipo di accesso: sola lettura
-
Qualificatori: Chiave
Identificatore univoco per questo oggetto __IntervalTimerInstruction . Questa proprietà viene ereditata da __TimerInstruction.
Commenti
La classe __IntervalTimerInstruction deriva da __TimerInstruction.
La query di evento immessa per la registrazione per un evento timer di intervallo è in genere basata sulla proprietà TimerId . Gli eventi di notifica generati da un evento timer di intervallo contengono la proprietà NumFirings che contiene dati che riflettono il numero di eventi generati durante il momento in cui gli eventi non sono stati ricevuti. Se SkipIfPassed è impostato su TRUE, tali informazioni vengono eliminate.
Il valore per la proprietà IntervalBetweenEvents deve essere ragionevolmente grande. Se è troppo piccolo, WMI può ignorarlo e non generare l'evento a causa di limitazioni in alcuni sistemi operativi.
WMI genera l'evento timer interval creando un'istanza della classe __TimerEvent .
Per ricevere questi eventi timer in un consumer di eventi temporanei, eseguire IWbemServices::ExecNotificationQuery con la stringa di query evento seguente:
SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"
Per ricevere questi eventi timer in un consumer eventi permanente, è necessario caricare la query precedente in un filtro eventi, definire un consumer logico e creare un'associazione filtro-consumer per il filtro e il consumer. Per altre informazioni, vedere Ricezione di eventi in qualsiasi momento.
Esempio
La dichiarazione MOF seguente illustra come generare un evento timer intervallo con la proprietà key impostata su "MyEvent" ogni 10 secondi:
instance of __IntervalTimerInstruction
{
TimerId = "MyEvent"; // inherited from __TimerInstruction
SkipIfPassed = FALSE; // also inherited
IntervalBetweenEvents = 10000;
};
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Spazio dei nomi |
Tutti gli spazi dei nomi WMI |