EnumSystemLocalesEx 函数 (winnls.h)

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

注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用此函数,而不是 EnumSystemLocales
 

语法

BOOL EnumSystemLocalesEx(
  [in]           LOCALE_ENUMPROCEX lpLocaleEnumProcEx,
  [in]           DWORD             dwFlags,
  [in]           LPARAM            lParam,
  [in, optional] LPVOID            lpReserved
);

参数

[in] lpLocaleEnumProcEx

指向应用程序定义的回调函数的指针。 EnumSystemLocalesEx 函数通过重复调用此回调函数来枚举区域设置。 有关详细信息,请参阅 EnumLocalesProcEx

[in] dwFlags

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

[in] lParam

要传递给回调函数的应用程序提供的参数。 这对于多线程应用程序特别有用。

[in, optional] lpReserved

保留;必须为 NULL

返回值

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

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

注解

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

dwFlags 参数的选项不同于 EnumSystemLocales 的选项,后者必须区分已安装的区域设置和支持的区域设置。

如果 dwFlags 指定 LOCALE_ALTERNATE_SORTS,则会为每个表示备用排序顺序的区域设置调用回调函数。 例如,西班牙语 (西班牙) 默认为国际排序顺序,但传统排序顺序可用于备用排序。 德语 (德国) 默认为字典排序顺序,但有备用电话簿排序顺序可用。

示例

可以在 NLS:基于名称的 API 示例中找到显示此函数用法的示例。

要求

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

另请参阅

EnumLocalesProcEx

EnumSystemLocales

国家语言支持

国家语言支持函数