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)
-
目前使用者沒有檢視呼叫所傳回之一或多個類別的許可權。
-
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 |
標頭 |
|
類型程式庫 |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |