enumTimeFormatsEx 函数 (winnls.h)
枚举可用于由名称指定的区域设置的时间格式。
注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 EnumTimeFormats 此函数。
注意 此函数可以枚举在发布之间发生更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅 使用永久性区域设置数据。
语法
BOOL EnumTimeFormatsEx(
[in] TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx,
[in, optional] LPCWSTR lpLocaleName,
[in] DWORD dwFlags,
[in] LPARAM lParam
);
参数
[in] lpTimeFmtEnumProcEx
指向应用程序定义的回调函数的指针。 有关详细信息,请参阅 EnumTimeFormatsProcEx。
[in, optional] lpLocaleName
指向 区域设置名称或以下预定义值之一的指针。
[in] dwFlags
时间格式。 设置为 0 以使用当前用户的长时间格式,或从 Windows 7 开始TIME_NOSECONDS () 使用短时间格式。
[in] lParam
要传递给回调函数的应用程序提供的参数。 这对于多线程应用程序特别有用。
返回值
如果成功,则返回非零值,否则返回 0。 若要获取扩展错误信息,应用程序可以调用 GetLastError,这会返回以下错误代码之一:
- ERROR_INVALID_FLAGS。 为标志提供的值无效。
- ERROR_INVALID_PARAMETER。 任何参数值都无效。
注解
此函数通过将时间格式字符串指针(一次一个)传递给指定的应用程序定义的回调函数,以及一个对多线程应用程序有用的应用程序定义的常量来枚举时间格式。 枚举中的第一个值始终是用户默认 (替代) 值。 函数将继续枚举,直到找到最后一次格式或回调函数返回 FALSE。
从Windows 8开始:如果你的应用将语言标记从 Windows.Globalization 命名空间传递到此函数,它必须首先通过调用 ResolveLocaleName 来转换标记。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | winnls.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |