SWbemObject.AssociatorsAsync_ 方法
SWbemObject 的 AssociatorsAsync_ 方法获取与当前对象关联的对象(类或实例)。 这些对象称为终结点。 此方法执行的函数与 ASSOCIATORS OF WQL 查询执行的函数相同。
有关此语法的说明,请参阅脚本 API 的文档约定。
语法
SWbemObject.AssociatorsAsync_( _
ByVal objWbemSink, _
[ ByVal strAssocClass ], _
[ ByVal strResultClass ], _
[ ByVal strResultRole ], _
[ ByVal strRole ], _
[ ByVal bClassesOnly ], _
[ ByVal bSchemaOnly ], _
[ ByVal strRequiredAssocQualifier ], _
[ ByVal strRequiredQualifier ], _
[ ByVal iFlags ], _
[ ByVal objwbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
parameters
-
objWbemSink [in]
-
必需。 将对象作为回调异步接收的对象接收器。
-
strAssocClass [in, optional]
-
包含关联类的字符串。 如果指定此参数,则它指示必须通过指定的关联类或派生自此关联类的类将返回的终结点与源相关联。
-
strResultClass [in, optional]
-
包含类名的字符串。 如果指定此参数,则它指示返回的终结点必须属于或派生自此参数中指定的类。
-
strResultRole [in, optional]
-
包含属性名称的字符串。 如果指定此参数,则它指示返回的终结点在与源对象的关联中必须发挥特定作用。 此作用由指定的关联属性(必须是引用属性)的名称定义。
-
strRole [in, optional]
-
包含属性名称的字符串。 如果指定此参数,则它指示返回的终结点必须参与与源对象的关联,源对象在其中发挥特定作用。 此作用由指定的关联属性(必须是引用属性)的名称定义。
-
bClassesOnly [in, optional]
-
指示是否应返回类名列表而不是类的实际实例的布尔值。 这些是终结点实例所属的类。 此参数的默认值为 FALSE。
-
bSchemaOnly [in, optional]
-
一个布尔值,指示查询是否应用于架构而不是数据。 此参数的默认值为 FALSE。 仅当在其上调用此方法的对象是类时,才可将其设置为 TRUE。 如果设置为 TRUE,则返回的终结点集表示与架构中的源类适当关联的类。
-
strRequiredAssocQualifier [in, optional]
-
包含限定符名称的字符串。 如果指定此参数,则它指示必须通过包含指定限定符的关联类将返回的终结点与源对象相关联。
-
strRequiredQualifier [in, optional]
-
包含限定符名称的字符串。 如果指定此参数,则它指示返回的终结点必须包含指定的限定符。
-
iFlags [in, optional]
-
指定操作附加标志的整数。 此参数可接受以下值。
-
wbemFlagSendStatus (128 (0x80))
-
导致异步调用将状态更新发送到对象接收器的 SWbemSink.OnProgress 事件处理程序。
-
wbemFlagDontSendStatus (0 (0x0))
-
防止异步调用将状态更新发送到对象接收器的 OnProgress 事件处理程序。
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
导致 WMI 返回本地化的类和属性说明。 有关详细信息,请参阅本地化 WMI 类信息。
objwbemNamedValueSet [in, optional]
通常,此参数未定义。 如果已定义,此参数是一个 SWbemNamedValueSet 对象,其元素表示可供提供请求服务的提供程序使用的上下文信息。 支持或需要此类信息的提供程序必须记录已识别的值名称、值数据类型、允许的值和语义。
objWbemAsyncContext [in, optional]
这是一个 SWbemNamedValueSet 对象,它返回到对象接收器以标识原始异步调用的源。 如果使用同一对象接收器进行多个异步调用,请使用此参数。 若要使用此参数,请创建 SWbemNamedValueSet 对象,并使用 SWbemNamedValueSet.Add 方法添加值,该值标识即将进行的异步调用。 此 SWbemNamedValueSet 对象返回到对象接收器,并且调用的源可使用 SWbemNamedValueSet.Item 方法提取。 有关详细信息,请参阅调用方法。
返回值
此方法不返回值。 如果成功,接收器将收到每个实例的 OnObjectReady 事件。 在最后一个实例之后,对象接收器会收到 OnCompleted 事件。
错误代码
AssociatorsAsync_ 方法完成后,Err 对象可能包含以下列表中的错误代码之一。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
当前用户无权查看调用返回的一个或多个类。
-
wbemErrFailed - 2147449889 (0x7FFF7C21)
-
错误。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
指定的参数无效。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
内存不足,无法完成此操作。
备注
立即返回此调用。 请求的对象和状态通过回调返回给调用方,该回调传递到 objWbemSink 中指定的接收器。 要在每个对象到达时对其进行处理,请创建 objWbemSink.OnObjectReady 事件子例程。 返回所有对象后,可在 objWbemSink.OnCompleted 事件的实现中执行最终处理。
通过异步回调,未经身份验证的用户可以向接收器提供数据。 这会给脚本和应用程序带来安全风险。 为消除风险,请使用半同步通信或同步通信。 有关详细信息,请参阅调用方法。
若要详细了解 ASSOCIATORS OF 关联的 WQL 查询、源实例和终结点,请参阅 ASSOCIATORS OF 语句。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
标头 |
|
类型库 |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |