ManagementEventWatcher Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Подписывается на временные уведомления о событиях на основе указанного запроса события.
public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
inherit Component
Public Class ManagementEventWatcher
Inherits Component
- Наследование
Примеры
В следующем примере показано, как клиент получает уведомление при создании экземпляра 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
WqlEventQuery query =
new WqlEventQuery("__InstanceCreationEvent",
new TimeSpan(0,0,1),
"TargetInstance isa \"Win32_Process\"");
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher();
watcher.Query = query;
// times out watcher.WaitForNextEvent in 5 seconds
watcher.Options.Timeout = new TimeSpan(0,0,5);
// 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 New WqlEventQuery( _
"__InstanceCreationEvent", _
New TimeSpan(0, 0, 1), _
"TargetInstance isa ""Win32_Process""")
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher
watcher.Query = query
' times watcher.WaitForNextEvent in 5 seconds
watcher.Options.Timeout = New TimeSpan(0, 0, 5)
' 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
Конструкторы
| Имя | Описание |
|---|---|
| ManagementEventWatcher() |
Инициализирует новый экземпляр класса ManagementEventWatcher. Для дальнейшего инициализации задайте свойства объекта. Это конструктор без параметров. |
| ManagementEventWatcher(EventQuery) |
Инициализирует новый экземпляр ManagementEventWatcher класса при выполнении запроса события WMI. |
| ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Инициализирует новый экземпляр ManagementEventWatcher класса, который прослушивает события, соответствующие заданному запросу события WMI, в соответствии с указанными параметрами. Для этого варианта запрос и область являются указанными объектами. Объект options может указывать такие параметры, как время ожидания и сведения о контексте. |
| ManagementEventWatcher(ManagementScope, EventQuery) |
Инициализирует новый экземпляр ManagementEventWatcher класса, который прослушивает события, соответствующие заданному запросу события WMI. |
| ManagementEventWatcher(String, String, EventWatcherOptions) |
Инициализирует новый экземпляр ManagementEventWatcher класса, который прослушивает события, соответствующие заданному запросу события WMI, в соответствии с указанными параметрами. Для этого варианта запрос и область указываются в виде строк. Объект options может указывать такие параметры, как время ожидания и сведения о контексте. |
| ManagementEventWatcher(String, String) |
Инициализирует новый экземпляр ManagementEventWatcher класса, который прослушивает события, соответствующие заданному запросу события WMI. Для этого варианта запрос и область указываются в виде строк. |
| ManagementEventWatcher(String) |
Инициализирует новый экземпляр ManagementEventWatcher класса при выполнении запроса события WMI в виде строки. |
Свойства
| Имя | Описание |
|---|---|
| CanRaiseEvents |
Возвращает значение, указывающее, может ли компонент вызвать событие. (Унаследовано от Component) |
| Container |
Возвращает объект IContainer , содержащий Componentобъект . (Унаследовано от Component) |
| DesignMode |
Возвращает значение, указывающее, находится ли текущий Component режим разработки. (Унаследовано от Component) |
| Events |
Возвращает список обработчиков событий, подключенных к этому Component. (Унаследовано от Component) |
| Options |
Возвращает или задает параметры, используемые для просмотра событий. |
| Query |
Возвращает или задает критерии для применения к событиям. |
| Scope |
Возвращает или задает область, в которой следует отслеживать события (пространство имен или область). |
| Site |
Возвращает или задает ISite объект Component. (Унаследовано от Component) |
Методы
| Имя | Описание |
|---|---|
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| Dispose() |
Освобождает все ресурсы, используемые параметром Component. (Унаследовано от Component) |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые Component и при необходимости освобождает управляемые ресурсы. (Унаследовано от Component) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Finalize() |
Гарантирует очистку невыполненных вызовов. Это деструктор для объекта. В C#методы завершения выражаются с помощью синтаксиса деструктора. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую Component или ее Container. (Унаследовано от Component) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| Start() |
Подписывается на события с заданным запросом и предоставляет их асинхронно через EventArrived событие. |
| Stop() |
Отменяет подписку, синхронную или асинхронную. |
| ToString() |
String Возвращает имя, содержащее имя , если таковое Componentимеется. Этот метод не должен быть переопределен. (Унаследовано от Component) |
| WaitForNextEvent() |
Ожидает следующего события, соответствующего указанному запросу, и возвращает его. |
События
| Имя | Описание |
|---|---|
| Disposed |
Происходит при удалении компонента вызовом Dispose() метода. (Унаследовано от Component) |
| EventArrived |
Происходит при поступлении нового события. |
| Stopped |
Происходит при отмене подписки. |