ManagementOperationObserver クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非同期操作の管理と管理情報の処理、および非同期的に受け取ったイベントの処理を行います。
public ref class ManagementOperationObserver
public class ManagementOperationObserver
type ManagementOperationObserver = class
Public Class ManagementOperationObserver
- 継承
-
ManagementOperationObserver
例
次の例では、非同期インスタンス列挙を実行する方法を示します。 この例では、 クラスを ManagementOperationObserver 使用して、管理情報とイベントを非同期的に処理します。
using System;
using System.Management;
// This example demonstrates how
// to perform an asynchronous instance enumeration.
public class EnumerateInstancesAsync
{
public EnumerateInstancesAsync()
{
// Enumerate asynchronously using Object Searcher
// ===============================================
// Instantiate an object searcher with the query
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(new
SelectQuery("Win32_Service"));
// Create a results watcher object,
// and handler for results and completion
ManagementOperationObserver results = new
ManagementOperationObserver();
// Attach handler to events for results and completion
results.ObjectReady += new
ObjectReadyEventHandler(this.NewObject);
results.Completed += new
CompletedEventHandler(this.Done);
// Call the asynchronous overload of Get()
// to start the enumeration
searcher.Get(results);
// Do something else while results
// arrive asynchronously
while (!this.Completed)
{
System.Threading.Thread.Sleep (1000);
}
this.Reset();
}
private bool isCompleted = false;
private void NewObject(object sender,
ObjectReadyEventArgs obj)
{
Console.WriteLine("Service : {0}, State = {1}",
obj.NewObject["Name"],
obj.NewObject["State"]);
}
private bool Completed
{
get
{
return isCompleted;
}
}
private void Reset()
{
isCompleted = false;
}
private void Done(object sender,
CompletedEventArgs obj)
{
isCompleted = true;
}
public static void Main()
{
EnumerateInstancesAsync example =
new EnumerateInstancesAsync();
return;
}
}
Imports System.Management
' This example demonstrates how
' to perform an asynchronous instance enumeration.
Public Class EnumerateInstancesAsync
Public Sub New()
Me.isCompleted = False
' Enumerate asynchronously using Object Searcher
' ===============================================
' Instantiate an object searcher with the query
Dim searcher As ManagementObjectSearcher
searcher = New ManagementObjectSearcher( _
New SelectQuery("Win32_Service"))
' Create a results watcher object,
' and handler for results and completion
Dim results As ManagementOperationObserver
results = New ManagementOperationObserver
' Attach handler to events for
' results and completion
AddHandler results.ObjectReady, _
AddressOf Me.NewObject
AddHandler results.Completed, _
AddressOf Me.Done
' Call the asynchronous overload of
' Get() to start the enumeration
searcher.Get(results)
' Do something else while results
' arrive(asynchronously)
Do While (Me.Completed.Equals(False))
System.Threading.Thread.Sleep(1000)
Loop
Me.Reset()
End Sub
Private isCompleted As Boolean
Private Sub NewObject(ByVal sender As Object, _
ByVal e As ObjectReadyEventArgs)
Console.WriteLine("Service : {0}, State = {1}", _
e.NewObject("Name"), e.NewObject("State"))
End Sub
Private ReadOnly Property Completed() As Boolean
Get
Return isCompleted
End Get
End Property
Private Sub Reset()
isCompleted = False
End Sub
Private Sub Done(ByVal sender As Object, _
ByVal e As CompletedEventArgs)
isCompleted = True
End Sub
Public Shared Function _
Main(ByVal args() As String) As Integer
Dim example As New EnumerateInstancesAsync
Return 0
End Function
End Class
コンストラクター
ManagementOperationObserver() |
ManagementOperationObserver クラスの新しいインスタンスを初期化します。 これはパラメーターなしのコンストラクターです。 |
メソッド
Cancel() |
すべての保留状態の操作をキャンセルします。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
イベント
Completed |
操作が完了したときに発生します。 |
ObjectPut |
オブジェクトが正常にコミットされたときに発生します。 |
ObjectReady |
新しいオブジェクトを使用できるときに発生します。 |
Progress |
継続中の操作の進行状況を示すために発生します。 |
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET