Clase __IntervalTimerInstruction
La clase del sistema __IntervalTimerInstruction genera eventos a intervalos, de manera similar a un mensaje WM_TIMER en la programación de Windows. Un consumidor de eventos se registra para recibir eventos de temporizador de intervalo mediante la creación de una consulta de eventos que haga referencia a esta clase. Debido al comportamiento del sistema operativo, no hay ninguna garantía de que los eventos se entreguen con precisión en el intervalo solicitado.
La siguiente sintaxis se simplifica desde el código de Managed Object Format (MOF) e incluye todas las propiedades heredadas. Las propiedades se indican en orden alfabético, no en orden de MOF.
Sintaxis
class __IntervalTimerInstruction : __TimerInstruction
{
uint32 IntervalBetweenEvents;
boolean SkipIfPassed = FALSE;
string TimerId;
};
Miembros
La clase __IntervalTimerInstruction tiene estos tipos de miembros:
Propiedades
La clase __IntervalTimerInstruction tiene estas propiedades.
-
IntervalBetweenEvents
-
-
Tipo de datos: uint32
-
Tipo de acceso: solo lectura
-
Calificadores: Units (milisegundos)
Número de milisegundos entre activaciones de eventos.
-
-
SkipIfPassed
-
-
Tipo de datos: booleano
-
Tipo de acceso: solo lectura
Si es TRUE, se omitirá este evento si el intervalo ya pasó. El valor predeterminado es FALSE. Esta propiedad se hereda de __TimerInstruction.
-
-
false
-
Cuando WMI o el consumidor vuelvan a estar disponibles, se generará y recibirá un evento de notificación.
-
true
-
El evento de temporizador no se produce si WMI no está disponible para generarlo en el intervalo de tiempo adecuado o el consumidor que solicita recibir el evento no está disponible.
TimerId
-
Tipo de datos: cadena
-
Tipo de acceso: solo lectura
-
Calificadores: Key
Identificador único de este objeto __IntervalTimerInstruction. Esta propiedad se hereda de __TimerInstruction.
Comentarios
La clase __IntervalTimerInstruction se deriva de __TimerInstruction.
La consulta de eventos que se especifica para registrarse para un evento de temporizador de intervalo suele basarse en la propiedad TimerId. Los eventos de notificación generados a partir de un evento de temporizador de intervalo contienen la propiedad NumFirings que contiene datos que reflejan cuántos eventos se activaron durante el tiempo en que no se pudieron recibir los eventos. Si SkipIfPassed se establece en TRUE, esa información se descarta.
El valor de la propiedad IntervalBetweenEvents debe ser razonablemente grande. Si es demasiado pequeño, es posible que WMI lo omita y puede que no genere el evento debido a limitaciones en algunos sistemas operativos.
WMI genera el evento de temporizador de intervalo mediante la creación de una instancia de la clase __TimerEvent.
Para recibir estos eventos de temporizador en un consumidor de evento temporal, ejecute IWbemServices::ExecNotificationQuery con la cadena de consulta de evento siguiente:
SELECT * FROM __TimerEvent WHERE TimerID = "MyEvent"
Para recibir estos eventos de temporizador en un consumidor de evento permanente, debe cargar la consulta anterior en un filtro de eventos, definir un consumidor lógico y crear un enlace de filtro a consumidor para el filtro y el consumidor. Para más información, consulte Recepción de eventos en todo momento.
Ejemplos
La declaración MOF siguiente muestra cómo generar un evento de temporizador de intervalo con la propiedad key establecida en "MyEvent" cada 10 segundos:
instance of __IntervalTimerInstruction
{
TimerId = "MyEvent"; // inherited from __TimerInstruction
SkipIfPassed = FALSE; // also inherited
IntervalBetweenEvents = 10000;
};
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Espacio de nombres |
Todos los espacios de nombres WMI |