LockClrVersion 函式
允許主機先判斷哪個版本的 Common Language Runtime (CLR) 會在流程內使用,然後再明確初始化 CLR。
此函式在 .NET Framework 4 中已被取代。
語法
HRESULT LockClrVersion (
[in] FLockClrVersionCallback hostCallback,
[in] FLockClrVersionCallback *pBeginHostSetup,
[in] FLockClrVersionCallback *pEndHostSetup
);
參數
hostCallback
[in] CLR 在初始化時要呼叫的語言函式。
pBeginHostSetup
[in] 主機要呼叫的語言函式,通知 CLR 初始化正在啟動。
pEndHostSetup
[in] 主機要呼叫的語言函式,通知 CLR 初始化已經完成。
傳回值
除了下列的值之外,這個方法還會傳回 WinError.h 中定義的標準 COM 錯誤碼。
傳回碼 | 描述 |
---|---|
S_OK | 已成功完成命令。 |
E_INVALIDARG | 一或多個引數為 null。 |
備註
主機會在初始化 CLR 之前呼叫 LockClrVersion
。 LockClrVersion
會採用三個參數,全部都是 FLockClrVersionCallback 類型的回呼。 此類別定義如下。
typedef HRESULT ( __stdcall *FLockClrVersionCallback ) ();
在執行階段初始化時,會發生下列步驟:
主機會呼叫 CorBindToRuntimeEx 或其他執行階段初始化語言函式之一。 或者,主機可以使用 COM 物件啟用來初始化執行階段。
執行階段會呼叫
hostCallback
參數所指定的語言函式。接著
hostCallback
所指定的語言函式會進行下列呼叫序列:pBeginHostSetup
參數指定的語言函式。CorBindToRuntimeEx
(或其他執行階段初始化語言函式)。pEndHostSetup
參數指定的語言函式。
從 pBeginHostSetup
到 pEndHostSetup
的所有呼叫都必須發生在具有相同邏輯堆疊的單一執行緒或 Fiber 上。 這個執行緒可以不同於 hostCallback
呼叫的執行緒。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫: MSCorEE.dll
.NET Framework版本:自 2.0 起可用