Platform SDK: International Features

EnumCalendarInfo

The EnumCalendarInfo function enumerates calendar information for a specified locale. The CalType parameter specifies the type of calendar information to enumerate. The function returns the specified calendar information for all applicable calendars for the locale or, for a single requested calendar, depending on the value of the Calendar parameter.

The EnumCalendarInfo function enumerates the calendar information by calling an application defined–callback function. It passes the callback function a pointer to a buffer containing the requested calendar information. This continues until either the last applicable calendar is found or the callback function returns FALSE.

To receive a calendar identifier in addition to the calendar information provided by EnumCalendarInfo, use the EnumCalendarInfoEx function.

BOOL EnumCalendarInfo(
  CALINFO_ENUMPROC pCalInfoEnumProc, // callback function
  LCID Locale,                       // locale
  CALID Calendar,                    // calendar
  CALTYPE CalType                    // calendar information type
);

Parameters

pCalInfoEnumProc
[in] Pointer to an application defined–callback function. For more information, see the EnumCalendarInfoProc callback function.
Locale
[in] Specifies the locale for which to retrieve calendar information. This parameter can be a locale identifier created by the MAKELCID macro, or one of the following predefined values.
Value Meaning
LOCALE_SYSTEM_DEFAULT Default system locale.
LOCALE_USER_DEFAULT Default user locale.

Calendar
[in] Specifies the calendar for which information is requested. The following values are defined.
Value Meaning
ENUM_ALL_CALENDARS All applicable calendars for the specified locale.
CAL_GREGORIAN Gregorian (localized).
CAL_GREGORIAN_US Gregorian (English strings always).
CAL_JAPAN Japanese Emperor Era.
CAL_TAIWAN Taiwan Era.
CAL_KOREA Korean Tangun Era.
CAL_HIJRI Hijri (Arabic Lunar).
CAL_THAI Thai.
CAL_HEBREW Hebrew (Lunar).
CAL_GREGORIAN_ME_FRENCH Gregorian Middle East French.
CAL_GREGORIAN_ARABIC Gregorian Arabic.
CAL_GREGORIAN_XLIT_ENGLISH Gregorian transliterated English.
CAL_GREGORIAN_XLIT_FRENCH Gregorian transliterated French.

CalType
[in] Specifies the type of calendar information to be returned. See the listing of constant values in Calendar Type Information. Note that only one CALTYPE value can be specified per call of this function, except where noted.

Windows 98: EnumCalendarInfo does not support CAL_ITWODIGITYEARMAX.

Return Values

If the function succeeds, the return values is a nonzero value.

If the function fails, the return value is zero. To get extended error information, call GetLastError. GetLastError may return one of the following error codes:

Remarks

Windows 2000: The ANSI version of this function will fail if it is used with a Unicode-only LCID. See Language Identifiers.

Requirements

  Windows NT/2000: Requires Windows NT 3.5 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Winnls.h; include Windows.h.
  Library: Use Kernel32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.

See Also

National Language Support Overview, National Language Support Functions, EnumCalendarInfoEx, EnumCalendarInfoProc, EnumDateFormats, MAKELCID