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 標頭檔中,或者,您可以將其定義為程式碼中的常數:
常數 | 值 | 描述 |
---|---|---|
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 起可用