EnumCalendarInfo
A version of this page is also available for
4/8/2010
This function enumerates the calendar information by calling an application-defined callback function. It passes the callback function a pointer to a string buffer that contains the requested calendar information. This continues until either the last applicable calendar is found or the callback function returns FALSE.
Note
If you specify a locale with the LCID (Locale ID) parameter and that locale is not installed or available on the Windows® phone, the function fails with ERROR_INVALID_PARAMETER. To determine whether the locale is supported or not, call IsValidLocale.
Syntax
BOOL EnumCalendarInfo(
CALINFO_ENUMPROC lpCalInfoEnumProc,
LCID Locale,
CALID Calendar,
CALTYPE CalType
);
Parameters
- lpCalInfoEnumProc
[in] Pointer to an application-defined callback function. For more information, see the EnumCalendarInfoProc callback function.
Locale
[in] Value that specifies the locale to retrieve calendar information for. This parameter can be a locale identifier created by the MAKELCID macro, or one of the following predefined values. The following table shows the values this parameter can take.Value Description LOCALE_SYSTEM_DEFAULT
Default system locale.
LOCALE_USER_DEFAULT
Default user locale.
LOCALE_NEUTRAL
Default language-neutral locale.
Calendar
[in] Value that specifies the calendar for which information is requested. The following table shows the values this parameter can take.Value Description ENUM_ALL_CALENDARS
Enumerate all applicable calendars for the locale specified by Locale.
CAL_GREGORIAN
Gregorian (localized)
CAL_GREGORIAN_US
Gregorian (English strings always)
CAL_JAPAN
Japanese Emperor Era
CAL_TAIWAN
Taiwan Calendar
CAL_KOREA
Korean Tangun Era
CAL_HIJRI
Hijri (Arabic Lunar)
CAL_THAI
Thai
CAL_HEBREW
Hebrew
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] Type of calendar information to be returned. See the listing of constant values in the "Remarks" section.
Return Value
Nonzero indicates success. Zero indicates failure. To get extended error information, call the GetLastError function. The following table shows possible return values for GetLastError.
Value | Description |
---|---|
ERROR_INVALID_PARAMETER |
The parameter is incorrect. |
Remarks
For more information about LCID, see National Language support (NLS) Locale Identifiers.
The CALTYPE constants define particular pieces of calendar information. The following table shows CALTYPE constants that are mutually exclusive — that is, they cannotbe used in combination with each other in a function call.
Type | Description |
---|---|
CAL_ICALINTVALUE |
An integer value indicating the calendar type of the alternate calendar. |
CAL_IYEAROFFSETRANGE |
One or more null-terminated strings that specify the year offsets for each of the era ranges. The last string has an extra terminating null character. |
CAL_SABBREVDAYNAME1 |
Abbreviated native name of the first day of the week. |
CAL_SABBREVDAYNAME2 |
Abbreviated native name of the second day of the week. |
CAL_SABBREVDAYNAME3 |
Abbreviated native name of the third day of the week. |
CAL_SABBREVDAYNAME4 |
Abbreviated native name of the fourth day of the week. |
CAL_SABBREVDAYNAME5 |
Abbreviated native name of the fifth day of the week. |
CAL_SABBREVDAYNAME6 |
Abbreviated native name of the sixth day of the week. |
CAL_SABBREVDAYNAME7 |
Abbreviated native name of the seventh day of the week. |
CAL_SABBREVMONTHNAME1 |
Abbreviated native name of the first month of the year. |
CAL_SABBREVMONTHNAME2 |
Abbreviated native name of the second month of the year. |
CAL_SABBREVMONTHNAME3 |
Abbreviated native name of the third month of the year. |
CAL_SABBREVMONTHNAME4 |
Abbreviated native name of the fourth month of the year. |
CAL_SABBREVMONTHNAME5 |
Abbreviated native name of the fifth month of the year. |
CAL_SABBREVMONTHNAME6 |
Abbreviated native name of the sixth month of the year. |
CAL_SABBREVMONTHNAME7 |
Abbreviated native name of the seventh month of the year. |
CAL_SABBREVMONTHNAME8 |
Abbreviated native name of the eighth month of the year. |
CAL_SABBREVMONTHNAME9 |
Abbreviated native name of the ninth month of the year. |
CAL_SABBREVMONTHNAME10 |
Abbreviated native name of the tenth month of the year. |
CAL_SABBREVMONTHNAME11 |
Abbreviated native name of the eleventh month of the year. |
CAL_SABBREVMONTHNAME12 |
Abbreviated native name of the twelfth month of the year. |
CAL_SABBREVMONTHNAME13 |
Abbreviated native name of the thirteenth month of the year, if it exists. |
CAL_SCALNAME |
Native name of the alternate calendar. |
CAL_SDAYNAME1 |
Native name of the first day of the week. |
CAL_SDAYNAME2 |
Native name of the second day of the week. |
CAL_SDAYNAME3 |
Native name of the third day of the week. |
CAL_SDAYNAME4 |
Native name of the fourth day of the week. |
CAL_SDAYNAME5 |
Native name of the fifth day of the week. |
CAL_SDAYNAME6 |
Native name of the sixth day of the week. |
CAL_SDAYNAME7 |
Native name of the seventh day of the week. |
CAL_SERASTRING |
One or more null-terminated strings that specify each of the Unicode codepoints specifying the era associated with the given CAL_IYEAROFFSETRANGE. The last string has an extra terminating null character. See example below. |
CAL_SLONGDATE |
Long date formats for this calendar type. |
CAL_SMONTHNAME1 |
Native name of the first month of the year. |
CAL_SMONTHNAME2 |
Native name of the second month of the year. |
CAL_SMONTHNAME3 |
Native name of the fifth month of the year. |
CAL_SMONTHNAME4 |
Native name of the fourth month of the year. |
CAL_SMONTHNAME5 |
Native name of the fifth month of the year. |
CAL_SMONTHNAME6 |
Native name of the sixth month of the year. |
CAL_SMONTHNAME7 |
Native name of the seventh month of the year. |
CAL_SMONTHNAME8 |
Native name of the eighth month of the year. |
CAL_SMONTHNAME9 |
Native name of the ninth month of the year. |
CAL_SMONTHNAME10 |
Native name of the tenth month of the year. |
CAL_SMONTHNAME11 |
Native name of the eleventh month of the year. |
CAL_SMONTHNAME12 |
Native name of the twelfth month of the year. |
CAL_SMONTHNAME13 |
Native name of the thirteenth month of the year, if it exists. |
CAL_SSHORTDATE |
Short date formats for this calendar type. |
If the native name for the day of the week or for a month is an empty string, that name is identical to the name given in the corresponding locale information and therefore is not duplicated here.
The CAL_IYEAROFFSETRANGE and CAL_SERASTRING values vary in format depending on the type of optional calendar. The following example shows the values for these types (for each supported alternate calendar type) along with the formula for how to use the CAL_IYEAROFFSETRANGE value to compute the correct year given the Gregorian current year value Y:
CAL_ICALINTVALUE = "1"
CAL_IYEAROFFSETRANGE = ""
CAL_SERASTRING = ""
CAL_ICALINTVALUE = "2"
CAL_IYEAROFFSETRANGE = ""
CAL_SERASTRING = ""
CAL_ICALINTVALUE = "3"
CAL_IYEAROFFSETRANGE = "1989\01926\01912\01868\0"
CAL_SERASTRING = "Ux337B\0Ux337C\0Ux337D\0Ux337E\0"
if (Y>=1989) { Y = (Y–1989)+1; }
if (Y>=1926 && Y<1989) { Y = (Y–1926)+1; }
if (Y>=1912 && Y<1926) { Y = (Y–1912)+1; }
if (Y>=1868 && Y<1912) { Y = (Y–1868)+1; }
if (Y<1868) { Y = Y; }
CAL_ICALINTVALUE = "4"
CAL_IYEAROFFSETRANGE = "1912\0"
CAL_SERASTRING = "Ux4E2D\0Ux83EF\0Ux6C11\0Ux570B\0"
if (Y>=1912) { Y = (Y–1912)+1; }
if (Y<1912) { Y = Y; }
CAL_ICALINTVALUE = "5"
CAL_IYEAROFFSETRANGE = "2333\0"
CAL_SERASTRING = ""
Y = Y+2333;
Requirements
Header | winnls.h |
Library | Coreloc.lib |
Windows Embedded CE | Windows CE .NET 4.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
EnumCalendarInfoProc
MAKELCID
EnumDateFormats