勇芳软件工作室.汉化:  Windows Management Instrumentation > Scripting API for WMI > Scripting API Objects > SWbemObject >

SubclassesAsync_ Method

Previous pageReturn to chapter overviewNext page

描述

 

SWbemObjectSubclassesAsync_方法异步提供当前对象的子类,该对象必须是一个类。

 

PowerBASIC 语法

 

METHOD SubclassesAsync_ ( _

BYVAL objWbemSink AS IDispatch, _

OPTIONAL BYVAL iFlags LONG, _

OPTIONAL BYVAL objWbemNamedValueSet AS IDispatch, _

OPTIONAL BYVAL objWbemAsyncContext AS IDispatch _

)

 

参数

 

objWbemSink

 

需要。异步接收对象的对象接收器。

 

iFlags

 

确定调用枚举的深度。此参数可以接受以下值。

 

含义

wbemQueryFlagDeep

0

&H0

强制递归枚举到从指定的父类派生的所有子类中。父类本身不会在枚举中返回。

wbemQueryFlagShallow

1

&H1

此参数的默认值。它强制枚举只包括指定的父类的直接子类。

wbemFlagSendStatus

128

&H80

导致异步调用将状态更新发送到对象接收器的SWbemSink.OnProgress事件处理程序。

wbemFlagDontSendStatus

0

&H0

防止异步调用向对象接收器的OnProgress事件处理程序发送状态更新。

wbemFlagUseAmendedQualifiers

131072

&H20000

导致WMI使用基类定义返回类修改数据。有关修订限定词的更多信息,请参阅本地化WMI类信息.

 

objwbemNamedValueSet

 

通常,这是未定义的。否则,这是一个SWbemNamedValueSet对象,其元素表示正在服务请求的提供者可以使用的上下文信息。支持或要求此类信息的提供者必须记录识别的值名称,值的数据类型,允许的值和语义。

 

objWbemAsyncContext

 

这是一个SWbemNamedValueSet对象,返回到对象接收器以识别原始异步调用的源。使用相同的对象接收器进行多个异步调用时,请使用此参数。要使用此参数,请创建一个SWbemNamedValueSet对象,并使用SWbemNamedValueSet.Add方法添加一个标识正在进行的异步调用的值。此SWbemNamedValueSet对象返回到对象接收器,可以使用SWbemNamedValueSet.Item方法提取调用的源。有关详细信息,请参阅调用方法.

 

返回值

 

此方法没有返回值。如果成功,则sink将为每个实例收到OnObjectReady事件。在最后一个实例之后,对象接收器接收到一个OnCompleted事件。

 

OBJRESULT

 

错误(名称/十进制/十六进制)

含义

wbemErrAccessDenied

-2147217405

&H80041003

当前用户没有权限查看通话中返回的一个或多个类。

wbemErrFailed

-2147217407

&H80041001

未指定错误

wbemErrInvalidClass

-2147217392

&H80041010

指定类不存在。

wbemErrInvalidParameter

-2147217400

&H80041008

指定了无效参数。

wbemErrOutOfMemory

-2147217402

&H80041006

没有足够的内存来完成操作。

 

备注

 

此通话立即返回。所请求的对象和状态通过传递给在objWbemSink中指定的接收器的回调返回给呼叫者。要处理每个对象到达时,创建

OBJRESULT

事件子例程。返回所有对象后,您可以在执行objWbemSinkOnCompleted事件时执行最终处理。

 

异步回调允许非验证用户向sink提供数据。这对您的脚本和应用程序造成安全隐患。为了消除风险,请使用半异步通信或同步通信。有关详细信息,请参阅调用方法.

 

建议脚本使用objWbemAsyncContext参数验证通话的来源。

 

如果没有当前对象的子类,则返回的集合具有零个元素不是错误。SubclassesAsync_方法仅适用于类对象。

 

要求

 

客户

需要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。