enumCalendarInfoExA 函数 (winnls.h)

枚举由标识符指定的区域设置的日历信息。

注意 任何仅在 Windows Vista 及更高版本上运行的应用程序都应优先使用 EnumCalendarInfoExExEx, 而不是此函数。
 

语法

BOOL EnumCalendarInfoExA(
  [in] CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,
  [in] LCID                Locale,
  [in] CALID               Calendar,
  [in] CALTYPE             CalType
);

参数

[in] lpCalInfoEnumProcEx

指向应用程序定义的回调函数的指针。 有关详细信息,请参阅 EnumCalendarInfoProcEx

[in] Locale

指定要 为其检索日历信息的区域设置的区域设置标识符。 可以使用 MAKELCID 宏创建标识符或使用以下预定义值之一。

Windows Vista 及更高版本: 还支持以下自定义区域设置标识符。

[in] Calendar

指定 请求其信息的日历的日历标识符。 请注意,此标识符可以ENUM_ALL_CALENDARS,以枚举与区域设置关联的所有日历。

[in] CalType

日历信息的类型。 有关详细信息,请参阅 日历类型信息。 每次调用此函数只能指定一个日历类型,但注明的情况除外。

返回值

如果成功,则返回非零值,否则返回 0。 若要获取扩展的错误信息,应用程序可以调用 GetLastError,这会返回以下错误代码之一:

  • ERROR_INVALID_FLAGS。 为标志提供的值无效。
  • ERROR_INVALID_PARAMETER。 任何参数值都无效。

注解

此函数枚举指定区域设置或单个请求日历的所有适用日历的日历信息,具体取决于 Calendar 参数的值。 函数通过调用指定的应用程序定义的回调函数来枚举日历信息。 它向回调函数传递指向包含所请求日历信息的缓冲区的指针。 此过程一直持续到 EnumCalendarInfoEx 找到最后一个适用的日历或回调函数返回 FALSE 为止。

此函数可以枚举 自定义区域设置中的数据。 不保证数据在计算机之间或应用程序运行之间的数据相同。 如果应用程序必须保留或传输数据,请参阅 使用持久区域设置数据

当此函数的 ANSI 版本与仅限 Unicode 的区域设置标识符一起使用时,该函数可以成功,因为操作系统使用系统代码页。 但是,系统代码页中未定义的字符在字符串中显示为问号 (?) 。

注意

winnls.h 标头将 EnumCalendarInfoEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winnls.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

日历类型信息

EnumCalendarInfo

EnumCalendarInfoExEx

EnumCalendarInfoProcEx

EnumDateFormats

国家/地区语言支持

国家/地区语言支持函数