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 及更高版本

另请参阅