CorBindToRuntimeHost 函数

更新:2007 年 11 月

使宿主可以将指定版本的公共语言运行时 (CLR) 加载到进程中。

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 中的版本号由句点分隔的四个部分组成:主版本.次版本.内部版本.修订版。作为 pwszVersion 传递的字符串必须以字符“v”开头,后面跟上版本号的前三个部分(例如“v1.0.1529”)。

    某些版本的 CLR 在安装时带有策略声明,用于指定与 CLR 早期版本的兼容性。默认情况下,启动程序 (startup shim) 根据策略声明评估 pwszVersion,并加载与当前所需版本兼容的最新运行时版本。通过为 startupFlags 参数传递 STARTUP_LOADER_SAFEMODE 值,宿主可以强制启动程序跳过策略计算并加载 pwszVersion 中指定的确切版本。

    如果调用方将 pwszVersion 指定为 null,则将加载 CLR 的最新版本。如果传递 null,则主机对加载的运行时的版本没有控制。虽然在某些情况下此方法可能是适用的,但强烈建议主机提供一个要加载的特定版本。

  • pwszBuildFlavor
    [in] 一个字符串,指定是加载 CLR 的服务器版本还是工作站版本。有效值为:svr 和 wks。服务器版本已经过优化,可以利用多个处理器进行垃圾回收,而工作站版本则针对单处理器计算机上运行的客户端应用程序进行了优化。

    如果 pwszBuildFlavor 设置为 null,则将加载工作站版本。在单处理器计算机上运行时,即使 pwszBuildFlavor 设置为 svr,也将始终加载工作站版本。但是,如果将 pwszBuildFlavor设置为 svr,并且指定了并发垃圾回收(请参见有关 startupFlags 参数的说明),则将加载服务器版本。

    说明:

    如果应用程序在实现 Intel Itanium 体系结构的 64 位系统(以前称为 IA-64)上运行 WOW64 x86 仿真程序,则在这些应用程序中不支持并发垃圾回收。有关在 64 位 Windows 系统上使用 WOW64 的更多信息,请参见 Running 32-bit Applications(运行 32 位应用程序)。

      

  • pwszHostConfigFile
    [in] 宿主配置文件的名称,该文件指定要加载的 CLR 的版本。如果此文件名不包括完全限定路径,则假定它与执行调用的可执行文件位于同一个目录中。

  • pReserved
    [in] 保留用于将来扩展。

  • startupFlags
    [in] 一组标志,用于控制并发垃圾回收、非特定于域的代码以及 pwszVersion 参数的行为。如果未设置标志,则默认值为一个域。下列值是受支持的:

    • STARTUP_CONCURRENT_GC:指定应使用并发垃圾回收。在单处理器计算机上,如果调用方请求服务器版本并指定并发垃圾回收,将改用工作站版本和非并发垃圾回收。

    • STARTUP_LOADER_OPTIMIZATION_SINGLE_DOMAIN:指定不以非特定于域的形式加载任何程序集。

    • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN:指定以非特定于域的形式加载所有程序集。

    • STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN_HOST:指定以非特定于域的形式加载所有具有强名称的程序集。

    • STARTUP_LOADER_SAFEMODE:指定将加载传入 pwszVersion 的 CLR 的确切版本。启动程序不通过评估策略来决定最新的兼容版本。

  • rclsid
    [in] 实现所查找接口的 coclass 的 CLSID。支持的值为 CLSID_CorRuntimeHost 或者为 Null。

  • riid
    [in] 所请求的接口的 IID。运行时的初始版本所支持的值为 IID_ICorRuntimeHost 或者为 Null。

  • ppv
    [out] 指向已加载运行时版本的接口指针。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**MSCorEE.idl

**库:**MSCorEE.dll

**.NET Framework 版本:**3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

请参见

参考

CorBindToCurrentRuntime 函数

CorBindToRuntime 函数

CorBindToRuntimeByCfg 函数

CorBindToRuntimeEx 函数

ICorRuntimeHost

其他资源

宿主全局静态函数