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 之前,主机会调用 LockClrVersionLockClrVersion 有三个参数,它们都是 FLockClrVersionCallback 类型的回调。 此类型定义如下。

typedef HRESULT ( __stdcall *FLockClrVersionCallback ) ();

运行时进行初始化时发生以下步骤:

  1. 宿主调用 CorBindToRuntimeEx 或其他运行时初始化函数之一。 宿主也可以通过激活 COM 对象初始化运行时。

  2. 运行时调用 hostCallback 参数指定的函数。

  3. 然后,hostCallback 指定的函数将进行以下一系列调用:

从 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

请参见

其他资源

.NET Framework 1.1 和 2.0 承载全局静态函数