LoadLibraryShim 函数
加载 .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
为 NULL,则选择加载的版本是指定 DLL 第 4 版以下的最新版本。 也就是说,如果 szVersion
为 NULL,则忽略第 4 版及第 4 版以上的所有版本;如果未安装第 4 版以下的任何版本,则 DLL 无法加载。 这是为了确保安装 .NET Framework 4 不会影响已有的应用程序或组件。 请参阅 CLR 团队博客中的文章《In-Proc 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 中的函数现在是由运行时提供实现的包装器。
要求
平台:请参阅系统要求。
标头:MSCorEE.h
.NET Framework 版本:1.0 及更高版本