LoadMUILibraryW 函数 (muiload.h)

返回与特定语言中性(LN)文件关联的特定于语言的资源的句柄。

注意 为了确保正确卸载 DLL,应用程序应将每个调用与 LoadMUILibrary 匹配,并调用 FreeMUILibrary
 

语法

HINSTANCE LoadMUILibraryW(
  [in] PCWSTR pszFullModuleName,
  [in] DWORD  dwLangConvention,
  [in] LANGID LangID
);

参数

[in] pszFullModuleName

指向指定 LN 文件名称的以 null 结尾的字符串的指针。

[in] dwLangConvention

在 Windows Vista 操作系统上指定命名约定的标志,用于命名包含特定于语言的资源文件的目录。 标志互斥,默认值为MUI_LANGUAGE_NAME。

价值 意义
MUI_LANGUAGE_ID
使用 语言标识符 格式解释包含特定于语言的资源文件的文件夹的名称。
MUI_LANGUAGE_NAME
使用 语言名称 格式解释包含特定于语言的资源文件的文件夹的名称。
 

以下标志可用作选项,可以与其他任一标志结合使用。

价值 意义
MUI_LANGUAGE_EXACT
如果在资源文件中找不到标识语言的资源,请检查由 pwszModuleName 指定的主模块,并在成功时返回该模块的句柄。

[in] LangID

Windows Vista 操作系统上用户界面资源的语言标识符。 语言标识符不能对应于与以下任一区域设置信息常量关联的语言:

返回值

如果成功,则返回相应特定于语言的资源文件的句柄。

此函数在失败时返回 NULL。 若要获取扩展的错误信息,应用程序可以调用 GetLastError

言论

此函数允许使用 Win32 MUI 资源技术开发的应用程序能够正确确定在 Windows Vista 操作系统上加载的语言特定的资源文件。 使用此函数的应用程序不必专门在 Windows Vista 上构建,但它们必须静态链接到适用于 Windows Vista 的 Microsoft Windows SDK 中提供的 MUILoad 库。 此函数需要使用标准约定存储可执行文件和特定于语言的资源文件。 有关文件放置的详细信息,请参阅 应用程序部署

以下项会影响此函数加载附属二进制文件。

  • 运行调用函数的应用程序的操作系统版本
  • dwLangConvention 参数中传递的标志
  • LangID 参数中传递的语言标识符的状态
在 Windows Vista 上运行时,此函数加载主模块而不重定向。 仅使用 pszFullModuleName 参数,因为资源加载程序函数在调用时适当地执行重定向。 在 Windows Vista 操作系统上运行时,此函数将考虑应用程序提供的所有参数。 它将二进制加载重定向到与 由 pszFullModuleName表示的文件关联的正确附属二进制对。 此过程重新构建与文件关联的路径,以模拟资源加载程序函数不足的 Windows Vista 的行为。

应用程序使用 dwLangConvention 参数来指定应探测附属二进制文件的方式。 如果应用程序将此参数设置为MUI_LANGUAGE_ID,则二进制文件将探测到具有十六进制字符串值的文件夹中。 (这些值不包括前导 0x,长度为 4 个字符。 例如,表示 en-US

作为“0409”,en 为“0009”。 如果应用程序将参数设置为MUI_LANGUAGE_NAME,则函数使用 Windows Vista 资源加载,该加载使用基于语言名称的文件夹探测查找附属文件。

LangID 参数中语言标识符的状态会影响资源探测。 如果应用程序将此参数设置为 0,则函数将使用预定义的回退逻辑(依赖于操作系统)来查找适当的特定于语言的资源文件。 当应用程序将 LangID 设置为非零值时,探测机制仅搜索适当命名的文件夹及其关联的中性等效项。 有关详细信息,请参阅 用户界面语言管理

LoadMUILibrary 是基于 LoadLibraryEx函数构建的,需要对其用法应用类似的注意事项。 具体而言,应为 LoadMUILibrary返回的任何句柄调用 freeMUILibrary 。 此外,不应从 DllMain调用 LoadMUILibrary。 有关详细信息,请参阅 LoadLibraryExFreeLibrary的“备注”部分。

注意

muiload.h 标头将 LoadMUILibrary 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 muiload.h
Muiload.lib
可再发行组件 Muiload.lib 包含在 Windows SDK for Windows 7 中,可在 Windows 2000 Professional、Windows 2000 Server、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008 和 Windows 7 上运行。

另请参阅

FreeMUILibrary

多语言用户界面

多语言用户界面函数