Creazione di un evento timer con Win32_LocalTime o Win32_UTCTime
È possibile usare il modello standard di eventi intrinseci e filtri eventi in combinazione con le classi Win32_LocalTime o Win32_UTCTime per ricevere una notifica temporale. Il metodo intrinseco è un modo consigliato per generare eventi temporali, in quanto è coerente con il resto del modello di evento Microsoft e supporta condizioni di pianificazione complesse.
Le classi Win32_LocalTime e Win32_UTCTime sono classi singleton nello spazio dei nomi root\cimv2 che rappresentano l'orologio di sistema. Quando viene eseguita una query, Win32_LocalTime restituisce l'ora corrente al momento del recupero dei dati in un orologio di 24 ore con riferimento locale. La classe Win32_UTCTime restituisce l'ora corrente con riferimento UTC.
Per generare eventi temporali o ripetuti con Win32_LocalTime o Win32_UTCTime
- Configurare un filtro evento di notifica intrinseco per Win32_LocalTime o Win32_UTCTime che richiede la notifica per una data e un'ora specifiche.
Ad esempio, se l'ora locale in Ora legale è di 4 ore e la posizione è GMT -8, Win32_LocalTime.Hour restituisce 16 e Win32_UTCTime.Hour restituisce 23.
Nell'esempio di codice seguente viene descritto come creare un filtro eventi che segnala un evento ripetuto ogni giorno alla mezzanotte.
// Win32_LocalTime and Win32_UTCTime reside in root\cimv2 namespace.
// Defining the EventNamespace allows the filter
// to be compiled in any namespace.
instance of __EventFilter as $FILT1
{
Name = "wake-up call";
Query = "SELECT * FROM __InstanceModificationEvent WHERE "
"TargetInstance ISA \"Win32_LocalTime\" AND "
"TargetInstance.Hour = 0 AND TargetInstance.Minute = 0 AND "
"TargetInstance.Second = 0";
QueryLanguage = "WQL";
EventNamespace = "root\\cimv2";
};