ManagementEventWatcher Класс

Определение

Подписывается на временные уведомления о событиях на основе указанного запроса события.

public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
    inherit Component
Public Class ManagementEventWatcher
Inherits Component
Наследование
ManagementEventWatcher

Примеры

В следующем примере показано, как клиент получает уведомление при создании экземпляра 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

Происходит при отмене подписки.

Применяется к