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

Находит возможное соответствие имени языкового стандарта для указанного имени.

Синтаксис

int ResolveLocaleName(
  [in, optional]  LPCWSTR lpNameToResolve,
  [out, optional] LPWSTR  lpLocaleName,
  [in]            int     cchLocaleName
);

Параметры

[in, optional] lpNameToResolve

Указатель на имя для разрешения, например "en-XA" для английского языка (частное использование).

[out, optional] lpLocaleName

Указатель на буфер, в котором эта функция извлекает имя языкового стандарта, соответствующее входной имени. Например, для имени "en-XA" соответствует "en-US" для английского языка (США).

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

[in] cchLocaleName

Размер буфера в символах, указанный lpLocaleName. Максимально возможной длиной имени языкового стандарта, включая завершающий символ NULL, является значение LOCALE_NAME_MAX_LENGTH. Это рекомендуемый размер, который следует указать в этом параметре.

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

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

Функция возвращает значение 0, если не удалось. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:

  • ERROR_INSUFFICIENT_BUFFER. Указанный размер буфера был недостаточно велик или для него неправильно задано значение NULL.

Комментарии

Полученное имя языкового стандарта указывает конкретный языковой стандарт, включая язык и страну или регион, даже если язык ввода является нейтральным. Например, входные данные "en" для английского языка (США) приводят к тому, что функция получает "en-US".

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

Начиная с Windows 8: Языковые теги, полученные из пространства имен Windows.Globalization , должны быть преобразованы с помощью ResolveLocaleName , прежде чем их можно будет использовать с любыми функциями поддержки национальных языков.

Требования

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

См. также

Поддержка национальных языков

Функции поддержки национальных языков

Windows.Globalization