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 | 返回所有属性名称。 strQualifierName 和 pQualifierVal 未使用。 |
WBEM_FLAG_ONLY_IF_TRUE |
1 | 仅返回具有 strQualifierName 参数指定的名称限定符的属性。 如果使用此标志,则必须指定 strQualifierName 。 |
WBEM_FLAG_ONLY_IF_FALSE |
2 | 仅返回不具备 strQualifierName 参数指定的名称限定符的属性。 如果使用此标志,则必须指定 strQualifierName 。 |
WBEM_FLAG_ONLY_IF_IDENTICAL |
3 | 仅返回具有 wszQualifierName 参数指定的名称限定符,并具有与 pQualifierVal 结构指定的值相同的值的属性。 如果使用此标志,则必须同时指定 wszQualifierName 和 pQualifierValue 。 |
组 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 起可用