ResolveLocaleName 函数 (winnls.h)

查找所提供的 名称可能的区域 设置名称匹配项。

语法

int ResolveLocaleName(
  [in, optional]  LPCWSTR lpNameToResolve,
  [out, optional] LPWSTR  lpLocaleName,
  [in]            int     cchLocaleName
);

参数

[in, optional] lpNameToResolve

指向要解析的名称的指针,例如英语 (专用) 的“en-XA”。

[out, optional] lpLocaleName

指向缓冲区的指针,此函数在其中检索与输入名称匹配的区域设置名称。 例如,名称“en-XA”的匹配项是英语 (美国) 的“en-US”。

注意 如果函数失败,则不保证输出缓冲区的状态准确。 在这种情况下,应用程序应检查函数设置的返回值和错误状态,以确定正确的操作过程。
 

[in] cchLocaleName

lpLocaleName 指示的缓冲区的大小(以字符为单位)。 区域设置名称(包括终止 null 字符)的最大可能长度为 LOCALE_NAME_MAX_LENGTH。 这是在此参数中提供的建议大小。

返回值

如果成功,则返回包含区域设置名称(包括终止 null 字符)的缓冲区的大小。

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

  • ERROR_INSUFFICIENT_BUFFER。 提供的缓冲区大小不够大,或者错误地设置为 NULL

注解

检索到的区域设置名称指示特定区域设置,包括语言和国家/地区,即使输入语言是中性语言。 例如,英语 (美国) 输入“en”会导致函数检索“en-US”。

此函数可以从 自定义区域设置检索数据。 不保证数据在计算机之间或应用程序运行之间的数据相同,也不能保证有效区域设置的返回将在另一台计算机上有效。 如果应用程序必须保留或传输数据,请参阅 使用持久区域设置数据

从 Windows 8 开始:Windows.Globalization 命名空间获取的语言标记必须先由 ResolveLocaleName 转换,然后才能将其与任何国家/地区语言支持函数一起使用。

要求

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

另请参阅

国家/地区语言支持

国家/地区语言支持函数

Windows.Globalization