EnumSystemLocalesA 函数 (winnls.h)

枚举安装在操作系统上或受操作系统支持的区域设置。

注意 出于互操作性原因,应用程序应首选 EnumSystemLocalesEx 函数而不是 EnumSystemLocales ,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 将仅在 Windows Vista 和更高版本上运行的任何应用程序都应使用 EnumSystemLocalesEx
 

语法

BOOL EnumSystemLocalesA(
  [in] LOCALE_ENUMPROCA lpLocaleEnumProc,
  [in] DWORD            dwFlags
);

参数

[in] lpLocaleEnumProc

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

[in] dwFlags

指定要枚举的区域设置标识符的标志。 标志可以单独使用,也可以使用二进制 OR 组合使用。 如果应用程序为此参数指定 0,则函数的行为为 LCID_SUPPORTED。

含义
LCID_INSTALLED
仅枚举已安装的区域设置标识符。 此值不能与 LCID_SUPPORTED 一起使用。
LCID_SUPPORTED
枚举所有受支持的区域设置标识符。 此值不能与 LCID_INSTALLED 一起使用。
LCID_ALTERNATE_SORTS
仅枚举备用排序区域设置标识符。 如果此值与LCID_INSTALLED或LCID_SUPPORTED一起使用,则会检索已安装或支持的区域设置,以及备用排序区域设置标识符。

返回值

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

  • ERROR_BADDB。 函数无法访问数据。 这种情况通常不应发生,通常表示安装错误、磁盘问题或类似问题。
  • ERROR_INVALID_FLAGS。 为标志提供的值无效。
  • ERROR_INVALID_PARAMETER。 任何参数值都无效。

注解

函数通过将区域设置标识符(一次一个)传递给指定的应用程序定义的回调函数来枚举区域设置。 这会一直持续到所有已安装或支持的区域设置标识符都传递给回调函数或回调函数返回 FALSE 为止。

注意

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

要求

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

另请参阅

EnumLocalesProc

EnumSystemLocalesEx

国家语言支持

国家语言支持函数