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 |