LoadLibraryShim 函数

更新:2010 年 8 月

加载包括在 .NET Framework 可再发行组件包中的指定版本的 DLL。

.NET Framework 4 版 中已弃用此函数。 转而使用 ICLRRuntimeInfo::LoadLibrary 方法。

HRESULT LoadLibraryShim (
    [in]  LPCWSTR  szDllName,
    [in]  LPCWSTR  szVersion,
          LPVOID   pvReserved,
    [out] HMODULE *phModDll
);

参数

  • szDllName
    [in] 表示要从 .NET Framework 库中加载的 DLL 的名称的字符串(以零结束)。

  • szVersion
    [in] 表示要加载的 DLL 的版本的字符串(以零结束)。 如果 szVersion 为空,加载选择的版本是指定低于版本 4 的 DLL 的最新版本。 就是说,在 szVersion 为空的情况下,所有等于或高于版本 4 的版本都将被忽略,如果没有安装低于版本 4的版本,则无法加载 DLL。 这是为了确保 .NET Framework 4 的安装不会影响现有的应用程序或组件。 请参见 CLR 团队博客中的条目 In-Proc SxS and Migration Quick Start(进程内 SxS 和迁移快速启动)

  • pvReserved
    保留供将来使用。

  • phModDll
    [out] 指向该模块的句柄的指针。

返回值

除了下面的值以外,此方法还返回 WinError.h 中定义的标准组件对象模型 (COM) 错误代码。

返回代码

说明

S_OK

该方法成功完成。

CLR_E_SHIM_RUNTIMELOAD

加载 szDllName 需要加载公共语言运行时 (CLR),但所需版本的 CLR 无法加载。

备注

此函数用于加载 .NET Framework 可再发行组件包中包括的 DLL。 它不加载用户生成的 DLL。

注意注意

从 .NET Framework 2.0 版开始,加载 Fusion.dll 会导致加载 CLR。这是因为 Fusion.dll 中的函数为其实现在运行时提供的现有包装。

要求

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

**头文件:**MSCorEE.h

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

请参见

其他资源

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

修订记录

Date

修订记录

原因

2010 年 8 月

描述 .NET Framework 4 进程内部的并行行为。 添加了返回值的列表。 添加了已弃用方法的替代方案。

内容 Bug 修复