ManagementEventWatcher Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přihlásí se k odběru dočasných oznámení událostí na základě zadaného dotazu na událost.
public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
inherit Component
Public Class ManagementEventWatcher
Inherits Component
- Dědičnost
Příklady
Následující příklad ukazuje, jak klient obdrží oznámení při vytvoření instance Win32_Process , protože třída události je __InstanceCreationEvent. Další informace najdete v dokumentaci k nástroji Windows Management Instrumentation . Klient přijímá události synchronně voláním metody .WaitForNextEvent Tento příklad lze otestovat spuštěním procesu, například Poznámkového bloku, zatímco je ukázkový kód spuštěn.
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
Konstruktory
ManagementEventWatcher() |
Inicializuje novou instanci ManagementEventWatcher třídy . Pro další inicializaci nastavte vlastnosti objektu. Toto je konstruktor bez parametrů. |
ManagementEventWatcher(EventQuery) |
Inicializuje novou instanci ManagementEventWatcher třídy při zadání dotazu na událost WMI. |
ManagementEventWatcher(ManagementScope, EventQuery) |
Inicializuje novou instanci ManagementEventWatcher třídy, která naslouchá událostem v souladu s daným dotazem události rozhraní WMI. |
ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
Inicializuje novou instanci ManagementEventWatcher třídy, která naslouchá událostem v souladu s daným dotazem události rozhraní WMI podle zadaných možností. Pro tuto variantu jsou zadanými objekty dotaz a obor. Objekt options může určovat možnosti, jako je vypršení časového limitu a informace o kontextu. |
ManagementEventWatcher(String) |
Inicializuje novou instanci ManagementEventWatcher třídy při zadání dotazu události WMI ve formě řetězce. |
ManagementEventWatcher(String, String) |
Inicializuje novou instanci ManagementEventWatcher třídy, která naslouchá událostem v souladu s daným dotazem události rozhraní WMI. Pro tuto variantu se dotaz a obor zadají jako řetězce. |
ManagementEventWatcher(String, String, EventWatcherOptions) |
Inicializuje novou instanci ManagementEventWatcher třídy, která naslouchá událostem v souladu s daným dotazem události rozhraní WMI podle zadaných možností. Pro tuto variantu se dotaz a obor zadají jako řetězce. Objekt options může určovat možnosti, jako je vypršení časového limitu a informace o kontextu. |
Vlastnosti
CanRaiseEvents |
Získá hodnotu označující, zda komponenta může vyvolat událost. (Zděděno od Component) |
Container |
Získá objekt IContainer , který obsahuje Component. (Zděděno od Component) |
DesignMode |
Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component . (Zděděno od Component) |
Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
Options |
Získá nebo nastaví možnosti používané k watch pro události. |
Query |
Získá nebo nastaví kritéria pro použití na události. |
Scope |
Získá nebo nastaví obor, ve kterém chcete watch pro události (obor názvů nebo obor). |
Site |
Získá nebo nastaví ISite z Component. (Zděděno od Component) |
Metody
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané nástrojem Component a volitelně uvolní spravované prostředky. (Zděděno od Component) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Finalize() |
Zajišťuje vymazání nevyřízených volání. Toto je destruktor objektu. V jazyce C# se finalizační metody vyjadřují pomocí syntaxe destruktoru. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo .Container (Zděděno od Component) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
Start() |
Přihlásí se k odběru událostí s daným dotazem a doručuje je asynchronně prostřednictvím EventArrived události. |
Stop() |
Zruší předplatné bez ohledu na to, jestli je synchronní nebo asynchronní. |
ToString() |
String Vrátí hodnotu obsahující název , Componentpokud existuje. Tato metoda by neměla být přepsána. (Zděděno od Component) |
WaitForNextEvent() |
Počká na příchod další události, která odpovídá zadanému dotazu, a pak ji vrátí. |
Událost
Disposed |
Vyvolá se, když je komponenta uvolněna voláním Dispose() metody . (Zděděno od Component) |
EventArrived |
Vyvolá se při příchodu nové události. |
Stopped |
Vyvolá se při zrušení předplatného. |