EventWatcherOptions Klass

Definition

Anger alternativ för att övervaka hanteringshändelser.

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

Exempel

I följande exempel visas hur klienten får ett meddelande när en instans av Win32_Process skapas eftersom händelseklassen är __InstanceCreationEvent. Mer information finns i dokumentationen Windows Management Instrumentation. Klienten tar emot händelser synkront genom att anropa WaitForNextEvent metoden. Det här exemplet kan testas genom att starta en process, till exempel Anteckningar, medan exempelkoden körs.

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

Konstruktorer

Name Description
EventWatcherOptions()

Initierar en ny instans av klassen för händelsevisning med hjälp av EventWatcherOptions standardvärden. Det här är den parameterlösa konstruktorn.

EventWatcherOptions(ManagementNamedValueCollection, TimeSpan, Int32)

Initierar en ny instans av EventWatcherOptions klassen med angivna värden.

Egenskaper

Name Description
BlockSize

Hämtar eller anger blockstorleken för blockåtgärder. När du väntar på händelser anger det här värdet hur många händelser som ska vänta innan de returneras.

Context

Hämtar eller anger ett WMI-kontextobjekt. Det här är en namn/värde-parlista som ska skickas till en WMI-provider som stöder kontextinformation för anpassad åtgärd.

(Ärvd från ManagementOptions)
Timeout

Hämtar eller anger tidsgränsen för åtgärden. Observera att för åtgärder som returnerar samlingar gäller den här tidsgränsen för uppräkningen via den resulterande samlingen, inte själva åtgärden ( ReturnImmediately egenskapen används för den senare). Den här egenskapen används för att indikera att åtgärden ska utföras halvsynkront.

(Ärvd från ManagementOptions)

Metoder

Name Description
Clone()

Returnerar en kopia av objektet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för