Функция GetCalendarInfoW (winnls.h)
Извлекает сведения о календаре для языкового стандарта, заданного идентификатором.
Синтаксис
int GetCalendarInfoW(
[in] LCID Locale,
[in] CALID Calendar,
[in] CALTYPE CalType,
[out, optional] LPWSTR lpCalData,
[in] int cchData,
[out, optional] LPDWORD lpValue
);
Параметры
[in] Locale
Идентификатор языкового стандарта, указывающий языковой стандарт, для которого требуется получить сведения о календаре. Вы можете использовать макрос MAKELCID для создания идентификатора языкового стандарта или использовать одно из следующих предопределенных значений.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] Calendar
[in] CalType
Тип извлекаемой информации. Дополнительные сведения см. в разделе Сведения о типе календаря.
Для 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 имеет ненулевое значение, если успешно. Если функция выполнена успешно, параметр cchData имеет значение 0, а CAL_RETURN_NUMBER не указан, возвращаемое значение — это размер буфера, необходимый для хранения сведений календаря. Если функция выполнена успешно, cchData имеет значение 0, а CAL_RETURN_NUMBER указано, возвращаемое значение — это размер значения, полученного в lpValue, то есть 2 для версии функции в Юникоде или 4 для версии ANSI.
Эта функция возвращает значение 0, если не удалось. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:
- ERROR_INSUFFICIENT_BUFFER. Указанный размер буфера был недостаточно велик или неправильно задано значение NULL.
- ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, были недопустимыми.
- ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
Комментарии
Примечание
Заголовок winnls.h определяет GetCalendarInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winnls.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |