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) |
Инициализирует новый экземпляр ManagementEventWatcher, который прослушивает события, удовлетворяющие данному запросу WMI-событий. |
ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Выполняет инициализацию нового экземпляра класса ManagementEventWatcher, который прослушивает события, удовлетворяющие данному запросу WMI-событий в соответствии с заданными параметрами. Для этого варианта запрос и область представляют собой настраиваемые объекты. Параметрический объект может задавать такие параметры, как время ожидания и контекст. |
ManagementEventWatcher(String) |
Инициализирует новый экземпляр класса ManagementEventWatcher, если данный запрос WMI-событий представлен в виде строки. |
ManagementEventWatcher(String, String) |
Инициализирует новый экземпляр ManagementEventWatcher, который прослушивает события, удовлетворяющие данному запросу WMI-событий. Для этого варианта запрос и область задаются в виде строк. |
ManagementEventWatcher(String, String, EventWatcherOptions) |
Инициализирует новый экземпляр 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 |
Происходит, когда отменяется подписка. |