描述
SWbemServices对象的AssociatorsOfAsync方法返回与指定对象关联的称为端点的对象(类或实例)的集合。对AssociatorsOfAsync的调用立即返回,结果和状态将通过传递到objWbemSink中指定的接收器的事件返回给呼叫者。要处理每个返回的对象,创建一个OnObjectReadyOnObjectReady事件处理程序。
所有对象到达后,在objWbemSink.OnCompleted事件中进行处理。此方法执行与WQL查询的ASSOCIATORS执行的功能相同的功能。有关创建接收器的更多信息,请参阅接收WMI事件.
该方法在异步模式下被调用。有关详细信息,请参阅调用方法.
PowerBASIC 语法
METHOD AssociatorsOfAsync ( _ BYVAL objWbemSink AS IDispatch, _ BYVAL strObjectPath AS WSTRING, _ OPTIONAL BYVAL strAssocClass AS WSTRING, _ OPTIONAL BYVAL strResultClass AS WSTRING, _ OPTIONAL BYVAL strResultRole AS WSTRING, _ OPTIONAL BYVAL strRole AS WSTRING, _ OPTIONAL BYVAL bClassesOnly AS INTEGER, _ OPTIONAL BYVAL bSchemaOnly AS INTEGER, _ OPTIONAL BYVAL strRequiredAssocQualifier AS WSTRING, _ OPTIONAL BYVAL strRequiredQualifier AS WSTRING, _ OPTIONAL BYVAL iFlags AS LONG, _ OPTIONAL BYVAL objWbemNamedValueSet AS IDispatch, _ OPTIONAL BYVAL objWbemAsyncContext AS IDispatch _ ) |
参数
objWbemSink
需要。异步接收对象的对象接收器。创建一个SWbemSink对象来接收对象。
strObjectPath
需要。包含源类或实例的对象路径的字符串。有关详细信息,请参阅描述WMI对象的位置.
strAssocClass
包含关联类的字符串。指定时,此参数指示返回的端点必须通过指定的关联类或从该关联类派生的类与源相关联。
strResultClass
包含类名的字符串。如果指定,则此可选参数指示返回的端点必须属于或从此参数中指定的类派生。
strResultRole
包含属性名称的字符串。如果指定,则该参数指示返回的端点必须在与源对象的关联中发挥特定的作用。角色由关联的指定属性(必须是引用属性)的名称定义。
strRole
包含属性名称的字符串。如果指定,则该参数指示返回的端点必须参与与源对象扮演特定角色的源对象的关联。角色由关联的指定属性(必须是引用属性)的名称定义。
bClassesOnly
指示是否应返回类名称列表的布尔值,而不是类的实际实例。这些是端点实例所属的类。该参数的默认值为FALSE。
bSchemaOnly
指示查询是应用于模式而不是数据的布尔值。该参数的默认值为FALSE。如果strObjectPath参数指定类的对象路径,则只能设置为TRUE。设置为TRUE时,返回的端点集合表示与模式中的源类适当关联的类。
strRequiredAssocQualifier
包含限定符名称的字符串。如果指定,则该参数指示返回的端点必须通过包含指定限定符的关联类与源对象相关联。
strRequiredQualifier
包含限定符名称的字符串。如果指定,则此参数指示返回的端点必须包含指定的限定符。
iFlags
指定操作的附加标志的整数。此参数的默认值为wbemFlagDontSendStatus.此参数可以接受以下值。
值 |
含义 |
||||
wbemFlagSendStatus 128 &H80 |
导致异步调用将状态更新发送到对象接收器的OnProgress事件处理程序。 |
||||
wbemFlagDontSendStatus 0 &H0 |
防止异步调用向对象接收器的OnProgress事件处理程序发送状态更新。 |
||||
wbemFlagUseAmendedQualifiers 131072 &H20000 |
导致WMI与基类定义一起返回类修改数据。有关修订限定词的更多信息,请参阅本地化WMI类信息. |
objWbemNamedValueSet
通常,这是未定义的。否则,这是一个SWbemNamedValueSet对象,其元素表示正在为请求提供服务的提供者可以使用的上下文信息。支持或要求此类信息的提供者必须记录识别的值名称,值的数据类型,允许的值和语义。
objWbemAsyncContext
一个SWbemNamedValueSet对象返回到对象接收器,以识别原始异步调用的源。如果使用相同的对象接收器进行多个异步调用,请使用此参数。要使用此参数,请创建SWbemNamedValueSet对象,并使用SWbemNamedValueSet.Add方法添加一个标识正在进行的异步调用的值。此SWbemNamedValueSet对象返回到对象接收器,可以使用SWbemNamedValueSet.Item方法提取调用源。有关详细信息,请参阅调用方法.
返回值
此方法没有返回值。如果成功,则接收器每个实例接收OnObjectReady事件。在最后一个实例之后,对象接收器接收OnCompleted事件。
OBJRESULT
错误(名称/十进制/十六进制) |
含义 |
wbemErrAccessDenied -2147217405 &H80041003 |
当前用户没有权限查看通话返回的一个或多个类。 |
wbemErrFailed -2147217407 &H80041001 |
未指定错误 |
wbemErrInvalidParameter -2147217400 &H80041008 |
指定了无效参数。 |
wbemErrOutOfMemory -2147217402 &H80041006 |
没有足够的内存来完成操作。 |
wbemErrNotFound -2147217406 &H80041002 |
未找到请求的项目。 |
备注
此通话立即返回。所请求的对象和状态通过传递给在objWbemSink中指定的接收器的回调函数返回给调用者。要处理每个对象返回时,创建objWbemSinkOnObjectReady事件子例程。返回所有对象后,您可以执行objWbemSink.OnCompleted事件的最终处理。
异步回调允许非验证用户向sink提供数据。这对您的脚本和应用程序造成安全隐患。要消除风险,请参阅设置异步调用的安全性.
在脚本中使用objWbemAsyncContext??参数验证通话来源。
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95 OSR2及更高版本。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
类型库 |
使用Wbemdisp.tlb。 |
头 |
Wbemdisp.inc。 |
DLL |
需要Wbemdisp.dll。 |