Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

CompletedEventArgs Class

Holds event data for the Completed event.

Namespace: System.Management
Assembly: System.Management (in system.management.dll)

public class CompletedEventArgs : ManagementEventArgs
public class CompletedEventArgs extends ManagementEventArgs
public class CompletedEventArgs extends ManagementEventArgs

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;

    }
}

System.Object
   System.EventArgs
     System.Management.ManagementEventArgs
      System.Management.CompletedEventArgs
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.