EventWatcherOptions クラス
管理イベント ウォッチのオプションを指定します。
この型のすべてのメンバの一覧については、EventWatcherOptions メンバ を参照してください。
System.Object
System.Management.ManagementOptions
System.Management.EventWatcherOptions
Public Class EventWatcherOptions
Inherits ManagementOptions
[C#]
public class EventWatcherOptions : ManagementOptions
[C++]
public __gc class EventWatcherOptions : public ManagementOptions
[JScript]
public class EventWatcherOptions extends ManagementOptions
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
使用例
using System;
using System.Management;
// This example demonstrates how to specify a timeout and a batch count
// when listening to an event using ManagementEventWatcher object.
class Sample_EventWatcherOptions
{
public static int Main(string[] args) {
ManagementClass newClass = new ManagementClass();
newClass["__CLASS"] = "TestDeletionClass";
newClass.Put();
EventWatcherOptions options = new EventWatcherOptions(null,
new TimeSpan(0,0,0,5),
1);
ManagementEventWatcher watcher = new ManagementEventWatcher(null,
new WqlEventQuery("__classdeletionevent"),
options);
MyHandler handler = new MyHandler();
watcher.EventArrived += new EventArrivedEventHandler(handler.Arrived);
watcher.Start();
// Delete class to trigger event
newClass.Delete();
//For the purpose of this example, we will wait
// two seconds before main thread terminates.
System.Threading.Thread.Sleep(2000);
watcher.Stop();
return 0;
}
public class MyHandler
{
public void Arrived(object sender, EventArrivedEventArgs e) {
Console.WriteLine("Class Deleted= " +
((ManagementBaseObject)e.NewEvent["TargetClass"])["__CLASS"]);
}
}
}
[Visual Basic]
Imports System
Imports System.Management
' This example demonstrates how to specify a timeout and a batch count
' when listening to an event using the ManagementEventWatcher object.
Class Sample_EventWatcherOptions
Public Shared Sub Main()
Dim newClass As New ManagementClass()
newClass("__CLASS") = "TestDeletionClass"
newClass.Put()
Dim options As _
New EventWatcherOptions(Nothing, New TimeSpan(0, 0, 0, 5), 1)
Dim watcher As New ManagementEventWatcher( _
Nothing, _
New WqlEventQuery("__classdeletionevent"), _
options)
Dim handler As New MyHandler()
AddHandler watcher.EventArrived, AddressOf handler.Arrived
watcher.Start()
' Delete class to trigger event
newClass.Delete()
' For the purpose of this example, we will wait
' two seconds before main thread terminates.
System.Threading.Thread.Sleep(2000)
watcher.Stop()
End Sub
Public Class MyHandler
Public Sub Arrived(sender As Object, e As EventArrivedEventArgs)
Console.WriteLine("Class Deleted = " & _
CType(e.NewEvent("TargetClass"), ManagementBaseObject)("__CLASS"))
End Sub
End Class
End Class
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Management
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Management (System.Management.dll 内)