EventQuery 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ředstavuje dotaz události WMI.
public ref class EventQuery : System::Management::ManagementQuery
public class EventQuery : System.Management.ManagementQuery
type EventQuery = class
inherit ManagementQuery
Public Class EventQuery
Inherits ManagementQuery
- Dědičnost
- Odvozené
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
EventQuery query = new EventQuery();
query.QueryString = "SELECT * FROM" +
" __InstanceCreationEvent WITHIN 1 " +
"WHERE TargetInstance isa \"Win32_Process\"";
// Initialize an event watcher and subscribe to events
// that match this query
ManagementEventWatcher watcher =
new ManagementEventWatcher(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 EventQuery
query.QueryString = "SELECT * FROM" & _
" __InstanceCreationEvent WITHIN 1 " & _
"WHERE TargetInstance isa ""Win32_Process"""
' Initialize an event watcher and subscribe to events
' that match this query
Dim watcher As New ManagementEventWatcher(query)
' times watcher.WaitForNextEvent in 5 seconds
watcher.Options.Timeout = New TimeSpan(0, 0, 50)
' 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
EventQuery() |
Inicializuje novou instanci EventQuery třídy . Toto je konstruktor bez parametrů. |
EventQuery(String) |
Inicializuje novou instanci EventQuery třídy pro zadaný dotaz. |
EventQuery(String, String) |
Inicializuje novou instanci EventQuery třídy pro zadaný jazyk a dotaz. |
Vlastnosti
QueryLanguage |
Získá nebo nastaví dotazovací jazyk použitý v řetězci dotazu, definující formát řetězce dotazu. (Zděděno od ManagementQuery) |
QueryString |
Získá nebo nastaví dotaz v textovém formátu. (Zděděno od ManagementQuery) |
Metody
Clone() |
Vrátí kopii objektu . |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ParseQuery(String) |
Analyzuje řetězec dotazu a nastaví hodnoty vlastností odpovídajícím způsobem. Pokud je dotaz platný, bude analyzována vlastnost názvu třídy a podmínka dotazu. (Zděděno od ManagementQuery) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |