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 修复 |