描述
SWbemServices对象的SubclassesOfAsync方法返回指定类的子类集合。只对类对象使用这种方法。
该方法在异步模式下被调用。有关详细信息,请参阅调用方法.
PowerBASIC 语法
METHOD SubclassesOfAsync ( _ BYVAL objWbemSink AS IDispatch, _ OPTIONAL BYVAL strSuperclass AS WSTRING, _ OPTIONAL BYVAL iFlags AS LONG, _ OPTIONAL BYVAL objWbemNamedValueSet AS IDispatch, _ OPTIONAL BYVAL objWbemAsyncContext AS IDispatch _ ) |
参数
objWbemSink
需要。异步接收子类的对象接收器。创建一个SWbemSink对象来接收对象。
strSuperClass
指定父类名。此类的子类只能在枚举器中返回。如果将此参数留空,如果iFlags为wbemQueryFlagShallow,则仅返回顶级类(即,不具有父类的类)。如果此参数为空,并且iFlags为wbemQueryFlagDeep,则返回命名空间中的所有类。
iFlags
确定调用枚举的深度。此参数的默认值为wbemQueryFlagDeep.此参数可以接受以下值。
wbemQueryFlagShallow 1 &H1 |
强制枚举只包括指定父类的直接子类。 |
wbemQueryFlagDeep 0 &H0 |
该参数的默认值。该值强制递归枚举到从指定的父类派生的所有子类中。父类不会在枚举中返回。 |
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 |
未指定错误 |
wbemErrInvalidClass -2147217392 &H80041010 |
指定的类无效。 |
wbemErrInvalidParameter -2147217400 &H80041008 |
指定了无效参数。 |
wbemErrOutOfMemory -2147217402 &H80041006 |
没有足够的内存来完成操作。 |
备注
此通话立即返回。请求的对象和状态通过传递给在objWbemSink中指定的接收器的回调返回给呼叫者。要处理每个对象到达时,创建一个OnObjectReady事件子例程。返回所有对象后,您可以在执行objWbemSinkOnCompleted事件时执行最终处理。
异步回调允许非验证用户向sink提供数据。这对您的脚本和应用程序造成安全隐患。要消除风险,请参阅设置异步调用的安全性.
要求
客户 |
需要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。 |