SWbemServices.AssociatorsOfAsync 方法
SWbemServices物件的AssociatorsOfAsync方法會傳回物件集合, (類別或實例) 稱為與指定物件相關聯的端點。 呼叫 AssociatorsOfAsync會立即傳回,而結果和狀態會透過傳遞至objWbemSink中所指定接收的事件傳回給呼叫端。 若要處理每個傳回的物件,請建立 objWbemSink。OnObjectReady 事件處理常式。
所有物件送達之後,會在 objWbemSink中完成處理。OnCompleted 事件。 這個方法會執行 ASSOCIATORS OF WQL 查詢執行的相同函式。 如需建立接收的詳細資訊,請參閱 接收 WMI 事件。
方法會在非同步模式中呼叫。 如需詳細資訊,請參閱 呼叫方法。
如需此語法的說明,請參閱 腳本 API 的檔慣例。
語法
SWbemServices.AssociatorsOfAsync( _
ByVal objWbemSink, _
ByVal strObjectPath, _
[ ByVal strAssocClass ], _
[ ByVal strResultClass ], _
[ ByVal strResultRole ], _
[ ByVal strRole ], _
[ ByVal bClassesOnly ], _
[ ByVal bSchemaOnly ], _
[ ByVal strRequiredAssocQualifier ], _
[ ByVal strRequiredQualifier ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
參數
-
objWbemSink
-
必要。 以非同步方式接收物件的物件接收。 建立 SWbemSink 物件以接收物件。
-
strObjectPath
-
必要。 包含來源類別或實例之物件路徑的字串。 如需詳細資訊,請參閱 描述 WMI 物件的位置。
-
strAssocClass [選擇性]
-
包含關聯類別的字串。 指定時,此參數表示傳回的端點必須透過指定的關聯類別或衍生自這個關聯類別的類別,與來源相關聯。
-
strResultClass [選擇性]
-
包含類別名稱的字串。 如果指定,這個選擇性參數表示傳回的端點必須屬於或衍生自此參數中指定的類別。
-
strResultRole [選擇性]
-
包含屬性名稱的字串。 如果指定,此參數表示傳回的端點必須與來源物件關聯時扮演特定角色。 角色是由指定屬性的名稱所定義, (必須是關聯之參考屬性) 。
-
strRole [選擇性]
-
包含屬性名稱的字串。 如果指定,此參數表示傳回的端點必須與來源物件扮演特定角色的來源物件建立關聯。 角色是由指定屬性的名稱所定義, (必須是關聯之參考屬性) 。
-
bClassesOnly [選擇性]
-
布林值,指出是否應該傳回類別名稱清單,而不是類別的實際實例。 這些是端點實例所屬的類別。 此參數的預設值為 FALSE。
-
bSchemaOnly [選擇性]
-
布林值,指出查詢是否套用至架構,而不是資料。 此參數的預設值為 FALSE。 只有在strObjectPath參數指定類別的物件路徑時,才能將它設定為TRUE。 當設定為 TRUE時,傳回的端點集合代表與架構中來源類別有適當關聯的類別。
-
strRequiredAssocQualifier [選擇性]
-
包含限定詞名稱的字串。 如果指定,此參數表示傳回的端點必須透過包含指定限定詞的關聯類別,與來源物件相關聯。
-
strRequiredQualifier [選擇性]
-
包含限定詞名稱的字串。 如果指定,此參數表示傳回的端點必須包含指定的限定詞。
-
iFlags [選擇性]
-
整數,指定作業的其他旗標。 此參數的預設值為 wbemFlagDontSendStatus。 此參數可以接受下列值。
-
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 事件。
錯誤碼
完成 AssociatorsOfAsync 方法之後, Err 物件可能會包含下列清單中的其中一個錯誤碼。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
目前使用者沒有檢視呼叫所傳回之一或多個類別的許可權。
-
wbemErrFailed - 2147749889 (0x80041001)
-
未指定的錯誤。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
指定了不正確參數。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
記憶體不足,無法完成作業。
-
wbemErrNotFound - 2147749890 (0x80041002)
-
找不到要求的專案。
備註
此呼叫會立即傳回。 要求的物件和狀態會透過傳遞至 objWbemSink中指定的接收回呼傳回給呼叫端。 若要在傳回時處理每個物件,請建立 objWbemSink。OnObjectReady 事件副程式。 傳回所有物件之後,您可以在 objWbemSink實作中執行最終處理。OnCompleted 事件。
非同步回呼可讓未驗證的使用者將資料提供給接收。 這對您的腳本和應用程式造成安全性風險。 若要消除風險,請參閱 在非同步呼叫上設定安全性。
使用腳本中的 objWbemAsyncCoNtext 參數來驗證呼叫的來源。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista |
最低支援的伺服器 |
Windows Server 2008 |
標頭 |
|
類型程式庫 |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |