SWbemObject.ReferencesAsync_方法

SWbemObject的ReferencesAsync_方法會提供參考目前物件之所有關聯類別或實例的集合。 這個方法會執行 WQL REFERENCES OF 查詢所執行的相同函式。

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

語法

SWbemObject.ReferencesAsync_( _
  ByVal objWbemSink, _
  [ ByVal strResultClass ], _
  [ ByVal strRole ], _
  [ ByVal bClassesOnly ], _
  [ ByVal bSchemaOnly ], _
  [ ByVal strRequiredQualifier ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

參數

objWbemSink [in]

必要。 以非同步方式接收物件的物件接收。

strResultClass [in, optional]

包含類別名稱的字串。 如果指定,此參數表示傳回的關聯物件必須屬於或衍生自此參數中指定的類別。

strRole [in, optional]

包含屬性名稱的字串。 如果指定,此參數表示傳回的關聯物件必須限制為來源物件扮演特定角色的物件。 指定之參考屬性的名稱會定義關聯的角色。

bClassesOnly [in, optional]

布林值,指出是否應該傳回類別名稱清單,而不是類別的實際實例。 這些是關聯物件所屬的類別。 此參數的預設值為 FALSE。

bSchemaOnly [in, optional]

布林值,指出查詢是否套用至架構,而不是資料。 此參數的預設值為 FALSE。 只有在叫用這個方法的物件是類別時,才能將它設定為 TRUE 。 當設定為 TRUE時,傳回的端點集合代表與架構中來源類別有適當關聯的類別。

strRequiredQualifier [in, optional]

包含限定詞名稱的字串。 如果指定,此參數表示傳回的關聯物件必須包含指定的限定詞。

iFlags [in, optional]

指定作業其他旗標的整數。 此參數可以接受下列值。

wbemFlagSendStatus (128 (0x80) )

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

wbemFlagDontSendStatus (0 (0x0) )

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

wbemFlagUseAmendedQualifiers (131072 (0x20000) )

導致 Windows Management Instrumentation (WMI) 傳回類別增修資料與基類定義。 如需詳細資訊,請參閱 當地語系化 WMI 類別資訊。

objwbemNamedValueSet [in, optional]

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

objWbemAsyncCoNtext [in, optional]

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

傳回值

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

錯誤碼

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

wbemErrAccessDenied - 2147749891 (0x80041003)

目前使用者沒有許可權可檢視呼叫所傳回的一或多個類別。

wbemErrFailed - 2147749889 (0x80041001)

未指定的錯誤。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定了不正確參數。

wbemErrOutOfMemory - 2147749894 (0x80041006)

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

備註

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

非同步回呼可讓未驗證的使用者將資料提供給接收。 這對您的腳本和應用程式造成安全性風險。 若要消除風險,請使用半同步通訊或同步通訊。 如需詳細資訊,請參閱 呼叫方法。

如需有關相關 WQL 查詢、來源實例和關聯物件之 REFERENCES OF 的詳細資訊,請參閱 ASSOCIATORS OF 語句。

規格需求

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

另請參閱

SWbemObject

SWbemObject.Associators_

SWbemServices.AssociatorsOf

SWbemServices.ReferencesTo

SWbemServices.ReferencesToAsync