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 ] _
)

parameters

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 事件的实现中执行最终处理。

通过异步回调,未经身份验证的用户可以向接收器提供数据。 这会给脚本和应用程序带来安全风险。 为消除风险,请使用半同步通信或同步通信。 有关详细信息,请参阅调用方法

有关 REFERENCES OF 关联的 WQL 查询、源实例和关联对象的详细信息,请参阅 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