GetNames 函数

检索对象属性的子集或所有名称。

注意

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

语法

HRESULT GetNames (
   [in] int                 vFunc,
   [in] IWbemClassObject*   ptr,
   [in] LPCWSTR             wszQualifierName,
   [in] LONG                lFlags,
   [in] VARIANT*            pQualifierValue,
   [out] SAFEARRAY (BSTR)** pstrNames
);

参数

vFunc
[in] 未使用此参数。

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

wszQualifierName
[in] 指向有效 LPCWSTR 的指针,该指针指定作为筛选器的一部分运行的限定符名称。 有关详细信息,请参阅备注部分。 此参数可以为 null

lFlags
[in] 位字段的组合。 有关详细信息,请参阅备注部分。

pQualifierValue [in] 指向初始化为筛选器值的有效 VARIANT 结构的指针。 此参数可以为 null

pstrNames
[out] 包含属性名称的 SAFEARRAY 结构。 输入时,此参数必须始终为指向 null 的指针。 有关详细信息,请参阅备注部分。

返回值

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

常数 Value 说明
WBEM_E_FAILED 0x80041001 发生一般性故障。
WBEM_E_INVALID_PARAMETER 0x80041008 一个或多个参数无效,或者指定了不正确的标志与参数组合。
WBEM_E_OUT_OF_MEMORY 0x80041006 没有足够的可用内存来完成该操作。
WBEM_S_NO_ERROR 0 函数调用成功。

注解

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

返回的名称由标志与参数组合控制。 例如,函数可以返回所有属性的名称,也可以仅返回键属性的名称。 主筛选器在 lFlags 参数中指定,其他参数根据其而变化。

lFlags 中的标志值是位字段

可以作为 lEnumFlags 参数传递的标志是在 WbemCli.h 头文件中定义的位字段,你也可以在代码中将这些标志定义为常数。 可以将每个组中的一个标志与任何其他组的任何标志组合在一起。 但是,同一组中的标志互斥。

组 1 标志 说明
WBEM_FLAG_ALWAYS 0 返回所有属性名称。 strQualifierNamepQualifierVal 未使用。
WBEM_FLAG_ONLY_IF_TRUE 1 仅返回具有 strQualifierName 参数指定的名称限定符的属性。 如果使用此标志,则必须指定 strQualifierName
WBEM_FLAG_ONLY_IF_FALSE 2 仅返回不具备 strQualifierName 参数指定的名称限定符的属性。 如果使用此标志,则必须指定 strQualifierName
WBEM_FLAG_ONLY_IF_IDENTICAL 3 仅返回具有 wszQualifierName 参数指定的名称限定符,并具有与 pQualifierVal 结构指定的值相同的值的属性。 如果使用此标志,则必须同时指定 wszQualifierNamepQualifierValue
组 2 标志 说明
WBEM_FLAG_KEYS_ONLY 0x4 仅返回定义键的属性的名称。
WBEM_FLAG_REFS_ONLY 0x8 仅返回作为对象引用的属性名称。
组 3 标志 说明
WBEM_FLAG_LOCAL_ONLY 0x10 仅返回属于最底层派生类的属性名称。 排除父类中的属性。
WBEM_FLAG_PROPAGATED_ONLY 0x20 仅返回属于父类的属性名称。
WBEM_FLAG_SYSTEM_ONLY 0x30 仅返回系统属性的名称。
WBEM_FLAG_NONSYSTEM_ONLY 0x40 仅返回非系统属性的名称。

如果函数返回 WBEM_S_NO_ERROR,它将始终分配一个新的 SAFEARRAY,并且 pstrNames 始终设置为指向它。 如果没有与指定筛选器匹配的属性,则返回的数组可以有 0 个元素。 如果函数返回的值不是 WBM_S_NO_ERROR,则不会返回新的 SAFEARRAY 结构。

要求

平台:请参阅系统要求

标头:WMINet_Utils.idl

.NET Framework 版本:自 4.7.2 起可用

另请参阅