SWbemServices.InstancesOf 方法
SWbemServices 对象的 InstancesOf 方法创建一个枚举器,该枚举器根据用户指定的选择标准返回指定类的实例。 此方法实现了一个简单查询。 更复杂的查询可能需要使用 SWbemServices.ExecQuery。
此方法在半同步模式下调用。 有关详细信息,请参阅调用方法。
有关此语法的说明,请参阅脚本 API 的文档约定。
语法
objWbemObjectSet = .InstancesOf( _
ByVal strClass, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ] _
)
parameters
-
strClass
-
必需。 字符串,包含需要实例的类的名称。 此参数不能为空。
-
iFlags [可选]
-
此参数确定调用枚举的详细程度以及此调用是否会立即返回。 此参数的默认值为 wbemFlagReturnImmediately。 此参数可以接受以下值。
-
wbemFlagForwardOnly (32 (0x20))
-
导致返回只进枚举器。 通常,相较于传统枚举器,只进枚举器快得多并且使用的内存更少,但它们不允许调用 SWbemObject.Clone_。
-
wbemFlagBidirectional (0 (0x0))
-
使 WMI 保留指向枚举对象的指针,直到客户端释放枚举器。
-
wbemFlagReturnImmediately (16 (0x10))
-
此参数的默认值。 此标志会导致调用立即返回。
-
wbemFlagReturnWhenComplete (0 (0x0))
-
使此调用被阻止,直到查询完成。 此标志在同步模式下调用方法。
-
wbemQueryFlagShallow (1 (0x1))
-
强制枚举只包含指定父类的直系子类。
-
wbemQueryFlagDeep (0 (0x0))
-
此参数的默认值。 此值强制枚举包含层次结构中的所有类。
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
使 WMI 返回具有基类定义的类修改数据。 有关详细信息,请参阅本地化 WMI 类信息。
objWbemNamedValueSet [optional]
通常,此参数未定义。 如果已定义,此参数是一个 SWbemNamedValueSet 对象,其元素表示可供提供请求服务的提供程序使用的上下文信息。 支持或需要此类信息的提供程序必须记录已识别的值名称、值数据类型、允许的值和语义。
返回值
如果成功,该方法会返回 SWbemObjectSet。
错误代码
InstancesOf 方法完成后,Err 对象可能包含以下列表中的错误代码之一。
注意
返回的枚举器包含零元素并非错误。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
当前用户无权查看指定类的实例。
-
wbemErrFailed - 2147749889 (0x80041001)
-
发生了未指定的错误。
-
wbemErrInvalidClass - 2147749904 (0x80041010)
-
指定的类无效。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
指定的参数无效。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
内存不足,无法完成此操作。
备注
InstancesOf 方法仅适用于类对象。
默认情况下,InstancesOf 执行深度检索。 也就是说,InstancesOf 检索所标识的托管资源的所有实例,以及目标类下定义的所有子类的所有实例。 例如,以下脚本检索由 CIM_Service 抽象类下定义的所有动态类建模的所有资源。
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("CIM_Service")
For Each objSWbemObject In colSWbemObjectSet
Wscript.Echo "Object Path: " & objSWbemObject.Path_.Path
Next
如果运行此脚本,将返回信息。 但是,此信息不会仅限于计算机上安装的服务。 相反,它将包括来自 CIM_Service 的所有子类(包括 Win32_SystemDriver 和 Win32_ApplicationService)的信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
标头 |
|
类型库 |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |