ManagementClass.GetInstances Method (ManagementOperationObserver)


Returns the collection of all instances of the class, asynchronously.

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

public void GetInstances(
	ManagementOperationObserver watcher


Type: System.Management.ManagementOperationObserver

The object to handle the asynchronous operation's progress.

Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.

The following example shows how to initialize a ManagementClass variable with a ManagementClass constructor and then get all the instances of a WMI class asynchronously.

using System;
using System.Management;

public class AsyncGetExample
    public AsyncGetExample() 
        ManagementClass c = 
            new ManagementClass("Win32_Process");
        ManagementOperationObserver ob =
            new ManagementOperationObserver();
        ob.ObjectReady += new ObjectReadyEventHandler(NewObject);
        ob.Completed += new CompletedEventHandler(Done);


        while (!Completed)
            System.Threading.Thread.Sleep (1000);

        // Here you can use the object


    private bool completed = false;

    private void NewObject(object sender,
        ObjectReadyEventArgs e) 
        Console.WriteLine("New result arrived: {0}",

    private void Done(object sender,
        CompletedEventArgs e) 
        Console.WriteLine("async Get completed !");
        completed = true;

    private bool Completed 
            return completed;

    public static void Main()
        AsyncGetExample asyncGet = new


.NET Framework
Available since 1.1
Return to top