Поделиться через


Функция LoadMUILibraryA (muiload.h)

Возвращает дескриптор для ресурсов конкретного языка, связанных с определенным файлом, не зависящим от языка (LN).

Примечание Чтобы обеспечить правильную выгрузку библиотеки DLL, приложения должны сопоставлять каждый вызов LoadMUILibrary с соответствующим вызовом FreeMUILibrary.
 

Синтаксис

HINSTANCE LoadMUILibraryA(
  [in] PCSTR  pszFullModuleName,
  [in] DWORD  dwLangConvention,
  [in] LANGID LangID
);

Параметры

[in] pszFullModuleName

Указатель на строку, завершающуюся значением NULL, указывающую имя LN-файла.

[in] dwLangConvention

Флаги, указывающие соглашение об именовании в операционных системах, предшествующих Windows Vista, для именования каталогов, содержащих файлы ресурсов для конкретного языка. Флаги являются взаимоисключающими, и по умолчанию используется MUI_LANGUAGE_NAME.

Значение Значение
MUI_LANGUAGE_ID
Интерпретируйте имя папки, содержащей файлы ресурсов для конкретного языка, используя формат идентификатора языка .
MUI_LANGUAGE_NAME
Интерпретируйте имя папки, содержащей файлы ресурсов для конкретного языка, с помощью формата имени языка .
 

Следующий флаг доступен в качестве параметра и может использоваться в сочетании с другими флагами.

Значение Значение
MUI_LANGUAGE_EXACT
Если ресурсы для указанного языка не найдены в файлах ресурсов, проверка модуль main, заданный pwszModuleName, и вернуть дескриптор в этот модуль в случае успешного выполнения.

[in] LangID

Идентификатор языка для ресурсов пользовательского интерфейса в операционной системе до Windows Vista. Идентификатор языка не может соответствовать языку, связанному с любой из этих констант сведений о языковом стандарте:

Возвращаемое значение

В случае успешного выполнения возвращает дескриптор соответствующего файла ресурсов для конкретного языка.

Эта функция возвращает значение NULL в случае сбоя. Чтобы получить расширенные сведения об ошибке, приложение может вызвать GetLastError.

Комментарии

Эта функция позволяет приложениям, разработанным с использованием технологии ресурсов Win32 MUI, правильно определять файл ресурсов для конкретного языка для загрузки в операционных системах, предшествующих Windows Vista. Приложения, использующие эту функцию, не обязательно создавать в Windows Vista, но они должны статически связываться с библиотекой MUILoad, предоставленной в Microsoft Windows SDK для Windows Vista. Эта функция требует, чтобы исполняемые файлы ресурсов и файлы ресурсов для конкретного языка хранились с использованием стандартных соглашений. Дополнительные сведения о размещении файлов см. в разделе Развертывание приложений .

Следующие элементы влияют на загрузку вспомогательных двоичных файлов этой функцией.

  • Версия операционной системы, на котором выполняется приложение, которое вызывает функцию
  • Флаг, переданный в параметре dwLangConvention
  • Состояние идентификатора языка, переданного в параметре LangID
При работе в Windows Vista эта функция загружает модуль main без перенаправления. Используется только параметр 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. Кроме того, LoadMUILibrary не следует вызывать из DllMain. Дополнительные сведения см. в разделах Примечания в LoadLibraryEx и FreeLibrary.

Примечание

Заголовок muiload.h определяет LoadMUILibrary в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header muiload.h
Библиотека Muiload.lib
Распространяемые компоненты Muiload.lib, входящий в Windows SDK для Windows 7, который можно запускать в Windows 2000 Профессиональная, Windows 2000 Server, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 и Windows 7.

См. также раздел

FreeMUILibrary

Многоязыковой интерфейс пользователя

Функции многоязычного пользовательского интерфейса