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


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

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

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

Синтаксис

BOOL SetLocaleInfoW(
  [in] LCID    Locale,
  [in] LCTYPE  LCType,
  [in] LPCWSTR lpLCData
);

Параметры

[in] Locale

Для версии функции ANSI идентификатор языкового стандарта языкового стандарта с кодовой страницей, используемой при интерпретации сведений lpLCData. Для версии Юникода этот параметр игнорируется.

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

Также поддерживаются следующие пользовательские идентификаторы языкового стандарта.

[in] LCType

Тип заданных сведений языкового стандарта. Допустимые константы см. в разделе "Константы, используемые в параметре LCType GetLocaleInfo, GetLocaleInfoEx и SetLocaleInfo" константы сведений языкового стандарта. Приложение может указать только одно значение для каждого вызова, но может использовать двоичный оператор OR для объединения LOCALE_USE_CP_ACP с любой другой константой.

[in] lpLCData

Указатель на строку, завершающую значение NULL, содержащую заданные сведения о языковом стандарте. Сведения должны находиться в формате, относямся к указанной константе. Приложение использует строку Юникода для версии функции Юникода и строку ANSI для версии ANSI.

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

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

  • ERROR_ACCESS_DISABLED_BY_POLICY. Групповая политика компьютера или пользователя запретила эту операцию.
  • ERROR_INVALID_ACCESS. Недопустимый код доступа.
  • ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, недопустимы.
  • ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.

Замечания

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

Для параметра LCType приложение должно задать LOCALE_USE_CP_ACP использовать кодовую страницу ANSI операционной системы вместо кодовой страницы языкового стандарта для перевода строк.

Если версия этой функции ANSI используется с идентификатором языкового стандарта юникода, функция может завершиться успешно, так как операционная система использует системную кодовую страницу. Однако символы, которые не определены в системной кодовой странице, отображаются в строке как вопросительный знак (?).

По состоянию на Windows Vista константы LOCALE_SDATE и LOCALE_STIME устарели. Не используйте эти константы. Вместо этого используйте LOCALE_SSHORTDATE и LOCALE_STIMEFORMAT. Настраиваемый языковой стандарт может не иметь один символ единого разделителя в формате даты или времени: например, формат "12/31, 2006" или "03:56'23" может быть допустимым.

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winnls.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

GetLocaleInfo

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

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