EventWatcherOptions クラス
アセンブリ: System.Management (system.management.dll 内)


イベント クラスが __InstanceCreationEvent であるために、Win32_Process のインスタンスが作成されたときにクライアントが通知を受信するしくみを説明する例を次に示します。詳細については、MSDN ライブラリ (http://msdn.microsoft.com/library/ja) で Windows Management Instrumentation に関するドキュメントを参照してください。クライアントは WaitForNextEvent メソッドを呼び出して、イベントを同期的に受信します。この例は、コード例の実行中にメモ帳などのプロセスを開始することでテストできます。
Imports System 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 String query = "SELECT * FROM" & _ " __InstanceCreationEvent WITHIN 1 " & _ "WHERE TargetInstance isa ""Win32_Process""" ' Event options Dim eventOptions As New EventWatcherOptions eventOptions.Timeout = System.TimeSpan.MaxValue ' Initialize an event watcher and subscribe to events ' that match this query Dim watcher As New ManagementEventWatcher( _ "root\CIMV2", query, eventOptions) ' 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 'EventWatcherPolling
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 string query = "SELECT * FROM" + " __InstanceCreationEvent WITHIN 1 " + "WHERE TargetInstance isa \"Win32_Process\""; // Event options EventWatcherOptions eventOptions = new EventWatcherOptions(); eventOptions.Timeout = System.TimeSpan.MaxValue; // Initialize an event watcher and subscribe to events // that match this query ManagementEventWatcher watcher = new ManagementEventWatcher("root\\CIMV2", query, eventOptions); // 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; } }

System.Management.ManagementOptions
System.Management.EventWatcherOptions


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EventWatcherOptions コンストラクタ ()
アセンブリ: System.Management (system.management.dll 内)


イベント クラスが __InstanceCreationEvent であるために、Win32_Process のインスタンスが作成されたときにクライアントが通知を受信するしくみを説明する例を次に示します。詳細については、MSDN ライブラリ (http://msdn.microsoft.com/library/ja) で Windows Management Instrumentation に関するドキュメントを参照してください。クライアントは WaitForNextEvent メソッドを呼び出して、イベントを同期的に受信します。この例は、コード例の実行中にメモ帳などのプロセスを開始することでテストできます。
Imports System 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 String query = "SELECT * FROM" & _ " __InstanceCreationEvent WITHIN 1 " & _ "WHERE TargetInstance isa ""Win32_Process""" ' Event options Dim eventOptions As New EventWatcherOptions eventOptions.Timeout = System.TimeSpan.MaxValue ' Initialize an event watcher and subscribe to events ' that match this query Dim watcher As New ManagementEventWatcher( _ "root\CIMV2", query, eventOptions) ' 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 'EventWatcherPolling
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 string query = "SELECT * FROM" + " __InstanceCreationEvent WITHIN 1 " + "WHERE TargetInstance isa \"Win32_Process\""; // Event options EventWatcherOptions eventOptions = new EventWatcherOptions(); eventOptions.Timeout = System.TimeSpan.MaxValue; // Initialize an event watcher and subscribe to events // that match this query ManagementEventWatcher watcher = new ManagementEventWatcher("root\\CIMV2", query, eventOptions); // 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; } }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EventWatcherOptions コンストラクタ (ManagementNamedValueCollection, TimeSpan, Int32)
アセンブリ: System.Management (system.management.dll 内)

Public Sub New ( _ context As ManagementNamedValueCollection, _ timeout As TimeSpan, _ blockSize As Integer _ )
Dim context As ManagementNamedValueCollection Dim timeout As TimeSpan Dim blockSize As Integer Dim instance As New EventWatcherOptions(context, timeout, blockSize)
public EventWatcherOptions ( ManagementNamedValueCollection context, TimeSpan timeout, int blockSize )
public: EventWatcherOptions ( ManagementNamedValueCollection^ context, TimeSpan timeout, int blockSize )
public EventWatcherOptions ( ManagementNamedValueCollection context, TimeSpan timeout, int blockSize )
public function EventWatcherOptions ( context : ManagementNamedValueCollection, timeout : TimeSpan, blockSize : int )

イベント クラスが __InstanceCreationEvent であるために、Win32_Process のインスタンスが作成されたときにクライアントが通知を受信するしくみを説明する例を次に示します。詳細については、MSDN ライブラリ (http://msdn.microsoft.com/library/ja) で Windows Management Instrumentation に関するドキュメントを参照してください。クライアントは WaitForNextEvent メソッドを呼び出して、イベントを同期的に受信します。この例は、コード例の実行中にメモ帳などのプロセスを開始することでテストできます。
Imports System 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 String query = "SELECT * FROM" & _ " __InstanceCreationEvent WITHIN 1 " & _ "WHERE TargetInstance isa ""Win32_Process""" ' Event options ' blockSize = 1 to receive one event Dim eventOptions As New EventWatcherOptions( _ Nothing, System.TimeSpan.MaxValue, 1) ' Initialize an event watcher and subscribe to events ' that match this query Dim watcher As New ManagementEventWatcher( _ "root\CIMV2", query, eventOptions) ' 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 'EventWatcherPolling
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 string query = "SELECT * FROM" + " __InstanceCreationEvent WITHIN 1 " + "WHERE TargetInstance isa \"Win32_Process\""; // Event options // blockSize = 1 to receive one event EventWatcherOptions eventOptions = new EventWatcherOptions(null, System.TimeSpan.MaxValue , 1); // Initialize an event watcher and subscribe to events // that match this query ManagementEventWatcher watcher = new ManagementEventWatcher("root\\CIMV2", query, eventOptions); // 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; } }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EventWatcherOptions コンストラクタ

名前 | 説明 |
---|---|
EventWatcherOptions () | イベント ウォッチのための EventWatcherOptions クラスの新しいインスタンスを、既定値を使用して初期化します。これは既定のコンストラクタです。 |
EventWatcherOptions (ManagementNamedValueCollection, TimeSpan, Int32) | 指定した値を使用して、EventWatcherOptions クラスの新しいインスタンスを初期化します。 |

EventWatcherOptions プロパティ

名前 | 説明 | |
---|---|---|
![]() | BlockSize | ブロック操作のブロック サイズを取得または設定します。イベントを待機する場合、この値は制御を戻す前に待機するイベント数を指定します。 |
![]() | Context | WMI (Windows Management Instrumentation) コンテキスト オブジェクトを取得または設定します。これは、カスタマイズされた操作のためのコンテキスト情報をサポートしている WMI プロバイダに渡す名前/値ペア リストです。 ( ManagementOptions から継承されます。) |
![]() | Timeout | 操作に適用するタイムアウトを取得または設定します。コレクションを返す操作では、このタイムアウトはその操作自体ではなく、結果として得られるコレクションの列挙に適用されます。操作自体に適用するには、ReturnImmediately プロパティを使用します。このプロパティは、操作が半同期的に実行されることを示すために使用されます。 ( ManagementOptions から継承されます。) |

EventWatcherOptions メソッド

名前 | 説明 | |
---|---|---|
![]() | Clone | オーバーライドされます。 オブジェクトのコピーを返します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

EventWatcherOptions メンバ
EventWatcherOptions データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | BlockSize | ブロック操作のブロック サイズを取得または設定します。イベントを待機する場合、この値は制御を戻す前に待機するイベント数を指定します。 |
![]() | Context | WMI (Windows Management Instrumentation) コンテキスト オブジェクトを取得または設定します。これは、カスタマイズされた操作のためのコンテキスト情報をサポートしている WMI プロバイダに渡す名前/値ペア リストです。 (ManagementOptions から継承されます。) |
![]() | Timeout | 操作に適用するタイムアウトを取得または設定します。コレクションを返す操作では、このタイムアウトはその操作自体ではなく、結果として得られるコレクションの列挙に適用されます。操作自体に適用するには、ReturnImmediately プロパティを使用します。このプロパティは、操作が半同期的に実行されることを示すために使用されます。 (ManagementOptions から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Clone | オーバーライドされます。 オブジェクトのコピーを返します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- EventWatcherOptionsのページへのリンク