CompletedEventArgs Class
.NET Framework 4
Holds event data for the Completed event.
System.Object
System.EventArgs
System.Management.ManagementEventArgs
System.Management.CompletedEventArgs
System.EventArgs
System.Management.ManagementEventArgs
System.Management.CompletedEventArgs
Assembly: System.Management (in System.Management.dll)
The CompletedEventArgs type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | 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. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (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.) |
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; } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
