CFrameworkQuery::GetValuesForProp (LPCWSTR,CHStringArray&) 方法 (frquery.h)

[CFrameworkQuery 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]

GetValuesForProp 方法返回该属性在查询中显示时由该属性生成的所有值。

例如,调用 GetValuesForProp(L"Name", sa) 将返回数组 sa,其中包含需要发送回实例以满足查询的所有“Name”值。 如果 sa 包含 {"a","b"},则必须发送回“Name=a”的所有实例以及“Name=b”的所有实例,以完全满足查询。

如果对“Name”的约束不够限制,则返回空 sa 数组。

语法

HRESULT GetValuesForProp(
  LPCWSTR         wszPropName,
  CHStringArray & achNames
);

参数

wszPropName

由 wszPropName 指定的属性的值数组。

achNames

目标属性的名称。

返回值

此方法在成功时返回 WBEM_S_NO_ERROR ,在失败时 返回WBEM_E_FAILED或任何其他 HRESULT 错误代码。

注解

给定属性名称后,此方法返回 CHStringArray 或矢量容器中的所有结果值。 矢量容器包含包含结果值的 _bstr_t 对象。

例如,以下列表列出了在 wszPropName 设置为“Drive”的情况下调用时,GetValuesForProp 为各种查询返回的值。

查询 返回值 结果

SELECT * FROMWin32_Directory

WHERE 驱动器 = “C:”

WBEM_S_NO_ERROR C:

SELECT * FROMWin32_Directory

WHERE 驱动器 = “C:” OR FileSize = 256

WBEM_S_NO_ERROR 无结果; aszNames 为空。

SELECT * FROMWin32_Directory

WHERE 驱动器 = “C:” 或驱动器 = “D:”

WBEM_S_NO_ERROR C:、D:

SELECT * FROMWin32_Directory

WHERE 驱动器 <> “C:”

WBEM_S_NO_ERROR 无结果; aszNames 为空。

SELECT * FROMWin32_Directory

WHEREPath = “\DOS”

WBEM_S_NO_ERROR 无结果; aszNames 为空。
 

GetValuesForProp 方法仅支持字符串类型。 例如,以下查询后跟对 GetValuesForProp (“PropInt”(值) )的调用,返回 WBEM_E_INVALID_QUERYGetValuesForProp (“PropStr”,) 返回 S_OK

SELECT * FROM Test WHERE PropInt = 32 AND PropStr = "a"

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 frquery.h (包括 FwCommon.h)
Library FrameDyn.lib
DLL FrameDynOS.dll;FrameDyn.dll

另请参阅

CFrameworkQuery

Provider::ExecQuery