CFrameworkQuery::GetValuesForProp (LPCWSTR,std.vector<_bstr_t>&) 方法 (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,
std::vector<_bstr_t>& vectorNames
);
參數
wszPropName
目標屬性的名稱。
vectorNames
wszPropName 所指定屬性的值陣列。
傳回值
此方法會在失敗時傳回成功WBEM_S_NO_ERROR,WBEM_E_FAILED或任何其他HRESULT 錯誤碼。
備註
指定屬性名稱時,這個方法會傳回 CHStringArray 或向量容器中的所有結果值。 向量容器會保留包含結果值的 _bstr_t 物件。
例如,下列清單會列出當使用 wszPropProp 設定為 “Drive” 呼叫時,GetValuesForProp 會針對各種查詢傳回的值。
查詢 | 傳回值 | 結果 |
---|---|---|
SELECT * FROM Win32_Directory
WHERE Drive = “C:” |
WBEM_S_NO_ERROR | C. |
SELECT * FROM Win32_Directory
WHERE Drive = “C:” OR FileSize = 256 |
WBEM_S_NO_ERROR | 沒有結果; aszNames 是空的。 |
SELECT * FROM Win32_Directory
WHERE Drive = “C:” OR Drive = “D:” |
WBEM_S_NO_ERROR | C:,D: |
SELECT * FROM Win32_Directory
WHERE 磁盘驅動器 <> “C:” |
WBEM_S_NO_ERROR | 沒有結果; aszNames 是空的。 |
SELECT * FROM Win32_Directory
WHERE Path = “\DOS” |
WBEM_S_NO_ERROR | 沒有結果; aszNames 是空的。 |
GetValuesForProp 方法僅支援字串類型。
下列查詢接著呼叫 GetValuesForProp (“PropInt”、值) 傳回WBEM_E_INVALID_QUERY ,而GetValuesForProp (“PropStr”,值) 傳回 S_OK。
SELECT * FROM Test WHERE PropInt = 32 AND PropStr = "a"
規格需求
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | frquery.h (include FwCommon.h) |
程式庫 | FrameDyn.lib |
Dll | FrameDynOS.dll;FrameDyn.dll |