EventWatcherOptions Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр EventWatcherOptions класса для просмотра событий.
Перегрузки
| Имя | Описание |
|---|---|
| EventWatcherOptions() |
Инициализирует новый экземпляр EventWatcherOptions класса для просмотра событий, используя значения по умолчанию. Это конструктор без параметров. |
| EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32) |
Инициализирует новый экземпляр EventWatcherOptions класса с заданными значениями. |
EventWatcherOptions()
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
Инициализирует новый экземпляр EventWatcherOptions класса для просмотра событий, используя значения по умолчанию. Это конструктор без параметров.
public:
EventWatcherOptions();
public EventWatcherOptions();
Public Sub New ()
Примеры
В следующем примере показано, как клиент получает уведомление при создании экземпляра Win32_Process , так как класс событий __InstanceCreationEvent. Дополнительные сведения см. в документации Windows инструментирования управления. Клиент синхронно получает события, вызывая WaitForNextEvent метод. Этот пример можно проверить, запуская процесс, например Блокнот, во время выполнения примера кода.
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
Комментарии
Безопасность .NET Framework
Полное доверие для немедленного вызывающего абонента. Этот элемент не может использоваться частично доверенным кодом. Дополнительные сведения см. в разделе "Использование библиотек из частично доверенного кода".
Применяется к
EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
- Исходный код:
- ManagementOptions.cs
Инициализирует новый экземпляр EventWatcherOptions класса с заданными значениями.
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)
Параметры
- context
- ManagementNamedValueCollection
Объект контекста параметров, содержащий сведения о поставщике, передаваемые поставщику.
- timeout
- TimeSpan
Время ожидания следующих событий.
- blockSize
- Int32
Количество событий, ожидаемых в каждом блоке.
Примеры
В следующем примере показано, как клиент получает уведомление при создании экземпляра Win32_Process , так как класс событий __InstanceCreationEvent. Дополнительные сведения см. в документации Windows инструментирования управления. Клиент синхронно получает события, вызывая WaitForNextEvent метод. Этот пример можно проверить, запуская процесс, например Блокнот, во время выполнения примера кода.
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
Комментарии
Безопасность .NET Framework
Полное доверие для немедленного вызывающего абонента. Этот элемент не может использоваться частично доверенным кодом. Дополнительные сведения см. в разделе "Использование библиотек из частично доверенного кода".