SWbemServices.SubclassesOf 方法

SWbemServices 对象的 SubclassesOf 方法返回 SWbemObjectSet 对象。 此对象是指定类的子类集合。 返回的集合中的项可通过标准集合方法获取。 有关详细信息,请参阅访问集合

此方法仅适用于类对象。

此方法在半同步模式下调用。 有关详细信息,请参阅调用方法

有关此语法的说明,请参阅脚本 API 的文档约定

语法

objWbemObjectSet = .SubclassesOf( _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

parameters

strSuperclass [optional]

指定父类名。 只有此类的子类在枚举器中返回。 如果此参数为空且 iFlags 为 wbemQueryFlagShallow,则只返回顶级类(即没有父类的类)。 如果此参数为空且 iFlags 为 wbemQueryFlagDeep,则返回命名空间中的所有类。

iFlags [optional]

确定该调用枚举的详细程度。 此参数的默认值为 wbemFlagReturnImmediately 和 wbemQueryFlagDeep。 此参数可接受以下值。

wbemQueryFlagShallow (1 (0x1))

强制枚举只包含指定父类的直系子类。

wbemQueryFlagDeep (0 (0x0))

此参数的默认值。 此值强制以递归方式枚举所有派生自指定父类的子类。 父类不在枚举中返回。

wbemFlagReturnImmediately (16 (0x10))

使调用立即返回。

wbemFlagReturnWhenComplete (0 (0x0))

使此调用被阻止,直到调用完成。 此标志在同步模式下调用方法。

wbemFlagUseAmendedQualifiers (131072 (0x20000))

使 WMI 返回具有基类定义的类修改数据。 有关详细信息,请参阅本地化 WMI 类信息

objWbemNamedValueSet [optional]

通常,此参数未定义。 如果已定义,此参数是一个 SWbemNamedValueSet 对象,其元素表示可供处理请求的提供程序使用的上下文信息。 支持或需要此类信息的提供程序必须记录已识别的值名称、值的数据类型、允许的值和语义。

返回值

如果方法成功,则返回 SWbemObjectSet 对象。

错误代码

SubclassesOf 方法完成后,Err 对象可能包含以下列表中的错误代码之一。

注意

返回的集合包含零元素并非错误。

wbemErrAccessDenied - 2147749891 (0x80041003)

当前用户无权查看调用返回的一个或多个类。

wbemErrFailed - 2147749889 (0x80041001)

错误。

wbemErrInvalidClass - 2147749904 (0x80041010)

指定类不存在。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定的参数无效。

wbemErrOutOfMemory - 2147749894 (0x80041006)

内存不足,无法完成此操作。

示例

以下 PowerShell 示例演示如何检索远程系统上某个类的子类。

$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
Wbemdisp.h
类型库
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

另请参阅

SWbemServices

SWbemObjectSet