Share via


ManagementClass.GetSubclasses メソッド

定義

クラスのすべての派生クラスのコレクションを返します。

オーバーロード

GetSubclasses()

クラスのすべてのサブクラスのコレクションを返します。

GetSubclasses(EnumerationOptions)

指定したオプションを使用して、クラスのサブクラスを取得します。

GetSubclasses(ManagementOperationObserver)

このクラスから派生したすべてのクラスのコレクションを非同期的に返します。

GetSubclasses(ManagementOperationObserver, EnumerationOptions)

指定したオプションを使用して、このクラスから派生したすべてのクラスを非同期的に取得します。

注釈

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

GetSubclasses()

ソース:
ManagementClass.cs
ソース:
ManagementClass.cs
ソース:
ManagementClass.cs

クラスのすべてのサブクラスのコレクションを返します。

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

戻り値

WMI クラスのサブクラスを表す ManagementObject オブジェクトのコレクション。

次の例では、 メソッドを GetSubclasses 使用して、 CIM_LogicalDisk クラスのサブクラスを一覧表示します。 詳細については、「 CIM_LogicalDisk」を参照してください。

using System;
using System.Management;

public class Sample
{
    public static void Main()
    {
        ManagementClass c =
            new ManagementClass("CIM_LogicalDisk");

        foreach (ManagementClass r in c.GetSubclasses())
        {
            Console.WriteLine(
                "Instances of {0} are sub-classes",
                r["__CLASS"]);
        }

        foreach (ManagementClass r in c.GetRelationshipClasses())
        {
            Console.WriteLine(
                "{0} is a relationship class to " +
                c.ClassPath.ClassName,
                r["__CLASS"]);

            foreach (ManagementClass related in c.GetRelatedClasses(
                null, r.ClassPath.ClassName,
                "Association", null, null, null, null))
            {
                Console.WriteLine(
                    "{0} is related to " + c.ClassPath.ClassName,
                    related.ClassPath.ClassName);
            }
        }

        return;
    }
}
Imports System.Management


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

        Dim c As ManagementClass
        c = New ManagementClass("CIM_LogicalDisk")

        For Each r As ManagementClass In c.GetSubclasses()

            Console.WriteLine( _
                "Instances of {0} are sub-classes", _
                r("__CLASS"))
        Next

        For Each r As ManagementClass In c.GetRelationshipClasses()

            Console.WriteLine( _
                "{0} is a relationship class to " & _
                c.ClassPath.ClassName, _
                r("__CLASS"))

            For Each related As ManagementClass In c.GetRelatedClasses( _
                Nothing, r.ClassPath.ClassName, "Association", Nothing, _
                Nothing, Nothing, Nothing)

                Console.WriteLine( _
                    "{0} is related to " & c.ClassPath.ClassName, _
                    related.ClassPath.ClassName)
            Next
        Next


    End Function
End Class

注釈

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象

GetSubclasses(EnumerationOptions)

ソース:
ManagementClass.cs
ソース:
ManagementClass.cs
ソース:
ManagementClass.cs

指定したオプションを使用して、クラスのサブクラスを取得します。

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

パラメーター

options
EnumerationOptions

クラスのサブクラスを取得するために指定する追加のオプション。

戻り値

指定したオプションに従って、WMI クラスのサブクラスを表す ManagementObject オブジェクトのコレクション。

次の例は、コンストラクターを使用して変数をManagementClassManagementClass初期化し、コンストラクターに渡される WMI クラスのサブクラスを受け取る方法を示しています。

using System;
using System.Management;

public class Example
{
    public static void Main()
    {
        EnumerationOptions opt = new EnumerationOptions();
        // Causes return of deep subclasses
        // as opposed to only immediate ones.
        opt.EnumerateDeep = true;
        ManagementObjectCollection subclasses = (new
            ManagementClass("CIM_LogicalDisk")).GetSubclasses(opt);
        foreach(ManagementClass subclass in subclasses)
        {
            Console.WriteLine( "Subclass found: {0}" ,
                subclass["__CLASS"]);
        }

        return;
    }
}
Imports System.Management

Public Class Sample

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

        Dim opt As New EnumerationOptions

        ' Causes return of deep subclasses
        ' as opposed to only immediate ones.
        opt.EnumerateDeep = True

        Dim cls As New ManagementClass("CIM_LogicalDisk")
        Dim subclasses As ManagementObjectCollection

        subclasses = cls.GetSubclasses(opt)

        For Each subclass As ManagementClass In subclasses
            Console.WriteLine("Subclass found: {0}", _
                subclass("__CLASS"))
        Next

        Return 0
    End Function
End Class

注釈

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象

GetSubclasses(ManagementOperationObserver)

ソース:
ManagementClass.cs
ソース:
ManagementClass.cs
ソース:
ManagementClass.cs

このクラスから派生したすべてのクラスのコレクションを非同期的に返します。

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

パラメーター

watcher
ManagementOperationObserver

非同期操作の進行状況を処理するオブジェクト。

注釈

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象

GetSubclasses(ManagementOperationObserver, EnumerationOptions)

ソース:
ManagementClass.cs
ソース:
ManagementClass.cs
ソース:
ManagementClass.cs

指定したオプションを使用して、このクラスから派生したすべてのクラスを非同期的に取得します。

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

パラメーター

watcher
ManagementOperationObserver

非同期操作の進行状況を処理するオブジェクト。

options
EnumerationOptions

派生クラスの取得で使用するために指定する追加のオプション。

注釈

.NET Framework のセキュリティ

直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。

適用対象