ManagementEventWatcher クラス

定義

指定したイベント クエリに基づいて、一時的な イベント通知をサブスクライブします。

public ref class ManagementEventWatcher : System::ComponentModel::Component
public class ManagementEventWatcher : System.ComponentModel.Component
type ManagementEventWatcher = class
    inherit Component
Public Class ManagementEventWatcher
Inherits Component
継承
ManagementEventWatcher

次の例は、イベント クラスが__InstanceCreationEventされているために、Win32_Processのインスタンスが作成されたときにクライアントが通知を受け取る方法を示しています。 詳細については、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, EventWatcherOptions)

指定したオプションに従って、指定した WMI イベント クエリに準拠するイベントをリッスンする ManagementEventWatcher クラスの新しいインスタンスを初期化します。 このバリアントの場合、クエリとスコープは指定されたオブジェクトです。 options オブジェクトでは、タイムアウトやコンテキスト情報などのオプションを指定できます。

ManagementEventWatcher(ManagementScope, EventQuery)

指定された WMI イベント クエリに準拠するイベントをリッスンするManagementEventWatcher クラスの新しいインスタンスを初期化します。

ManagementEventWatcher(String, String, EventWatcherOptions)

指定したオプションに従って、指定した WMI イベント クエリに準拠するイベントをリッスンするManagementEventWatcher クラスの新しいインスタンスを初期化します。 このバリアントの場合、クエリとスコープは文字列として指定されます。 options オブジェクトでは、タイムアウトやコンテキスト情報などのオプションを指定できます。

ManagementEventWatcher(String, String)

指定された WMI イベント クエリに準拠するイベントをリッスンするManagementEventWatcher クラスの新しいインスタンスを初期化します。 このバリアントの場合、クエリとスコープは文字列として指定されます。

ManagementEventWatcher(String)

WMI イベント クエリを文字列形式で指定した場合に、ManagementEventWatcher クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
CanRaiseEvents

コンポーネントがイベントを発生できるかどうかを示す値を取得します。

(継承元 Component)
Container

IContainerを含むComponentを取得します。

(継承元 Component)
DesignMode

Componentが現在デザイン モードであるかどうかを示す値を取得します。

(継承元 Component)
Events

この Componentにアタッチされているイベント ハンドラーの一覧を取得します。

(継承元 Component)
Options

イベントの監視に使用するオプションを取得または設定します。

Query

イベントに適用する条件を取得または設定します。

Scope

イベントを監視するスコープ (名前空間またはスコープ) を取得または設定します。

Site

ISiteComponentを取得または設定します。

(継承元 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()

Stringの名前 (存在する場合) を含むComponentを返します。 このメソッドはオーバーライドしないでください。

(継承元 Component)
WaitForNextEvent()

指定したクエリと一致する次のイベントが到着するのを待ってから、それを返します。

イベント

名前 説明
Disposed

コンポーネントが Dispose() メソッドの呼び出しによって破棄されるときに発生します。

(継承元 Component)
EventArrived

新しいイベントが到着したときに発生します。

Stopped

サブスクリプションが取り消されたときに発生します。

適用対象