ManagementEventWatcher 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 이벤트 쿼리에 따라 임시 이벤트 알림을 신청합니다.
public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
inherit Component
Public Class ManagementEventWatcher
Inherits Component
- 상속
예제
다음 예제에서는 클라이언트의 경우 인스턴스의 알림을 수신 하는 방법을 보여 줍니다 Win32_Process 이벤트 클래스 이므로 만들어집니다 __InstanceCreationEvent합니다. 자세한 내용은 Windows Management Instrumentation 설명서를 참조하세요. 클라이언트에서는 WaitForNextEvent 메서드를 호출하여 이벤트를 동기적으로 수신합니다. 예제 코드가 실행될 때 메모장과 같은 프로세스를 시작하여 이 예제를 테스트할 수 있습니다.
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
생성자
ManagementEventWatcher() |
ManagementEventWatcher 클래스의 새 인스턴스를 초기화합니다. 추가로 초기화하려면 개체의 속성을 설정합니다. 이는 매개 변수가 없는 생성자입니다. |
ManagementEventWatcher(EventQuery) |
WMI 이벤트 쿼리에 따라 ManagementEventWatcher 클래스의 새 인스턴스를 초기화합니다. |
ManagementEventWatcher(ManagementScope, EventQuery) |
지정된 WMI 이벤트 쿼리와 일치하는 이벤트를 수신하는 ManagementEventWatcher 클래스의 새 인스턴스를 초기화합니다. |
ManagementEventWatcher(ManagementScope, EventQuery, EventWatcherOptions) |
지정된 옵션에 따라, 지정된 WMI 이벤트 쿼리와 일치하는 이벤트를 수신하는 ManagementEventWatcher 클래스의 새 인스턴스를 초기화합니다. 이 변형에서는 쿼리와 범위가 개체로 지정됩니다. 옵션 개체에서는 시간 제한 및 컨텍스트 정보와 같은 옵션을 지정할 수 있습니다. |
ManagementEventWatcher(String) |
WMI 이벤트 쿼리가 문자열 형태로 지정되면 ManagementEventWatcher 클래스의 새 인스턴스를 초기화합니다. |
ManagementEventWatcher(String, String) |
지정된 WMI 이벤트 쿼리와 일치하는 이벤트를 수신하는 ManagementEventWatcher 클래스의 새 인스턴스를 초기화합니다. 이 변형에서는 쿼리와 범위가 문자열로 지정됩니다. |
ManagementEventWatcher(String, String, EventWatcherOptions) |
지정된 옵션에 따라 지정된 WMI 이벤트 쿼리를 준수하는 이벤트를 수신 대기하는 클래스의 ManagementEventWatcher 새 instance 초기화합니다. 이 변형에서는 쿼리와 범위가 문자열로 지정됩니다. 옵션 개체에서는 시간 제한 및 컨텍스트 정보와 같은 옵션을 지정할 수 있습니다. |
속성
CanRaiseEvents |
구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
Container |
IContainer을 포함하는 Component를 가져옵니다. (다음에서 상속됨 Component) |
DesignMode |
Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
Events |
이 Component에 연결된 이벤트 처리기의 목록을 가져옵니다. (다음에서 상속됨 Component) |
Options |
이벤트를 조사하는 데 사용할 옵션을 가져오거나 설정합니다. |
Query |
이벤트에 적용할 기준을 가져오거나 설정합니다. |
Scope |
이벤트를 조사할 범위(네임스페이스 또는 범위)를 가져오거나 설정합니다. |
Site |
Component의 ISite를 가져오거나 설정합니다. (다음에서 상속됨 Component) |
메서드
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
Dispose() |
Component에서 사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 Component) |
Dispose(Boolean) |
Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (다음에서 상속됨 Component) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Finalize() |
아직 해결되지 않은 호출을 해제합니다. 개체의 소멸자입니다. C#에서 종료자는 소멸자 구문을 사용하여 표현됩니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetService(Type) |
Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다. (다음에서 상속됨 Component) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
Start() |
지정된 쿼리를 사용하여 이벤트에 등록하고 EventArrived 이벤트를 통해 비동기적으로 배달합니다. |
Stop() |
동기적이든지 비동기적이든지 상관없이 등록을 취소합니다. |
ToString() |
Component의 이름이 포함된 String을 반환합니다(있는 경우). 이 메서드는 재정의할 수 없습니다. (다음에서 상속됨 Component) |
WaitForNextEvent() |
지정된 쿼리와 일치하는 다음 이벤트가 도착하기를 기다린 다음 해당 이벤트를 반환합니다. |
이벤트
Disposed |
Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다. (다음에서 상속됨 Component) |
EventArrived |
새 이벤트가 도착하면 발생합니다. |
Stopped |
등록이 취소되면 발생합니다. |
적용 대상
.NET