Partilhar via


CompletedEventArgs Classe

Definição

Reter dados de evento para o evento Completed.

public ref class CompletedEventArgs : System::Management::ManagementEventArgs
public class CompletedEventArgs : System.Management.ManagementEventArgs
type CompletedEventArgs = class
    inherit ManagementEventArgs
Public Class CompletedEventArgs
Inherits ManagementEventArgs
Herança
CompletedEventArgs

Exemplos

O exemplo a seguir chama um método de forma assíncrona. O método Win32_Process.Create é chamado para criar um novo processo para Calc.exe.

using System;
using System.Management;

public class InvokeMethodAsync
{
    private bool isComplete = false;
    private ManagementBaseObject returnObject;

    public InvokeMethodAsync()
    {
        // Get the object on which the method
        // will be invoked
        ManagementClass processClass =
            new ManagementClass("Win32_Process");

        // Create a results and completion handler
        ManagementOperationObserver handler =
            new ManagementOperationObserver();
        handler.Completed +=
            new CompletedEventHandler(this.Completed);

        // Invoke method asynchronously
        ManagementBaseObject inParams =
            processClass.GetMethodParameters("Create");
        inParams["CommandLine"] = "calc.exe";
        processClass.InvokeMethod(
            handler, "Create", inParams, null);

        // Do something while method is executing
        while(!this.IsComplete)
        {
            System.Threading.Thread.Sleep(1000);
        }
    }

    // Property allows accessing the result
    // object in the main function
    private ManagementBaseObject ReturnObject
    {
        get
        {
            return returnObject;
        }
    }

    // Delegate called when the method completes
    // and results are available
    private void NewObject(object sender,
        ObjectReadyEventArgs e)
    {
        Console.WriteLine("New Object arrived!");
        returnObject = e.NewObject;
    }

    // Used to determine whether the method
    // execution has completed
    private bool IsComplete
    {
        get
        {
            return isComplete;
        }
    }

    private void Completed(object sender,
        CompletedEventArgs e)
    {
        isComplete = true;
        Console.WriteLine("Method invoked.");
    }

    public static void Main()
    {
        InvokeMethodAsync invokeMethod = new InvokeMethodAsync();

        return;
    }
}
Imports System.Management

Public Class InvokeMethodAsync

    Private isFinished As Boolean = False
    Private returnObj As ManagementBaseObject

    Public Sub New()

        ' Get the object on which the method 
        ' will be invoked
        Dim processClass As ManagementClass = _
            New ManagementClass("Win32_Process")

        ' Create a results and completion handler
        Dim handler As ManagementOperationObserver = _
            New ManagementOperationObserver
        AddHandler handler.Completed, _
            AddressOf Me.Completed

        ' Invoke method asynchronously
        Dim inParams As ManagementBaseObject = _
            processClass.GetMethodParameters("Create")
        inParams("CommandLine") = "calc.exe"
        processClass.InvokeMethod( _
            handler, "Create", inParams, Nothing)

        ' Do something while method is executing
        While (Not Me.IsComplete)

            System.Threading.Thread.Sleep(1000)
        End While

    End Sub

    ' Property allows accessing the result
    ' object in the main function
    Private Function ReturnObject() As ManagementBaseObject

        Return returnObj

    End Function

    ' Delegate called when the method completes
    ' and results are available
    Private Sub NewObject(ByVal sender As Object, _
        ByVal e As ObjectReadyEventArgs)

        Console.WriteLine("New Object arrived!")
        returnObj = e.NewObject

    End Sub

    ' Used to determine whether the method
    ' execution has completed
    Private Function IsComplete() As Boolean

        Return isFinished

    End Function

    Private Sub Completed(ByVal sender As Object, _
        ByVal e As CompletedEventArgs)

        isFinished = True
        Console.WriteLine("Completed method invocation.")

    End Sub

    Public Shared Function _
            Main(ByVal args() As String) As Integer

        Dim invokeMethod As New InvokeMethodAsync

        Return 0

    End Function


End Class

Propriedades

Context

Obtém o contexto de operação ecoado de volta da operação que disparou o evento.

(Herdado de ManagementEventArgs)
Status

Obtém o status de conclusão da operação.

StatusObject

Obtém informações de status adicionais dentro de um objeto WMI. Isso pode ser null.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a