Функция EnumUILanguagesW (winnls.h)

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

Синтаксис

BOOL EnumUILanguagesW(
  [in] UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
  [in] DWORD                dwFlags,
  [in] LONG_PTR             lParam
);

Параметры

[in] lpUILanguageEnumProc

Указатель на определяемую приложением функцию обратного вызова EnumUILanguagesProc . EnumUILanguages повторно вызывает эту функцию для перечисления языков в списке.

[in] dwFlags

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

Значение Значение
MUI_LANGUAGE_ID
Передайте идентификатор языка в строке языка функции обратного вызова.
MUI_LANGUAGE_NAME
Передайте имя языка в строке языка в функцию обратного вызова.
 

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

Значение Значение
MUI_ALL_INSTALLED_LANGUAGES
Перечисление всех установленных языков, доступных операционной системе.
MUI_LICENSED_LANGUAGES
Перечисление всех установленных языков, доступных и лицензированных для использования.
MUI_GROUP_POLICY
Перечисление всех установленных языков, доступных и лицензированных и разрешенных

групповую политику.

 

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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header winnls.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

EnumUILanguagesProc

GetSystemDefaultUILanguage

GetUserDefaultUILanguage

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

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