ICLRMetaHostPolicy::GetRequestedRuntime 方法
根據裝載原則、Managed 組件、版本字串和組態資料流,提供介面給慣用的 Common Language Runtime (CLR) 版本。 這個方法不會實際載入或啟動 CLR,而只會傳回表示原則結果的 ICLRRuntimeInfo 介面。 這個方法會取代 GetRequestedRuntimeInfo、GetRequestedRuntimeVersion、CorBindToRuntimeHost、CorBindToRuntimeByCfg 和 GetCORRequiredVersion 方法。
HRESULT GetRequestedRuntime(
[in] METAHOST_POLICY_FLAGS dwPolicyFlags,
[in] LPCWSTR pwzBinary,
[in] IStream *pCfgStream,
[in, out, size_is(*pcchVersion)] LPWSTR pwzVersion,
[in, out] DWORD *pcchVersion,
[out, size_is(*pcchImageVersion)] LPWSTR pwzImageVersion,
[in, out] DWORD *pcchImageVersion,
[out] DWORD *pdwConfigFlags,
[in] REFIID riid
[out, iid_is(riid), retval] LPVOID *ppRuntime);
參數
名稱 |
描述 |
---|---|
dwPolicyFlags |
[in] 必要項。 指定 METAHOST_POLICY_FLAGS 列舉的成員,表示繫結原則和任意數目的修飾詞。 目前僅能使用的原則是 METAHOST_POLICY_HIGHCOMPAT。 修飾詞包含 METAHOST_POLICY_EMULATE_EXE_LAUNCH、METAHOST_POLICY_APPLY_UPGRADE_POLICY、METAHOST_POLICY_SHOW_ERROR_DIALOG、METAHOST_POLICY_USE_PROCESS_IMAGE_PATH 和 METAHOST_POLICY_ENSURE_SKU_SUPPORTED。 |
pwzBinary |
[in] 選擇項。 指定組件檔路徑。 |
pCfgStream |
[in] 選擇項。 將組態檔指定為 System.Runtime.InteropServices.ComTypes.IStream。 |
pwzVersion |
[in, out] 選擇項。 指定或傳回要載入的慣用 CLR 版本。 |
pcchVersion |
[in, out] 必要項。 指定 pwzVersion 的預期大小做為輸入,以避免緩衝區滿溢。 如果 pwzVersion 為 null,當 GetRequestedRuntime 傳回時,pcchVersion 就會含有預期大小的 pwzVersion 以允許進行預先配置,否則,pcchVersion 就會含有寫入 pwzVersion 之字元的數目。。 |
pwzImageVersion |
[out] 選擇項。 當 GetRequestedRuntime 傳回時,會包含對應於所傳回之 ICLRRuntimeInfo 介面的 CLR 版本。 |
pcchImageVersion |
[in, out] 選擇項。 指定 pwzImageVersion 的大小做為輸入,以避免緩衝區滿溢。 如果 pwzImageVersion 為 null, pcchImageVersion 就會在 GetRequestedRuntime 傳回時包含必要大小的 pwzImageVersion,以允許進行預先配置。 |
pdwConfigFlags |
[out] 選擇項。 如果 GetRequestedRuntime 於繫結過程使用組態檔,當它傳回時,pdwConfigFlags 就會包含 METAHOST_CONFIG_FLAGS 值,指出 <startup> 項目是否有設定 useLegacyV2RuntimeActivationPolicy 屬性,以及屬性的值。 將 METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK 遮罩套用至 pdwConfigFlags 以取得與 useLegacyV2RuntimeActivationPolicy 相關的值。 |
riid |
[in] 為要求的 ICLRRuntimeInfo 介面指定介面識別項 IID_ICLRRuntimeInfo。 |
ppRuntime |
[out] 當 GetRequestedRuntime 傳回時, 包含對應之 ICLRRuntimeInfo 介面的指標。 |
備註
當這個方法成功時,它會有將其他旗標與傳回之執行階段介面的目前預設啟動旗標合併的副作用,只有當下列一個或多個項目存在於 <configuration><runtime> 區段內的組態資料流中時,才會發生這種情況:
<gcServer enabled="true"/> 會使 STARTUP_SERVER_GC 被設定。
<etwEnable enabled="true"/> 會使 STARTUP_ETW 被設定。
<appDomainResourceMonitoring enabled="true"/> 會使 STARTUP_ARM 被設定。
產生的預設 STARTUP_FLAGS 值是以預設啟動旗標對上述清單設定之值的位元 OR 組合。
傳回值
這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。
HRESULT |
描述 |
---|---|
S_OK |
此方法已成功完成。 |
E_POINTER |
pwzVersion 不是 null,而且 pcchVersion 不是 null。 -或- pwzImageVersion 不是 null,而且 pcchImageVersion 不是 null。 |
E_INVALIDARG |
dwPolicyFlags 未指定 METAHOST_POLICY_HIGHCOMPAT。 |
需求
**平台:**請參閱 .NET Framework 系統需求。
標頭:MetaHost.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4