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