SWbemServices.SubclassesOf メソッド
SWbemServices オブジェクトの SubclassesOf メソッドは、SWbemObjectSet オブジェクトを返します。 このオブジェクトは、指定したクラスのサブクラスのコレクションです。 返されるコレクション内の項目は、標準のコレクション メソッドを使用して取得できます。 詳細については、コレクションへのアクセスに関する記事を参照してください。
このメソッドは、クラス オブジェクトに対してのみ機能します。
メソッドは、半同期モードで呼び出されます。 詳細については、「メソッドの呼び出し」を参照してください。
この構文の説明については、「スクリプト API のドキュメント規則」を参照してください。
構文
objWbemObjectSet = .SubclassesOf( _
[ ByVal strSuperclass ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
パラメーター
-
strSuperclass [オプション]
-
親クラス名を指定します。 このクラスのサブクラスのみが列挙子で返されます。 このパラメータを空白のままにし、iFlags が wbemQueryFlagShallow の場合は、最上位クラス (つまり、親クラスを持たないクラス) のみが返されます。 このパラメータが空白で、iFlags が wbemQueryFlagDeep の場合、名前空間内のすべてのクラスが返されます。
-
iFlags [オプション]
-
呼び出しの列挙の詳細度を決定します。 このパラメータの既定値は wbemFlagReturnImmediately と wbemQueryFlagDeep です。 このパラメータには次の値を指定できます。
-
wbemQueryFlagShallow (1 (0x1))
-
指定した親クラスの直接サブクラスのみが強制的に列挙に含まれます。
-
wbemQueryFlagDeep (0 (0x0))
-
このパラメータの既定値。 この値は、指定した親クラスから派生したすべてのサブクラスに対して再帰的列挙を強制します。 親クラスは、列挙では返されません。
-
wbemFlagReturnImmediately (16 (0x10))
-
呼び出しはすぐに戻ります。
-
wbemFlagReturnWhenComplete (0 (0x0))
-
呼び出しが完了するまで、この呼び出しをブロックします。 このフラグは、メソッドを同期モードで呼び出します。
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
WMI で基底クラス定義と共にクラス変更データを返すようにします。 詳細については、「WMI クラス情報のローカライズ」を参照してください。
objWbemNamedValueSet [オプション]
通常、これは未定義です。 そうでない場合、これは SWbemNamedValueSet オブジェクトであり、その要素は、要求を処理しているプロバイダーが使用できるコンテキスト情報を表します。 そのような情報をサポートする、または必要とするプロバイダーは、認識された値の名前、値のデータ型、許可された値、セマンティクスを文書化する必要があります。
戻り値
メソッドが成功すると、SWbemObjectSet オブジェクトが返されます。
エラー コード
SubclassesOf メソッドの完了後に、Err オブジェクトに次のリストのいずれかのエラー コードが含まれる場合があります。
注意
要素を含まないコレクションが返されても、エラーではありません。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
現在のユーザーには、呼び出しによって返された 1 つ以上のクラスを表示する権限がありません。
-
wbemErrFailed - 2147749889 (0x80041001)
-
未定義のエラーが発生しました。
-
wbemErrInvalidClass - 2147749904 (0x80041010)
-
指定されたクラスが存在しません。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
無効なパラメーターが指定されました。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
操作を完了させるための十分なメモリがありません。
例
次の PowerShell サンプルは、リモート システム上のクラスのサブクラスを取得する方法を示しています。
$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
Header |
|
タイプ ライブラリ |
|
[DLL] |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |