Функция EnumUILanguagesA (winnls.h)
Перечисляет языки пользовательского интерфейса, доступные в операционной системе, и вызывает функцию обратного вызова с каждым языком в списке.
Синтаксис
BOOL EnumUILanguagesA(
[in] UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
[in] DWORD dwFlags,
[in] LONG_PTR lParam
);
Параметры
[in] lpUILanguageEnumProc
Указатель на определяемую приложением функцию обратного вызова EnumUILanguagesProc . EnumUILanguages многократно вызывает эту функцию для перечисления языков в списке.
[in] dwFlags
Флаги, определяющие языковой формат и фильтрацию. Следующие флаги определяют формат языка, передаваемого функции обратного вызова. Флаги формата являются взаимоисключающими, и по умолчанию используется MUI_LANGUAGE_ID.
Значение | Значение |
---|---|
|
Передайте идентификатор языка в строке языка функции обратного вызова. |
|
Передайте имя языка в строке языка функции обратного вызова. |
Следующие флаги определяют фильтрацию для функции, используемой при перечислении языков. Флаги фильтрации являются взаимоисключающими, а значение по умолчанию — MUI_LICENSED_LANGUAGES.
Windows Vista и более поздних версий: Приложение может задать dwFlags значение 0 или один или несколько указанных флагов. Значение 0 приводит к тому, что значение параметра по умолчанию MUI_LANGUAGE_ID | MUI_LICENSED_LANGUAGES.
Windows 2000, Windows XP, Windows Server 2003: Приложение должно присвоить dwFlags значение 0.
[in] lParam
Значение, определяемое приложением.
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения или false в противном случае. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:
- ERROR_INVALID_FLAGS. Значения, указанные для флагов, были недопустимыми.
- ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
Комментарии
Эта функция перечисляет доступные языки пользовательского интерфейса и, в зависимости от указанного флага, лицензированные для использования в операционной системе. Он передает идентификаторы языка или имена языков по одному в функцию обратного вызова EnumUILanguagesProc . Функция EnumUILanguages продолжает передавать идентификаторы языка или имена функции обратного вызова до тех пор, пока не будет найден последний язык или функция обратного вызова не вернет ЗНАЧЕНИЕ FALSE.
Для приложений, работающих только в Windows Vista и более поздних версиях, MUI_LANGUAGE_NAME рекомендуется MUI_LANGUAGE_ID. MUI_LANGUAGE_NAME позволяет различать языки, связанные с дополнительным языковым стандартом.
Если флаг MUI_LANGUAGE_ID указан в вызове этой функции, строки передаются обратному вызову.
функция будет шестнадцатеричными идентификаторами языка, которые не включают в себя 0x в начале, и будет иметь значение 4
длина символов. Например, en-US будет передано как "0409" и en как "0009". Значение "1000" передается функции обратного вызова для любого языка, связанного с дополнительным языковым стандартом. Это значение соответствует шестнадцатеричным значениям LOCALE_CUSTOM_UNSPECIFIED. Он не различает дополнительные языковые стандарты, даже если выбранный язык находится в списке предпочитаемых пользователем языков пользовательского интерфейса или в списке предпочитаемых системой языков пользовательского интерфейса.
Подпись C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean EnumUILanguages(
EnumUILanguagesProc lpUILanguageEnumProc,
System.UInt32 dwFlags,
System.IntPtr lParam
);
Примечание
Заголовок winnls.h определяет EnumUILanguages в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winnls.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |