SWbemServices.InstancesOf 方法
SWbemServices物件的InstancesOf方法會建立列舉值,根據使用者指定的選取準則傳回指定類別的實例。 這個方法會實作簡單的查詢。 更複雜的查詢可能需要使用 SWbemServices.ExecQuery。
方法會在半同步模式中呼叫。 如需詳細資訊,請參閱 呼叫方法。
如需此語法的說明,請參閱 腳本 API 的檔慣例。
語法
objWbemObjectSet = .InstancesOf( _
ByVal strClass, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
參數
-
strClass
-
必要。 包含所需實例之類別名稱的字串。 此參數不可為空白。
-
iFlags [選擇性]
-
此參數會決定呼叫列舉的詳細程度,以及此呼叫是否立即傳回。 此參數的預設值為 wbemFlagReturnImmediately。 此參數可以接受下列值。
-
wbemFlagForwardOnly (32 (0x20) )
-
導致傳回順向列舉值。 順向列舉值通常比傳統列舉值快得多,而且使用較少的記憶體,但不允許呼叫 SWbemObject.Clone_。
-
wbemFlagBidirectional (0 (0x0) )
-
讓 WMI 保留列舉物件的指標,直到用戶端釋放列舉值為止。
-
wbemFlagReturnImmediately (16 (0x10) )
-
此參數的預設值。 此旗標會導致立即傳回呼叫。
-
wbemFlagReturnWhenComplete (0 (0x0) )
-
導致此呼叫封鎖,直到查詢完成為止。 這個旗標會以同步模式呼叫 方法。
-
wbemQueryFlagShallow (1 (0x1) )
-
強制列舉只包含指定父類別的立即子類別。
-
wbemQueryFlagDeep (0 (0x0) )
-
此參數的預設值。 這個值會強制列舉在階層中包含所有類別。
-
wbemFlagUseAmendedQualifiers (131072 (0x20000) )
-
讓 WMI 使用基類定義傳回類別增修條款資料。 如需詳細資訊,請參閱 當地語系化 WMI 類別資訊。
objWbemNamedValueSet [選擇性]
一般而言,這是未定義的。 否則,這是 SWbemNamedValueSet 物件,其元素代表服務要求的提供者可以使用的內容資訊。 支援或需要這類資訊的提供者必須記載已辨識的值名稱、值的資料類型、允許的值和語意。
傳回值
如果成功,此方法會傳回 SWbemObjectSet。
錯誤碼
完成 InstancesOf方法之後,Err物件可能會包含下列清單中的其中一個錯誤碼。
注意
傳回具有零個元素的列舉值不是錯誤。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
目前使用者沒有檢視指定類別實例的許可權。
-
wbemErrFailed - 2147749889 (0x80041001)
-
發生未指定的錯誤。
-
wbemErrInvalidClass - 2147749904 (0x80041010)
-
指定的類別無效。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
指定的參數無效。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
記憶體不足,無法完成作業。
備註
InstancesOf方法僅適用于類別物件。
根據預設,InstancesOf 會執行深層擷取。 也就是說,InstancesOf 會擷取您所識別之 Managed 資源的所有實例,以及目標類別下定義之所有子類別的所有實例。 例如,下列腳本會擷取CIM_Service抽象類別底下定義之所有動態類別所建立的所有資源。
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("CIM_Service")
For Each objSWbemObject In colSWbemObjectSet
Wscript.Echo "Object Path: " & objSWbemObject.Path_.Path
Next
如果您執行此腳本,將會傳回信息。 不過,這項資訊不會限制在電腦上安裝的服務。 相反地,它會包含 CIM_Service所有子類別的資訊,包括 Win32_SystemDriver 和 Win32_ApplicationService。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista |
最低支援的伺服器 |
Windows Server 2008 |
標頭 |
|
類型程式庫 |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |