EventWatcherOptions Construtores
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicializa uma nova instância da EventWatcherOptions classe para observação de eventos.
Sobrecargas
| Name | Descrição |
|---|---|
| EventWatcherOptions() |
Inicializa uma nova instância da EventWatcherOptions classe para observação de eventos, usando valores predefinidos. Este é o construtor sem parâmetros. |
| EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32) |
Inicializa uma nova instância da EventWatcherOptions classe com os valores dados. |
EventWatcherOptions()
- Origem:
- ManagementOptions.cs
- Origem:
- ManagementOptions.cs
- Origem:
- ManagementOptions.cs
- Origem:
- ManagementOptions.cs
Inicializa uma nova instância da EventWatcherOptions classe para observação de eventos, usando valores predefinidos. Este é o construtor sem parâmetros.
public:
EventWatcherOptions();
public EventWatcherOptions();
Public Sub New ()
Exemplos
O exemplo seguinte mostra como o cliente recebe notificação quando uma instância de Win32_Process é criada porque a classe de evento é __InstanceCreationEvent. Para mais informações, consulte a documentação Windows Instrumentação de Gestão. O cliente recebe eventos de forma síncrona ao chamar o WaitForNextEvent método. Este exemplo pode ser testado iniciando um processo, como o Notepad, enquanto o código de exemplo está a correr.
using System;
using System.Management;
// This example shows synchronous consumption of events.
// The client is blocked while waiting for events.
public class EventWatcherPolling
{
public static int Main(string[] args)
{
// Create event query to be notified within 1 second of
// a change in a service
string query = "SELECT * FROM" +
" __InstanceCreationEvent WITHIN 1 " +
"WHERE TargetInstance isa \"Win32_Process\"";
// Event options
EventWatcherOptions eventOptions = new
EventWatcherOptions();
eventOptions.Timeout = System.TimeSpan.MaxValue;
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher("root\\CIMV2", query,
eventOptions);
// Block until the next event occurs
// Note: this can be done in a loop if waiting for
// more than one occurrence
Console.WriteLine(
"Open an application (notepad.exe) to trigger an event.");
ManagementBaseObject e = watcher.WaitForNextEvent();
//Display information from the event
Console.WriteLine(
"Process {0} has been created, path is: {1}",
((ManagementBaseObject)e
["TargetInstance"])["Name"],
((ManagementBaseObject)e
["TargetInstance"])["ExecutablePath"]);
//Cancel the subscription
watcher.Stop();
return 0;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM" & _
" __InstanceCreationEvent WITHIN 1 " & _
"WHERE TargetInstance isa ""Win32_Process"""
' Event options
Dim eventOptions As New EventWatcherOptions
eventOptions.Timeout = System.TimeSpan.MaxValue
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher( _
"root\CIMV2", query, eventOptions)
' Block until the next event occurs
' Note: this can be done in a loop
' if waiting for more than one occurrence
Console.WriteLine( _
"Open an application (notepad.exe) to trigger an event.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Observações
Segurança do .NET Framework
Confiança total no contacto imediato. Este membro não pode ser utilizado por código parcialmente confiável. Para mais informações, consulte Utilização de Bibliotecas de Código Parcialmente Confiável.
Aplica-se a
EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)
- Origem:
- ManagementOptions.cs
- Origem:
- ManagementOptions.cs
- Origem:
- ManagementOptions.cs
- Origem:
- ManagementOptions.cs
Inicializa uma nova instância da EventWatcherOptions classe com os valores dados.
public:
EventWatcherOptions(System::Management::ManagementNamedValueCollection ^ context, TimeSpan timeout, int blockSize);
public EventWatcherOptions(System.Management.ManagementNamedValueCollection context, TimeSpan timeout, int blockSize);
new System.Management.EventWatcherOptions : System.Management.ManagementNamedValueCollection * TimeSpan * int -> System.Management.EventWatcherOptions
Public Sub New (context As ManagementNamedValueCollection, timeout As TimeSpan, blockSize As Integer)
Parâmetros
- context
- ManagementNamedValueCollection
O objeto de contexto das opções contém informação específica do fornecedor a ser transmitida ao fornecedor.
- timeout
- TimeSpan
O tempo para esperar pelos próximos eventos.
- blockSize
- Int32
O número de eventos a esperar em cada bloco.
Exemplos
O exemplo seguinte mostra como o cliente recebe notificação quando uma instância de Win32_Process é criada porque a classe de evento é __InstanceCreationEvent. Para mais informações, consulte a documentação Windows Instrumentação de Gestão. O cliente recebe eventos de forma síncrona ao chamar o WaitForNextEvent método. Este exemplo pode ser testado iniciando um processo, como o Notepad, enquanto o código de exemplo está a correr.
using System;
using System.Management;
// This example shows synchronous consumption of events.
// The client is blocked while waiting for events.
public class EventWatcherPolling
{
public static int Main(string[] args)
{
// Create event query to be notified within 1 second of
// a change in a service
string query = "SELECT * FROM" +
" __InstanceCreationEvent WITHIN 1 " +
"WHERE TargetInstance isa \"Win32_Process\"";
// Event options
// blockSize = 1 to receive one event
EventWatcherOptions eventOptions = new
EventWatcherOptions(null, System.TimeSpan.MaxValue,
1);
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher("root\\CIMV2", query,
eventOptions);
// Block until the next event occurs
// Note: this can be done in a loop if waiting for
// more than one occurrence
Console.WriteLine(
"Open an application (notepad.exe) to trigger an event.");
ManagementBaseObject e = watcher.WaitForNextEvent();
//Display information from the event
Console.WriteLine(
"Process {0} has been created, path is: {1}",
((ManagementBaseObject)e
["TargetInstance"])["Name"],
((ManagementBaseObject)e
["TargetInstance"])["ExecutablePath"]);
//Cancel the subscription
watcher.Stop();
return 0;
}
}
Imports System.Management
' This example shows synchronous consumption of events.
' The client is blocked while waiting for events.
Public Class EventWatcherPolling
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
' Create event query to be notified within 1 second of
' a change in a service
Dim query As String
query = "SELECT * FROM" & _
" __InstanceCreationEvent WITHIN 1 " & _
"WHERE TargetInstance isa ""Win32_Process"""
' Event options
' blockSize = 1 to receive one event
Dim eventOptions As New EventWatcherOptions( _
Nothing, System.TimeSpan.MaxValue, 1)
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher( _
"root\CIMV2", query, eventOptions)
' Block until the next event occurs
' Note: this can be done in a loop
' if waiting for more than one occurrence
Console.WriteLine( _
"Open an application (notepad.exe) to trigger an event.")
Dim e As ManagementBaseObject = _
watcher.WaitForNextEvent()
'Display information from the event
Console.WriteLine( _
"Process {0} has created, path is: {1}", _
CType(e("TargetInstance"), _
ManagementBaseObject)("Name"), _
CType(e("TargetInstance"), _
ManagementBaseObject)("ExecutablePath"))
'Cancel the subscription
watcher.Stop()
Return 0
End Function 'Main
End Class
Observações
Segurança do .NET Framework
Confiança total no contacto imediato. Este membro não pode ser utilizado por código parcialmente confiável. Para mais informações, consulte Utilização de Bibliotecas de Código Parcialmente Confiável.