共用方式為


CreateClassEnumWmi 函式

傳回滿足所指定選取條件之所有類別的列舉程式。

注意

此 API 僅供內部使用。 不是要讓您在開發人員程式碼中使用。

語法

HRESULT CreateClassEnumWmi (
   [in] BSTR                    strSuperclass,
   [in] long                    lFlags,
   [in] IWbemContext*           pCtx,
   [out] IEnumWbemClassObject** ppEnum,
   [in] DWORD                   authLevel,
   [in] DWORD                   impLevel,
   [in] IWbemServices*          pCurrentNamespace,
   [in] BSTR                    strUser,
   [in] BSTR                    strPassword,
   [in] BSTR                    strAuthority
);

參數

strSuperclass
[in] 如果不是 null 或空白,則會指定父類別的名稱;列舉程式只會傳回這個類別的子類別。 如果是 null 或空白,且 lFlags 是 WBEM_FLAG_SHALLOW,則會只傳回最上層類別 (沒有父類別的類別)。 如果是 null 或空白,且 lFlagsWBEM_FLAG_DEEP,則會傳回命名空間中的所有類別。

lFlags
[in] 影響此函式行為的旗標組合。 下列值定義於 WbemCli.h 標頭檔中,或者,您可以將其定義為程式碼中的常數:

常數 描述
WBEM_FLAG_USE_AMENDED_QUALIFIERS 0x20000 如果設定,函式會擷取儲存在目前連接地區設定當地語系化命名空間中的修改限定詞。
如果未設定,函式只會擷取儲存在立即命名空間中的限定詞。
WBEM_FLAG_DEEP 0 列舉會包含階層中的所有子類別,但不包含這個類別。
WBEM_FLAG_SHALLOW 1 列舉只包含這個類別的純實例,並排除提供這個類別中找不到屬性的所有子類別實例。
WBEM_FLAG_RETURN_IMMEDIATELY 0x10 旗標會造成半同步呼叫。
WBEM_FLAG_FORWARD_ONLY 0x20 函式會傳回順向列舉值。 一般而言,順向列舉值的速度較快,且使用記憶體比傳統列舉值少,但不允許呼叫 Clone
WBEM_FLAG_BIDIRECTIONAL 0 WMI 會保留列舉中物件的指標,直到釋放為止。

建議的旗標為 WBEM_FLAG_RETURN_IMMEDIATELYWBEM_FLAG_FORWARD_ONLY,以獲得最佳效能。

pCtx
[in] 一般而言,此值為 null。 否則會是指向 IWbemContext 執行個體的指標,可供要求類別的提供者使用。

ppEnum
[out] 接收列舉值的指標。

authLevel
[in] 授權等級。

impLevel
[in] 模擬等級。

pCurrentNamespace
[in] 代表目前命名空間的 IWbemServices 物件指標。

strUser
[in] 使用者名稱。 如需詳細資訊,請參閱 ConnectServerWmi 函式。

strPassword
[in] 密碼。 如需詳細資訊,請參閱 ConnectServerWmi 函式。

strAuthority
[in] 使用者的網域名稱。 如需詳細資訊,請參閱 ConnectServerWmi 函式。

傳回值

此函式傳回的下列值定義於 WbemCli.h 標頭檔中,或者,您可以將其定義為程式碼中的常數:

常數 描述
WBEM_E_ACCESS_DENIED 0x80041003 使用者沒有權限可檢視函式可傳回的一或多個類別。
WBEM_E_FAILED 0x80041001 發生未指定的錯誤。
WBEM_E_INVALID_CLASS 0x80041010 strSuperClass 不存在。
WBEM_E_INVALID_PARAMETER 0x80041008 參數無效。
WBEM_E_OUT_OF_MEMORY 0x80041006 可用的記憶體不足,無法完成作業。
WBEM_E_SHUTTING_DOWN 0x80041033 WMI 可能已停止並重新啟動。 再次呼叫 ConnectServerWmi
WBEM_E_TRANSPORT_FAILURE 0x80041015 目前處理序與 WMI 之間的遠端程序呼叫 (RPC) 連結失敗。
WBEM_S_NO_ERROR 0 函式呼叫成功。

備註

此函式會包裝 對 IWbemServices::CreateClassEnum 方法的呼叫。

如果函式呼叫失敗,您可以藉由呼叫 GetErrorInfo 函式來取得其他錯誤資訊。

規格需求

平台:請參閱系統需求

標頭:WMINet_Utils.idl

.NET Framework版本:自 4.7.2 起提供

另請參閱