Criar um evento de temporizador com Win32_LocalTime ou Win32_UTCTime
Você pode usar o modelo padrão de eventos intrínsecos e filtros de evento em combinação com as classes Win32_LocalTime ou Win32_UTCTime para receber uma notificação programada. O método intrínseco é uma maneira recomendada de gerar eventos programados, pois é consistente com o restante do modelo de eventos da Microsoft e dá suporte a condições complexas de agendamento.
As classes Win32_LocalTime e Win32_UTCTime são classes singleton no namespace root\cimv2 que representam o relógio do sistema. Quando consultado, o Win32_LocalTime retorna a hora atual no momento da recuperação dos dados em um formato de relógio de 24 horas com referência local. A classe Win32_UTCTime retorna a hora atual com referência UTC.
Para gerar eventos programados ou repetidos com Win32_LocalTime ou Win32_UTCTime
- Configure um filtro de evento de notificação intrínseca para Win32_LocalTime ou Win32_UTCTime que solicite notificação para uma data e hora específicas.
Por exemplo, se a hora local em Horário de Verão for 16h e o local for GMT -8, o Win32_LocalTime.Hour retornará 16 e o Win32_UTCTime.Hora retornará 23.
O exemplo de código a seguir descreve como criar um filtro de evento que sinaliza um evento repetido todos os dias à meia-noite.
// 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";
};