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 rozhraní 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álostí je __InstanceCreationEvent. Další informace najdete v dokumentaci Windows Management Instrumentation. Klient přijímá události synchronně voláním WaitForNextEvent metody. Tento příklad lze otestovat spuštěním procesu, jako je Poznámkový blok, zatímco je spuštěn ukázkový kód.
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
| Name | Description |
|---|---|
| EventQuery() |
Inicializuje novou instanci EventQuery třídy. Toto je konstruktor bez parametrů. |
| EventQuery(String, String) |
Inicializuje novou instanci EventQuery třídy pro zadaný jazyk a dotaz. |
| EventQuery(String) |
Inicializuje novou instanci EventQuery třídy pro zadaný dotaz. |
Vlastnosti
| Name | Description |
|---|---|
| QueryLanguage |
Získá nebo nastaví dotazovací jazyk použitý v řetězci dotazu a definuje 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
| Name | Description |
|---|---|
| Clone() |
Vrátí kopii objektu. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ParseQuery(String) |
Parsuje řetězec dotazu a nastaví hodnoty vlastnosti odpovídajícím způsobem. Pokud je dotaz platný, vlastnost názvu třídy a vlastnost podmínky dotazu se parsuje. (Zděděno od ManagementQuery) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |