CompletedEventArgs Class
.NET Framework 4.5
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
Namespace: System.Management
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 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
