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 參數的行為。如果沒有設定任何旗標,則預設為單一的定義域。下列是有效值:
|
rclsid |
[in] 實作 ICorRuntimeHost 介面之 coclass 的 CLSID。支援的值為 CLSID_CorRuntimeHost 或 CLSID_CLRRuntimeHost。 |
riid |
[in] 從 rclsid 要求之介面的 IID。支援的值為 IID_ICorRuntimeHost 或 IID_ICLRRuntimeHost。 |
ppv |
[out] 傳回的 riid 的介面指標。 |
備註
如果 pwszVersion 指定了不存在的執行階段版本,則 CorBindToRuntimeEx 會傳回 CLR_E_SHIM_RUNTIMELOAD 的 HRESULT 值。
需求
**平台:**Windows 2000、Windows XP、Windows Server 2003 系列
標頭: 在 Mscoree.h 中宣告
程式庫: 當做 Mscoree.dll 中的資源加入