SWbemServices. InstancesOf 方法

SWbemServices物件的 InstancesOf 方法會根據使用者指定的選取準則,建立傳回指定類別之實例的列舉值。 這個方法會執行簡單的查詢。 更複雜的查詢可能需要使用 SWbemServices.ExecQuery

方法會在半同步模式中呼叫。 如需詳細資訊,請參閱 呼叫方法

如需此語法的說明,請參閱 腳本 API 的檔慣例

語法

objWbemObjectSet = .InstancesOf( _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

參數

strClass

必要。 包含需要實例之類別名稱的字串。 此參數不可以是空白。

iFlags [選]

此參數會決定呼叫列舉的詳細資訊,以及此呼叫是否立即傳回。 此參數的預設值為 wbemFlagReturnImmediately。 此參數可接受下列值。

wbemFlagForwardOnly * * * (32 (0x20) )

使順向列舉值傳回。 順向列舉值的速度通常會比傳統列舉值更快,且使用的記憶體較少,但不允許呼叫 SWbemObject。 _

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 服務抽象類別下定義的所有動態類別所模型化的所有資源 _ 。

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 _ 服務的所有子類別的資訊,包括 win32 _ >systemdriverwin32 _ ApplicationService

規格需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
標頭
>wbemdisp.tlb。h
類型程式庫
>wbemdisp.tlb .tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemServices
IID
IID _ ISWbemServices

另請參閱

SWbemServices

Swbemobjectset 搭配使用