classe __IntervalTimerInstruction

A classe de sistema __IntervalTimerInstruction gera eventos em intervalos, semelhante a uma mensagem de WM_TIMER na programação do Windows. Um consumidor de evento registra para receber eventos do temporizador em intervalos criando uma consulta de evento que faz referência a essa classe. Devido ao comportamento do sistema operacional, não há garantias de que os eventos serão entregues com precisão no intervalo solicitado.

A sintaxe a seguir é simplificada do código MOF (Managed Object Format) e inclui todas as propriedades herdadas. As propriedades são listadas em ordem alfabética e não na ordem do MOF.

Sintaxe

class __IntervalTimerInstruction : __TimerInstruction
{
  uint32  IntervalBetweenEvents;
  boolean SkipIfPassed = FALSE;
  string  TimerId;
};

Membros

A classe __IntervalTimerInstruction tem estes tipos de membros:

Propriedades

A classe __IntervalTimerInstruction tem estas propriedades.

IntervalBetweenEvents

Tipo de dados: uint32

Tipo de acesso: Somente leitura

Qualificadores: Units (milissegundos)

Número de milissegundos entre disparos de eventos.

SkipIfPassed

Tipo de dados: booliano

Tipo de acesso: Somente leitura

Se for TRUE, este evento deve ser ignorado se o intervalo já tiver passado. O padrão é FALSE. Essa propriedade é herdada de __TimerInstruction.

FALSE

Quando o WMI ou o consumidor ficar disponível novamente, um evento de notificação será gerado e recebido.

TRUE

O evento do temporizador não ocorrerá se o WMI não estiver disponível para gerá-lo no intervalo de tempo apropriado ou se o consumidor que solicita o recebimento do evento não estiver disponível.

TimerId

Tipo de dados: string

Tipo de acesso: Somente leitura

Qualificadores: Key

Identificador exclusivo para este objeto __IntervalTimerInstruction. Essa propriedade é herdada de __TimerInstruction.

Comentários

A classe __IntervalTimerInstruction é derivada de __TimerInstruction.

A consulta de evento inserida ao registrar-se para um evento de temporizador em intervalos geralmente se baseia na propriedade TimerId. Os eventos de notificação gerados a partir de um evento de temporizador em intervalos contêm a propriedade NumFirings, que reflete a quantidade de eventos disparados durante o período em que os eventos não puderam ser recebidos. Se SkipIfPassed estiver definido como TRUE, essas informações serão descartadas.

O valor da propriedade IntervalBetweenEvents deve ser razoavelmente grande. Se for muito pequeno, o WMI poderá ignorá-lo e não gerar o evento devido a limitações em alguns sistemas operacionais.

O WMI gera o evento de temporizador em intervalos criando uma instância da classe __TimerEvent.

Para receber esses eventos de temporizador em um consumidor de eventos temporário, execute IWbemServices::ExecNotificationQuery com a seguinte cadeia de caracteres de consulta de evento:

SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"

Para receber esses eventos de temporizador em um consumidor de eventos permanente, você deve carregar a consulta anterior em um filtro de eventos, definir um consumidor lógico e criar uma associação entre o filtro e o consumidor. Para obter mais informações, consulte Receber eventos sempre.

Exemplos

A seguinte declaração MOF mostra como gerar um evento de temporizador em intervalos com a propriedade key definida como "MyEvent" a cada 10 segundos:

instance of __IntervalTimerInstruction
{
  TimerId = "MyEvent";     // inherited from __TimerInstruction
  SkipIfPassed = FALSE;    // also inherited
  IntervalBetweenEvents = 10000;
};

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Todos os namespaces do WMI

Confira também

__TimerInstruction

Classes de sistema do WMI

Receber eventos temporizados ou repetidos