ManagementEventWatcher Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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. |