語言

ManagementClass.GetInstances 方法

定義

回傳該類別所有實例的集合。

多載

名稱 Description
GetInstances()

回傳該類別所有實例的集合。

GetInstances(EnumerationOptions)

回傳使用指定選項的所有類別實例集合。

GetInstances(ManagementOperationObserver)

非同步回傳所有類別實例的集合。

GetInstances(ManagementOperationObserver, EnumerationOptions)

非同步回傳該類別所有實例的集合,使用指定的選項。

備註

.NET Framework 安全性

完全信任當下的來電者。 此成員無法被部分受信任的程式碼使用。 欲了解更多資訊,請參閱 「部分受信任程式碼的函式庫使用」。

GetInstances()

來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs

回傳該類別所有實例的集合。

public:
 System::Management::ManagementObjectCollection ^ GetInstances();
public System.Management.ManagementObjectCollection GetInstances();
member this.GetInstances : unit -> System.Management.ManagementObjectCollection
Public Function GetInstances () As ManagementObjectCollection

傳回

一組 ManagementObject 代表該類別實例的物件集合。

範例

以下範例展示了如何用ManagementClass建構子初始化變ManagementClass數,然後取得所有 WMI 類別的實例。

using System;
using System.Management;

public class Sample
{
    public static void Main()
    {
        ManagementClass c = new ManagementClass("Win32_Process");
        foreach (ManagementObject o in c.GetInstances())
            Console.WriteLine(
                "Next instance of Win32_Process : {0}", o["Name"]);
    }
}
Imports System.Management

Class Sample

    Public Overloads Shared Function _
    Main(ByVal args() As String) As Integer

        Dim c As New ManagementClass("Win32_Process")
        Dim o As ManagementObject
        For Each o In c.GetInstances()
            Console.WriteLine( _
                "Next instance of Win32_Process : {0}", o("Name"))
        Next o

    End Function
End Class

備註

.NET Framework 安全性

完全信任當下的來電者。 此成員無法被部分受信任的程式碼使用。 欲了解更多資訊,請參閱 「部分受信任程式碼的函式庫使用」。

適用於

GetInstances(EnumerationOptions)

來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs

回傳使用指定選項的所有類別實例集合。

public:
 System::Management::ManagementObjectCollection ^ GetInstances(System::Management::EnumerationOptions ^ options);
public System.Management.ManagementObjectCollection GetInstances(System.Management.EnumerationOptions options);
member this.GetInstances : System.Management.EnumerationOptions -> System.Management.ManagementObjectCollection
Public Function GetInstances (options As EnumerationOptions) As ManagementObjectCollection

參數

options
EnumerationOptions

額外的操作選項。

傳回

根據指定的選項,代表 ManagementObject 類別實例的物件集合。

範例

以下範例展示了如何用ManagementClass建構子初始化ManagementClass變數,然後取得所有 WMI 類別及其子類別的實例。

using System;
using System.Management;

public class Sample
{
    public static void Main()
    {
        EnumerationOptions opt = new EnumerationOptions();
        // Will enumerate instances of the given class and any subclasses.
        opt.EnumerateDeep = true;
        ManagementClass c = new ManagementClass("CIM_Service");
        foreach (ManagementObject o in c.GetInstances(opt))
            Console.WriteLine(o["Name"]);
    }
}
Imports System.Management

Class Sample

    Public Overloads Shared Function _
    Main(ByVal args() As String) As Integer

        Dim opt As New EnumerationOptions
        ' Will enumerate instances of the given class and any subclasses.
        opt.EnumerateDeep = True
        Dim mngmtClass As New ManagementClass("CIM_Service")
        Dim o As ManagementObject
        For Each o In mngmtClass.GetInstances(opt)
            Console.WriteLine(o("Name"))
        Next o

    End Function
End Class

備註

.NET Framework 安全性

完全信任當下的來電者。 此成員無法被部分受信任的程式碼使用。 欲了解更多資訊,請參閱 「部分受信任程式碼的函式庫使用」。

適用於

GetInstances(ManagementOperationObserver)

來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs

非同步回傳所有類別實例的集合。

public:
 void GetInstances(System::Management::ManagementOperationObserver ^ watcher);
public void GetInstances(System.Management.ManagementOperationObserver watcher);
member this.GetInstances : System.Management.ManagementOperationObserver -> unit
Public Sub GetInstances (watcher As ManagementOperationObserver)

參數

watcher
ManagementOperationObserver

處理非同步操作進度的物件。

範例

以下範例展示了如何用ManagementClass建構子初始化變ManagementClass數,然後非同步取得所有 WMI 類別的實例。

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);

        c.GetInstances(ob);

        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}",
            ((ManagementObject)(e.NewObject))["Name"]);
    }

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

    private bool Completed
    {
        get
        {
            return completed;
        }
    }

    public static void Main()
    {
        AsyncGetExample asyncGet = new
            AsyncGetExample();

        return;
    }
}
Imports System.Management

Public Class AsyncGetExample

    Public Sub New()

        Dim c As New ManagementClass("Win32_Process")
        Dim ob As New ManagementOperationObserver
        AddHandler ob.ObjectReady, AddressOf Me.NewObject
        AddHandler ob.Completed, AddressOf Me.Done

        c.GetInstances(ob)

        While Not Me.Completed
            System.Threading.Thread.Sleep(1000)
        End While

        'Here you can use the object

    End Sub

    Private finished As Boolean = False

    Private Sub NewObject(ByVal sender As Object, _
    ByVal e As ObjectReadyEventArgs)
        Console.WriteLine("New result arrived: {0}", _
         e.NewObject("Name"))
    End Sub

    Private Sub Done(ByVal sender As Object, _
    ByVal e As CompletedEventArgs)
        Console.WriteLine("async Get completed !")
        finished = True
    End Sub

    Private ReadOnly Property Completed() As Boolean
        Get
            Return finished
        End Get
    End Property


    Public Shared Function Main(ByVal args() _
        As String) As Integer

        Dim asyncGet As New AsyncGetExample

        Return 0

    End Function

End Class

備註

.NET Framework 安全性

完全信任當下的來電者。 此成員無法被部分受信任的程式碼使用。 欲了解更多資訊,請參閱 「部分受信任程式碼的函式庫使用」。

適用於

GetInstances(ManagementOperationObserver, EnumerationOptions)

來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs
來源:
ManagementClass.cs

非同步回傳該類別所有實例的集合,使用指定的選項。

public:
 void GetInstances(System::Management::ManagementOperationObserver ^ watcher, System::Management::EnumerationOptions ^ options);
public void GetInstances(System.Management.ManagementOperationObserver watcher, System.Management.EnumerationOptions options);
member this.GetInstances : System.Management.ManagementOperationObserver * System.Management.EnumerationOptions -> unit
Public Sub GetInstances (watcher As ManagementOperationObserver, options As EnumerationOptions)

參數

watcher
ManagementOperationObserver

處理非同步操作進度的物件。

options
EnumerationOptions

這些額外的選項用於取得實例。

備註

.NET Framework 安全性

完全信任當下的來電者。 此成員無法被部分受信任的程式碼使用。 欲了解更多資訊,請參閱 「部分受信任程式碼的函式庫使用」。

適用於