CorBindToRuntimeHost 函数
使主机能够将指定版本的公共语言运行时 (CLR) 加载到进程中。
.NET Framework 4 中已弃用此函数。
语法
HRESULT CorBindToRuntimeHost (
[in] LPCWSTR pwszVersion,
[in] LPCWSTR pwszBuildFlavor,
[in] LPCWSTR pwszHostConfigFile,
[in] VOID* pReserved,
[in] DWORD startupFlags,
[in] REFCLSID rclsid,
[in] REFIID riid,
[out] LPVOID FAR *ppv
);
参数
pwszVersion
[in] 一个字符串,用于描述要加载的 CLR 版本。
.NET Framework 中的版本号由句点分隔的四个部分组成:major.minor.build.revision。 作为 pwszVersion
传递的字符串必须以字符“v”开头,后接版本号的前三个部分(例如“v1.0.1529”)。
某些版本的 CLR 装有一个策略语句,该声明指定与以前版本的 CLR 的兼容性。 默认情况下,启动 shim 根据策略语句评估 pwszVersion
,并加载与所请求版本兼容的最新版运行时。 主机可以通过为 startupFlags
参数传递 STARTUP_LOADER_SAFEMODE 值来强制填充码跳过策略评估并加载 pwszVersion
中指定的确切版本。
null
如果是pwszVersion
,该方法不会加载任何版本的 CLR。 而是返回 CLR_E_SHIM_RUNTIMELOAD,这表示无法加载运行时。
pwszBuildFlavor
[in] 一个字符串,用于指定是要加载 CLR 的服务器版本还是工作站版本。 有效值为 svr
和 wks
。 服务器版本已经过优化,可利用多个处理器进行垃圾回收;工作站版本已针对在单处理器计算机上运行的客户端应用程序进行优化。
如果 pwszBuildFlavor
设置为 null,则加载工作站版本。 在单处理器计算机上运行时,即使 pwszBuildFlavor
设置为 svr
,也始终加载工作站版本。 但是,如果将 pwszBuildFlavor
设置为 svr
并指定了并发垃圾回收(请参阅 startupFlags
参数的介绍),则会加载服务器版本。
备注
在实现 Intel Itanium 体系结构(以前称为 IA-64)的 64 位系统上运行 WOW64 x86 仿真器的应用程序不支持并发垃圾回收。 有关在 64 位 Windows 系统上使用 WOW64 的详细信息,请参阅运行 32 位应用程序。
pwszHostConfigFile
[in] 指定要加载的 CLR 版本的主机配置文件的名称。 如果文件名不包含完全限定的路径,则假定该文件与进行调用的可执行文件位于同一目录中。
pReserved
[in] 保留以供将来进行扩展。
startupFlags
[in] 一组标志,用于控制并发垃圾回收、非特定于域的代码和 pwszVersion
参数的行为。 如果未设置任何标志,则默认值为单一域。 有关支持的值的列表,请参阅 STARTUP_FLAGS 枚举。
rclsid
[in] 实现 ICorRuntimeHost 或 ICLRRuntimeHost 接口的组件类的 CLSID
。 支持的值为 CLSID_CorRuntimeHost 或 CLSID_CLRRuntimeHost。
riid
[in] 要请求的接口的 IID
。 支持的值为 IID_ICorRuntimeHost 或 IID_ICLRRuntimeHost。
ppv
[out] 指向已加载的运行时版本的接口指针。
要求
平台:请参阅系统要求。
标头:MSCorEE.idl
库:MSCorEE.dll
.NET Framework 版本:自 1.0 起可用