ManagementEventWatcher Klass

Definition

Prenumererar på tillfälliga händelsemeddelanden baserat på en angiven händelsefråga.

public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
    inherit Component
Public Class ManagementEventWatcher
Inherits Component
Arv
ManagementEventWatcher

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
        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

Konstruktorer

Name Description
ManagementEventWatcher()

Initierar en ny instans av ManagementEventWatcher klassen. För ytterligare initiering anger du egenskaperna för objektet. Det här är den parameterlösa konstruktorn.

ManagementEventWatcher(EventQuery)

Initierar en ny instans av ManagementEventWatcher klassen när en WMI-händelsefråga ges.

ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions)

Initierar en ny instans av ManagementEventWatcher klassen som lyssnar efter händelser som överensstämmer med den angivna WMI-händelsefrågan enligt de angivna alternativen. För den här varianten är frågan och omfånget angivna objekt. Alternativobjektet kan ange alternativ som timeout och kontextinformation.

ManagementEventWatcher(ManagementScope, EventQuery)

Initierar en ny instans av ManagementEventWatcher klassen som lyssnar efter händelser som överensstämmer med den angivna WMI-händelsefrågan.

ManagementEventWatcher(String, String, EventWatcherOptions)

Initierar en ny instans av ManagementEventWatcher klassen som lyssnar efter händelser som överensstämmer med den angivna WMI-händelsefrågan enligt de angivna alternativen. För den här varianten anges frågan och omfånget som strängar. Alternativobjektet kan ange alternativ, till exempel timeout och kontextinformation.

ManagementEventWatcher(String, String)

Initierar en ny instans av ManagementEventWatcher klassen som lyssnar efter händelser som överensstämmer med den angivna WMI-händelsefrågan. För den här varianten anges frågan och omfånget som strängar.

ManagementEventWatcher(String)

Initierar en ny instans av ManagementEventWatcher klassen när en WMI-händelsefråga ges i form av en sträng.

Egenskaper

Name Description
CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
Options

Hämtar eller anger de alternativ som används för att titta efter händelser.

Query

Hämtar eller anger de villkor som ska tillämpas på händelser.

Scope

Hämtar eller anger det omfång som händelser ska övervakas i (namnområde eller omfång).

Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)

Metoder

Name Description
CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna.

(Ärvd från Component)
Equals(Object)

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

(Ärvd från Object)
Finalize()

Säkerställer att utestående anrop rensas. Det här är destructor för objektet. I C# uttrycks finalizers med hjälp av destruktorsyntax.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
Start()

Prenumererar på händelser med den angivna frågan och levererar dem asynkront via EventArrived händelsen.

Stop()

Avbryter prenumerationen oavsett om den är synkron eller asynkron.

ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

(Ärvd från Component)
WaitForNextEvent()

Väntar på att nästa händelse som matchar den angivna frågan ska tas emot och returnerar den.

Händelser

Name Description
Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)
EventArrived

Inträffar när en ny händelse kommer.

Stopped

Inträffar när en prenumeration avbryts.

Gäller för