CompletedEventHandler Delegate
.NET Framework 4.5
Represents the method that will handle the Completed event.
Namespace: System.Management
Assembly: System.Management (in System.Management.dll)
Parameters
- sender
- Type: System.Object
The instance of the object for which to invoke this method.
- e
- Type: System.Management.CompletedEventArgs
The CompletedEventArgs that specifies the reason the event was invoked.
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.