共用方式為


CorBindToRuntimeEx

啟用 Unmanaged 主應用程式,將 Common Language Runtime 載入處理序 (Process)。請參閱裝載 Common Language Runtime,取得使用 CorBindToRuntimeEx 案例的完整描述。

這個方法採用一組參數,可讓主應用程式進行下列作業:

  • 指定將載入的執行階段版本。

  • 指示應否載入伺服器或工作站組建 (Build)。

  • 控制是否完成了並行或非並行的記憶體回收。

  • 控制是否以定義域中性方式載入組件。

  • 取得可用來設定其他選項的 ICorRuntimeHost 的介面指標,這些選項可讓主應用程式先設定 Common Language Runtime 的執行個體,再啟動它。

HRESULT CorBindToRuntimeEx ( 
    LPWSTR pwszVersion,   
    LPWSTR pwszBuildFlavor, 
    DWORD flags,            
    REFCLSID rclsid,      
    REFIID riid,    
    LPVOID* ppv
);

參數

參數 說明

pwszVersion

[in] 字串,描述您要載入的 Common Language Runtime 版本。

.NET Framework 的版本號碼由四個部分所組成 (其間以英文句號分隔):主要.次要.組建.修訂。當做 pwszVersion 傳遞的字串必須以字元 "v" 起始,後接版本號碼的前三個部分。例如,

v1.0.1529

某些 Common Language Runtime 版本是以原則陳述式安裝,這種陳述式會指定與先前 Common Language Runtime 版本的相容性。根據預設,啟動 shim 會根據原則陳述式評估 pwszVersion,並載入與所要求版本相容的最新版本的執行階段。主應用程式可以強迫 shim 略過原則評估,並載入 pwszVersion 中所指定的完全相同的版本,方法是針對 flags 傳遞 STARTUP_LOADER_SAFEMODE 的值。請參閱以下的 flags 說明。

如果呼叫端為 pwszVersion 指定 null,則會載入最新版的 Common Language Runtime。傳遞 null 使主應用程式無法控制載入哪個執行階段版本。雖然這在某些案例中是適當的,但仍強烈建議主應用程式提供要載入的特定版本。

pwszBuildFlavor

[in] 字串,指定是否要載入 Common Language Runtime 的伺服器或工作站組建。有效值為 "wks" 和 "svr"。伺服器組建經過最佳化,可在執行記憶體回收時利用多個處理器;而工作站組建經過最佳化,可用於在單一處理器電腦上執行的用戶端應用程式。

如果 pwszBuildFlavor 設定為 null,則會載入工作站組建。在單一處理器的電腦上執行時,永遠會載入工作站組建,就算 pwszBuildFlavor 是設為 "svr"。不過,如果傳遞了 "svr" 且指定並行的記憶體回收 (請參閱以下的 flags 參數說明),則會載入伺服器組建。通常,在伺服器組建上執行並行的記憶體回收並不令人滿意,但 Common Language Runtime 的 Startup Shim 並沒有特殊的邏輯可防止這項組態。

flags

[in] 一組旗標,用來控制並行記憶體回收、定義域中性程式碼和 pwszVersion 參數的行為。如果沒有設定任何旗標,則預設為單一的定義域。下列是有效值:

  • STARTUP_CONCURRENT_GC 指定應該使用並行記憶體回收。如果呼叫端要求在單一處理器的電腦上使用伺服器組建和並行記憶體回收,則會改為執行工作站組建和非並行的記憶體回收。

  • STARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAIN 不以定義域中性的方式載入組建。

  • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN 所有的組件都會以定義域中性的方式載入。

  • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST 以定義域中性的方式載入所有強式名稱的組件。

  • STARTUP_LOADER_SAFEMODE 指定載入傳入 pwszVersion 的 Common Language Runtime 版本。Shim 不會評估原則以判斷最新的相容版本。

  • STARTUP_LEGACY_IMPERSONATION

rclsid

[in] 實作 ICorRuntimeHost 介面之 coclass 的 CLSID。支援的值為 CLSID_CorRuntimeHostCLSID_CLRRuntimeHost

riid

[in] 從 rclsid 要求之介面的 IID。支援的值為 IID_ICorRuntimeHostIID_ICLRRuntimeHost

ppv

[out] 傳回的 riid 的介面指標。

備註

如果 pwszVersion 指定了不存在的執行階段版本,則 CorBindToRuntimeEx 會傳回 CLR_E_SHIM_RUNTIMELOADHRESULT 值。

需求

**平台:**Windows 2000、Windows XP、Windows Server 2003 系列

標頭: 在 Mscoree.h 中宣告

程式庫: 當做 Mscoree.dll 中的資源加入

請參閱

參考

CorBindToRuntime