EventWatcherOptions Class

Definition

Задает параметры наблюдения за событиями управления.Specifies options for management event watching.

public ref class EventWatcherOptions : System::Management::ManagementOptions
public class EventWatcherOptions : System.Management.ManagementOptions
type EventWatcherOptions = class
    inherit ManagementOptions
Public Class EventWatcherOptions
Inherits ManagementOptions
Inheritance
EventWatcherOptions

Examples

В следующем примере показано, как клиент получает уведомление при создании экземпляра Win32_Process , поскольку класс событий __InstanceCreationEvent.The following example shows how the client receives notification when an instance of Win32_Process is created because the event class is __InstanceCreationEvent. Дополнительные сведения см. в документации по инструментарий управления Windows (WMI) .For more information, see the Windows Management Instrumentation documentation. Клиент получает события синхронно, вызывая метод WaitForNextEvent.The client receives events synchronously by calling the WaitForNextEvent method. Чтобы протестировать этот пример, можно во время выполнения кода запустить какой-нибудь процесс, такой как приложение Блокнот.This example can be tested by starting a process, such as Notepad, while the example code is running.

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

Constructors

EventWatcherOptions()

Выполняет инициализацию нового экземпляра класса EventWatcherOptions с помощью значений по умолчанию для наблюдения за событиями.Initializes a new instance of the EventWatcherOptions class for event watching, using default values. Это конструктор без параметров.This is the parameterless constructor.

EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)

Выполняет инициализацию нового экземпляра класса EventWatcherOptions с заданными значениями.Initializes a new instance of the EventWatcherOptions class with the given values.

Properties

BlockSize

Получает или задает размер блока для блочных операций.Gets or sets the block size for block operations. В процессе ожидания событий это значение указывает, сколько событий ожидать перед возвратом.When waiting for events, this value specifies how many events to wait for before returning.

Context

Получает или задает контекстный объект WMI.Gets or sets a WMI context object. Это список пар имя/значение, который необходимо передать поставщику WMI, поддерживающему контекстные сведения для настраиваемой операции.This is a name-value pairs list to be passed through to a WMI provider that supports context information for customized operation.

(Inherited from ManagementOptions)
Timeout

Получает или задает время ожидания для операции.Gets or sets the time-out to apply to the operation. Обратите внимание, что для операций, возвращающих коллекции, это время ожидания применяется к перечислению, которое выполняется в результирующей коллекции, а не к самой операции (к операции применяется свойство ReturnImmediately).Note that for operations that return collections, this time-out applies to the enumeration through the resulting collection, not the operation itself (the ReturnImmediately property is used for the latter). Это свойство позволяет указать, что операция должна быть выполнена в полусинхронном режиме.This property is used to indicate that the operation should be performed semi-synchronously.

(Inherited from ManagementOptions)

Methods

Clone()

Возвращает копию объекта.Returns a copy of the object.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Applies to