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

Извлекает сведения о календаре для языкового стандарта, указанного по имени.

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

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

Синтаксис

int GetCalendarInfoEx(
  [in, optional]  LPCWSTR lpLocaleName,
  [in]            CALID   Calendar,
  [in, optional]  LPCWSTR lpReserved,
  [in]            CALTYPE CalType,
  [out, optional] LPWSTR  lpCalData,
  [in]            int     cchData,
  [out, optional] LPDWORD lpValue
);

Параметры

[in, optional] lpLocaleName

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

[in] Calendar

Идентификатор календаря.

[in, optional] lpReserved

Защищены; значение должно иметь значение NULL.

[in] CalType

Тип извлекаемой информации. Дополнительные сведения см. в разделе Сведения о типе календаря.

Примечание. GetCalendarInfoEx возвращает только одну строку, если этот параметр указывает CAL_IYEAROFFSETRANGE или CAL_SERASTRING. В обоих случаях возвращается текущая эра.
 
Для CAL_NOUSEROVERRIDE функция игнорирует любое значение, заданное SetCalendarInfo , и использует параметры базы данных для текущего системного языкового стандарта по умолчанию. Этот тип относится только к комбинации CAL_NOUSEROVERRIDE | CAL_ITWODIGITYEARMAX. CAL_ITWODIGITYEARMAX является единственным значением, которое можно задать с помощью SetCalendarInfo.

[out, optional] lpCalData

Указатель на буфер, в котором эта функция извлекает запрошенные данные в виде строки. Если CAL_RETURN_NUMBER указан в CalType, этот параметр должен получить значение NULL.

[in] cchData

Размер буфера lpCalData в символах. Приложение может задать для этого параметра значение 0, чтобы вернуть необходимый размер для буфера данных календаря. В этом случае параметр lpCalData не используется. Если CAL_RETURN_NUMBER указан для CalType, значение cchData должно быть равно 0.

[out, optional] lpValue

Указатель на переменную, которая получает запрошенные данные в виде числа. Если CAL_RETURN_NUMBER указан в CalType, значение lpValue не должно иметь значение NULL. Если CAL_RETURN_NUMBER не указан в CalType, значение lpValue должно иметь значение NULL.

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

Возвращает количество символов, полученных в буфере lpCalData в случае успешного выполнения. Если функция выполнена успешно, параметр cchData имеет значение 0, а CAL_RETURN_NUMBER не указан, возвращаемое значение — это размер буфера, необходимый для хранения сведений о языковом стандарте. Если функция выполнена успешно, для параметра cchData задано значение 0, а CAL_RETURN_NUMBER указано, возвращаемое значение — это размер значения, записанного в параметр lpValue . Этот размер всегда равен 2.

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

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

Комментарии

Примечание Этот API обновляется для поддержки изменения японской эры за май 2019 г. Если приложение поддерживает японский календарь, убедитесь, что он правильно обрабатывает новую эру. Дополнительные сведения см. в статье Подготовка приложения к изменениям японской эпохи .
 
Начиная с Windows 8: Если приложение передает языковые теги в эту функцию из пространства имен Windows.Globalization , оно сначала должно преобразовать теги, вызвав ResolveLocaleName.

Требования

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

См. также

Сведения о типе календаря

GetCalendarInfo

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

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

SetCalendarInfo