次の方法で共有


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 内)

参照

EventWatcherOptions メンバ | System.Management 名前空間