共用方式為


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 傳回所有屬性名稱。 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 起可用

另請參閱