LockClrVersion 函数
允许宿主确定在进行显式初始化 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 所有调用都必须在具有相同逻辑堆栈的单线程或单纤程上发生。 此线程可与调用 hostCallback 时的线程不同。
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**MSCorEE.h
**库:**MSCorEE.dll
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0