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


Функция 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
Если ресурсы для определенного языка не найдены в файлах ресурсов, проверьте основной модуль, указанный pwszModuleName и возвратите дескриптор в этот модуль в случае успешного выполнения.

[in] LangID

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

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

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

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

Замечания

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

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

  • Версия операционной системы под управлением приложения, вызывающего функцию
  • Флаг, переданный в параметре 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и аналогичные рекомендации необходимо применить к его использованию. В частности, FreeMUILibrary следует вызывать для любого дескриптора, возвращаемого LoadMUILibrary. Кроме того, LoadMUILibrary не следует вызывать из DllMain. Дополнительные сведения см. в разделах "Примечания" LoadLibraryEx и freeLibrary.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка muiload.h
библиотеки Muiload.lib
распространяемый Muiload.lib, включенный в пакет SDK для Windows 7, который можно запускать в Windows 2000 профессиональный, Windows 2000 Server, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 и Windows 7.

См. также

FreeMUILibrary

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

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