Функция SetCalendarInfoA (winnls.h)
Задает элемент сведений о языковом стандарте для календаря. Дополнительные сведения см. в даты и календаря.
Синтаксис
BOOL SetCalendarInfoA(
[in] LCID Locale,
[in] CALID Calendar,
[in] CALTYPE CalType,
[in] LPCSTR lpCalData
);
Параметры
[in] Locale
идентификатор языкового стандарта, указывающий языковой стандарт. Вы можете использовать макрос
[in] Calendar
идентификатор календаря календаря, для которого необходимо задать сведения.
[in] CalType
Тип заданных сведений о календаре. Для этой функции допустимы только следующие значения CALTYPE. Константа CAL_USE_CP_ACP имеет смысл только для версии ANSI функции.
- CAL_USE_CP_ACP
- CAL_ITWODIGITYEARMAX
[in] lpCalData
Указатель на строку сведений о календаре, завершаемой значением NULL. Сведения должны находиться в формате указанного типа календаря.
Возвращаемое значение
Возвращает ненулевое значение в случае успешного выполнения или 0 в противном случае. Чтобы получить расширенные сведения об ошибке, приложение может вызывать GetLastError, что может возвращать один из следующих кодов ошибок:
- ERROR_INTERNAL_ERROR. В функции произошла непредвиденная ошибка.
- ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, недопустимы.
- ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
Замечания
Эта функция влияет только на переопределение пользователем части параметров календаря. Он не задает системные значения по умолчанию.
Сведения о календаре всегда передаются в виде строки Юникода, завершаемой значением NULL, в версии Юникода этой функции и в виде строки ANSI, завершаемой значением NULL, в версии ANSI. Никакие целые числа не допускаются этой функцией. Все числовые значения должны быть указаны как текст Юникода или ANSI.
Если версия этой функции ANSI используется с идентификатором языкового стандарта юникода, функция может завершиться успешно, так как операционная система использует системную кодовую страницу. Однако символы, которые не определены в системной кодовой странице, отображаются в строке как вопросительный знак (?).
CAL_ITWODIGITYEARMAX можно использовать с любым календарем, даже если календарь не поддерживается для указанного языкового стандарта. Чтобы избежать осложнений, приложение должно вызывать EnumCalendarInfo, чтобы обеспечить поддержку календаря для интересующего языкового стандарта.
Заметка
Заголовок winnls.h определяет SetCalendarInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winnls.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
поддержки национальных языков