SWbemServices.InstancesOfAsync 方法

SWbemServices 物件的 InstancesOfAsync 方法 會根據使用者指定的準則擷取指定類別的實例。

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

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

語法

SWbemServices.InstancesOfAsync( _
  ByVal ObjWbemSink, _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

參數

ObjWbemSink

非同步接收實例的物件接收。 建立 SWbemSink 物件以接收物件。

strClass

必要。 字串,其中包含所要實例的 類別名稱。 此參數不可以是空白的。

iFlags [選擇性]

判斷呼叫列舉的深度,以及呼叫是否立即傳回。 此參數可以接受下列值。

wbemQueryFlagShallow (1 (0x1))

強制列舉只包含指定父類別的直接子類別。

wbemQueryFlagDeep (0 (0x0))

此參數的預設值。 這個值會強制列舉包含階層中的所有類別。

wbemFlagSendStatus (128 (0x80))

導致非同步呼叫將狀態更新傳送至 物件接收的 OnProgress 事件處理常式。

wbemFlagDontSendStatus (0 (0x0))

防止非同步呼叫將狀態更新傳送至物件接收的 OnProgress 事件處理常式。

wbemFlagUseAmendedQualifiers (131072 (0x20000))

導致 WMI 使用基類定義傳回類別增修資料。 如需詳細資訊,請參閱 當地語系化 WMI 類別資訊

objWbemNamedValueSet [選擇性]

一般而言,這是未定義的。 否則,這是 SWbemNamedValueSet 物件,其專案代表服務要求的提供者可以使用的內容資訊。 支援或需要內容資訊的提供者必須記載可辨識的值名稱、值的資料類型、允許的值和語意。

objWbemAsyncCoNtext [選擇性]

回物件接收以識別原始非同步呼叫來源的 SWbemNamedValueSet 物件。 如果您使用相同的物件接收進行多個非同步呼叫,請使用此參數。 若要使用此參數,請建立 SWbemNamedValueSet 物件,並使用 SWbemNamedValueSet.Add 方法來新增值,以識別您進行之非同步呼叫。 這個 SWbemNamedValueSet 物件會傳回至物件接收,而且可以使用 SWbemNamedValueSet.Item 方法擷取 呼叫的來源。

傳回值

這個方法不會傳回值。 如果成功,接收會收到每個實例的 OnObjectReady 事件。 在最後一個 實例之後,物件接收會收到 OnCompleted 事件。

錯誤碼

在 InstancesOfAsync 方法完成 時, Err 物件可能會包含下列清單中的其中一個錯誤碼。

wbemErrAccessDenied - 2147749891 (0x80041003)

目前使用者沒有檢視指定類別實例的許可權。

wbemErrFailed - 2147749889 (0x80041001)

發生未指定的錯誤。

wbemErrInvalidClass - 2147749904 (0x80041010)

指定的類別無效。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定的參數無效。

wbemErrOutOfMemory - 2147749894 (0x80041006)

記憶體不足,無法完成作業。

備註

此呼叫會立即傳回。 要求的物件和狀態會透過傳遞至 objWbemSink 中所指定接收的 回呼傳回給呼叫端。 若要在傳回時處理每個物件,請建立 objWbemSink OnObjectReady 事件副程式。 傳回所有物件之後,您可以在 objWbemSink 實作中執行最終處理。 OnCompleted 事件。

非同步回呼可讓未經驗證的使用者將資料提供給接收。 這對您的腳本和應用程式構成安全性風險。 若要消除風險,請參閱 在非同步呼叫上設定安全性

InstancesOfAsync 方法只適用于類別物件。 傳回的列舉值沒有零 (0) 個元素的錯誤。

需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
標題
Wbemdisp.h
類型程式庫
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

另請參閱

SWbemServices

呼叫方法