Compartilhar via


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";
};