EnumSystemLocalesW 函数 (winnls.h)

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

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

语法

BOOL EnumSystemLocalesW(
  [in] LOCALE_ENUMPROCW 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 [仅限桌面应用]
目标平台 窗户
标头 winnls.h (包括 Windows.h)
Kernel32.lib
DLL Kernel32.dll

另请参阅

EnumLocalesProc

EnumSystemLocalesEx

国家语言支持

国家语言支持函数