ManagementClass.GetSubclasses メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クラスのすべての派生クラスのコレクションを返します。
オーバーロード
GetSubclasses() |
クラスのすべてのサブクラスのコレクションを返します。 |
GetSubclasses(EnumerationOptions) |
指定したオプションを使用して、クラスのサブクラスを取得します。 |
GetSubclasses(ManagementOperationObserver) |
このクラスから派生したすべてのクラスのコレクションを非同期的に返します。 |
GetSubclasses(ManagementOperationObserver, EnumerationOptions) |
指定したオプションを使用して、このクラスから派生したすべてのクラスを非同期的に取得します。 |
注釈
.NET Framework のセキュリティ
直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。
GetSubclasses()
クラスのすべてのサブクラスのコレクションを返します。
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)
指定したオプションを使用して、クラスのサブクラスを取得します。
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)
このクラスから派生したすべてのクラスのコレクションを非同期的に返します。
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)
指定したオプションを使用して、このクラスから派生したすべてのクラスを非同期的に取得します。
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 のセキュリティ
直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「 部分信頼コードからのライブラリの使用」を参照してください。
適用対象
.NET