Next 函数

检索某个枚举中的下一个属性,该枚举以对 BeginEnumeration 的调用开始。

注意

此 API 仅供内部使用。 不应从开发人员代码中使用。

语法

HRESULT Next (
   [in] int               vFunc,
   [in] IWbemClassObject* ptr,
   [in] LONG              lFlags,
   [out] BSTR*            pstrName,
   [out] VARIANT*         pVal,
   [out] CIMTYPE*         pvtType,
   [out] LONG*            plFlavor
);

参数

vFunc
[in] 未使用此参数。

ptr
[in] 指向 IWbemClassObject 实例的指针。

lFlags
[in] 保留。 此参数必须为 0。

pstrName
[out] 一个包含属性名称的新 BSTR。 如果该名称不是必需的,可以将此参数设置为 null

pVal
[out] 用属性的值填充的 VARIANT。 如果不需要该值,可以将此参数设置为 null。 如果函数返回错误代码,则传递给 pValVARIANT 会保持不变。

pvtType
[out] 指向 CIMTYPE 变量(属性类型所放置到的 LONG)的指针。 此属性的值可以是 VT_NULL_VARIANT,在这种情况下,需要确定属性的实际类型。 此参数也可以为 null

plFlavor
[out] null 或一个值,该值接收有关属性来源的信息。 请参阅 [注解] 部分了解可能的值。

返回值

此函数返回的以下值是在 WbemCli.h 头文件中定义的,你也可以在代码中将这些值定义为常数:

常数 Value 说明
WBEM_E_FAILED 0x80041001 发生一般性故障。
WBEM_E_INVALID_PARAMETER 0x80041008 参数无效。
WBEM_E_UNEXPECTED 0x8004101d 没有对 BeginEnumeration 函数的调用。
WBEM_E_OUT_OF_MEMORY 0x80041006 内存不足,无法开始新的枚举。
WBEM_E_TRANSPORT_FAILURE 0x80041015 当前进程与 Windows Management 之间的远程过程调用失败。
WBEM_S_NO_ERROR 0 函数调用成功。
WBEM_S_NO_MORE_DATA 0x40005 枚举中没有更多属性。

注解

此函数包装对 IWbemClassObject::Next 方法的调用。

此方法还返回系统属性。

如果属性的基础类型是对象路径、日期或时间或其他特殊类型,则返回的类型包含的信息将不足。 调用方必须检查指定属性的 CIMTYPE,以确定该属性是对象引用、日期或时间还是其他特殊类型。

如果 plFlavor 不是 null,则 LONG 值会接收有关属性来源的信息,如下所示:

常数 Value 说明
WBEM_FLAVOR_ORIGIN_SYSTEM 0x40 属性是标准系统属性。
WBEM_FLAVOR_ORIGIN_PROPAGATED 0x20 对于类:属性继承自父类。
对于实例:属性虽然继承自父类,但未被实例修改。
WBEM_FLAVOR_ORIGIN_LOCAL 0 对于类:属性属于派生类。
对于实例:属性将被实例修改;即,会提供某个值,或添加或修改某个限定符。

要求

平台:请参阅系统要求

标头:WMINet_Utils.idl

.NET Framework 版本:自 4.7.2 起可用

另请参阅