Επεξεργασία

Κοινή χρήση μέσω


CompletedEventArgs Class

Definition

Holds event data for the Completed event.

public ref class CompletedEventArgs : System::Management::ManagementEventArgs
public class CompletedEventArgs : System.Management.ManagementEventArgs
type CompletedEventArgs = class
    inherit ManagementEventArgs
Public Class CompletedEventArgs
Inherits ManagementEventArgs
Inheritance
CompletedEventArgs

Examples

The following example calls a method asynchronously. The Win32_Process.Create method is called to create a new process for 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

Properties

Context

Gets the operation context echoed back from the operation that triggered the event.

(Inherited from ManagementEventArgs)
Status

Gets the completion status of the operation.

StatusObject

Gets additional status information within a WMI object. This may be null.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to