IWbemServices::CreateInstanceEnum 方法 (wbemcli.h)
IWbemServices::CreateInstanceEnum 方法會建立列舉值,根據使用者指定的選取準則傳回指定類別的實例。 此方法支持簡單的 WQL 查詢;您可以使用 IWbemServices::ExecQuery 方法來處理更複雜的查詢。
語法
HRESULT CreateInstanceEnum(
[in] const BSTR strFilter,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
參數
[in] strFilter
有效的 BSTR ,其中包含需要實例的類別名稱。 此參數不可為 NULL。
[in] lFlags
下列旗標會影響此方法的行為。 此參數的建議值為 WBEM_FLAG_RETURN_IMMEDIATELY ,並 WBEM_FLAG_FORWARD_ONLY 獲得最佳效能。
WBEM_FLAG_USE_AMENDED_QUALIFIERS
如果設定此旗標,WMI 會擷取儲存在目前聯機地區設定之當地語系化命名空間中的修改限定符。 如果未設定,只會擷取儲存在立即命名空間中的限定符。
WBEM_FLAG_DEEP
此旗標會強制列舉在階層中包含這個和所有子類別。
WBEM_FLAG_SHALLOW
此旗標會強制列舉只包含這個類別的純實例,不包括提供這個類別中找不到屬性的所有子類別實例。
WBEM_FLAG_RETURN_IMMEDIATELY
此旗標會使此為半異步呼叫。 如需詳細資訊,請參閱 呼叫方法。
WBEM_FLAG_FORWARD_ONLY
此旗標會導致傳回順向列舉值。 順向列舉值通常更快,而且使用記憶體比傳統列舉值少,但不允許呼叫 Clone 或 Reset。
WBEM_FLAG_BIDIRECTIONAL
此旗標會讓 Windows 管理保留列舉物件的指標,直到客戶端釋放列舉值為止。 因為對象指標不會立即釋放,所以如果客戶端嘗試列舉大量物件,這個方法可能會失敗,且 hResult 為 WBEM_E_OUT_OF_MEMORY 。 如果您將 lFlags 參數設定為 0 (零) ,則預設會隱含此旗標。
WBEM_FLAG_DIRECT_READ
此旗標會導致直接存取指定的類別提供者,而不需考慮其父類別或子類別。
[in] pCtx
通常 為 NULL。 否則,這是 IWbemContext 物件的指標,可供提供所要求實例的提供者使用。 內容物件中的值必須在有問題的提供者檔中指定。 如需此參數的詳細資訊,請參閱 呼叫 WMI。
[out] ppEnum
接收列舉值的指標,其具有正參考計數。 呼叫端在不再需要之後,必須在指標上呼叫 IUnknown::Release 。
傳回值
這個方法會傳回 HRESULT ,指出方法呼叫的狀態。 下列清單列出 HRESULT 中包含的值。
失敗時,您可以從 COM 函式 GetErrorInfo 取得任何可用資訊。
如果網路問題造成您失去 Windows 管理遠端連線,也可能傳回 COM 特定的錯誤碼。
備註
傳回的列舉值沒有零個元素不是錯誤。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemcli.h (包含 Wbemidl.h) |
程式庫 | Wbemuuid.lib |
Dll | Fastprox.dll;Esscli.dll;FrameDyn.dll;FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll |