SWbemObject.SubclassesAsync_ 方法
SWbemObject的 SubclassesAsync_ 方法异步提供当前对象的子类,该子类必须是类。
有关此语法的说明,请参阅 脚本 API 的文档约定。
语法
SWbemObject.SubclassesAsync_( _
ByVal objWbemSink, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
parameters
-
objWbemSink [in]
-
必需。 异步接收对象的对象接收器。
-
iFlags [in, 可选]
-
确定调用枚举的详细程度。 此参数可以接受以下值。
-
wbemQueryFlagDeep (0 (0x0) )
-
强制递归枚举转换为派生自指定父类的所有子类。 父类本身不会在枚举中返回。
-
wbemQueryFlagShallow (1 (0x1) )
-
此参数的默认值。 它强制枚举仅包含指定父类的即时子类。
-
wbemFlagSendStatus (128 (0x80) )
-
导致异步调用将状态更新发送到对象接收器的 SWbemSink.OnProgress 事件处理程序。
-
wbemFlagDontSendStatus (0 (0x0) )
-
防止异步调用向对象接收器的 OnProgress 事件处理程序发送状态更新。
-
wbemFlagUseAmendedQualifiers (131072 (0x20000) )
-
导致 WMI 使用基类定义返回类修正数据。 有关修订限定符的详细信息,请参阅 本地化 WMI 类信息。
objWbemNamedValueSet [in, 可选]
通常,这是未定义的。 否则,这是 一个 SWbemNamedValueSet 对象,其元素表示服务请求的提供程序可以使用的上下文信息。 支持或需要此类信息的提供程序必须记录已识别的值名称、值的数据类型、允许的值和语义。
objWbemAsyncContext [in, 可选]
这是一个 SWbemNamedValueSet 对象,该对象返回到对象接收器以标识原始异步调用的源。 使用同一对象接收器进行多个异步调用时,请使用此参数。 若要使用此参数,请创建 一个 SWbemNamedValueSet 对象,并使用 SWbemNamedValueSet.Add 方法添加一个值,用于标识要执行的异步调用。 此 SWbemNamedValueSet 对象将返回到对象接收器,可以使用 SWbemNamedValueSet.Item 方法提取调用的源。 有关详细信息,请参阅 调用方法。
返回值
此方法不返回值。 如果成功,接收器将为每个实例接收 OnObjectReady 事件。 最后一个实例后,对象接收器会收到 OnCompleted 事件。
错误代码
完成SubclassesAsync_方法后,Err 对象可能包含以下列表中的错误代码之一。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
当前用户无权查看调用返回的一个或多个类。
-
wbemErrFailed - 2147749889 (0x80041001)
-
错误。
-
wbemErrInvalidClass - 2147749904 (0x80041010)
-
指定的类不存在。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
指定了无效参数。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
没有足够的内存来完成操作。
注解
此调用会立即返回。 请求的对象和状态通过传递到 objWbemSink 中指定的接收器的回调返回到调用方。 若要在到达时处理每个对象,请创建 objWbemSink。OnObjectReady 事件子例程。 返回所有对象后,可以在 objWbemSink 的实现中执行最终处理。OnCompleted 事件。
异步回调允许未经身份验证的用户向接收器提供数据。 这会给脚本和应用程序带来安全风险。 若要消除风险,请使用半异步通信或同步通信。 有关详细信息,请参阅 调用方法。
建议脚本使用 objWbemAsyncContext 参数验证调用的源。
如果当前对象没有子类,则返回的集合没有零个元素不是错误。 SubclassesAsync_方法仅适用于类对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
标头 |
|
类型库 |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |