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 |
它的出现是为了指示正在进行的操作的进度。 |