ManagementOperationObserver Classe

Définition

Gère les opérations asynchrones ainsi que les informations de gestion et les événements reçus de manière asynchrone.

public ref class ManagementOperationObserver
public class ManagementOperationObserver
type ManagementOperationObserver = class
Public Class ManagementOperationObserver
Héritage
ManagementOperationObserver

Exemples

L’exemple suivant montre comment effectuer une énumération d’instance asynchrone. L’exemple utilise la ManagementOperationObserver classe pour gérer les informations de gestion et les événements de façon asynchrone.

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

Constructeurs

ManagementOperationObserver()

Initialise une nouvelle instance de la classe ManagementOperationObserver. Il s’agit du constructeur sans paramètre.

Méthodes

Cancel()

Annule toutes les opérations en attente.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Événements

Completed

Se produit lorsqu'une opération est terminée.

ObjectPut

Se produit lorsqu'un objet a été validé avec succès.

ObjectReady

Se produit lorsqu'un nouvel objet est disponible.

Progress

Se produit pour indiquer l'avancement d'une opération en cours.

S’applique à