getNLSVersion 函数 (winnls.h)
检索有关标识符所指定区域设置的指定 NLS 功能的当前版本的信息。
注意 出于互操作性原因,应用程序应首选 GetNLSVersionEx 函数而不是 GetNLSVersion ,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 此建议尤其适用于自定义区域设置, GetNLSVersionEx 检索足够的信息来确定排序行为是否已更改。 仅在 Windows Vista 及更高版本上运行的任何应用程序都应使用 GetNLSVersionEx,或者在调用 GetNLSVersion 时至少传递 NLSVERSIONINFOEX 结构以获取其他排序版本控制数据。
语法
BOOL GetNLSVersion(
[in] NLS_FUNCTION Function,
[in] LCID Locale,
[in, out] LPNLSVERSIONINFO lpVersionInformation
);
参数
[in] Function
要查询的 NLS 功能。 此值必须COMPARE_STRING。 请参阅 SYSNLS_FUNCTION 枚举。
[in] Locale
指定区域设置的区域设置标识符。 可以使用 MAKELCID 宏创建标识符或使用以下预定义值之一。
Windows Vista 及更高版本: 还支持以下自定义区域设置标识符。[in, out] lpVersionInformation
指向 NLSVERSIONINFO 结构的指针。 应用程序必须将 dwNLSVersionInfoSize 成员初始化为 sizeof(NLSVERSIONINFO)
。
注意 在 Windows Vista 及更高版本上, 函数还可以在 NLSVERSIONINFOEX 结构中提供版本信息。
返回值
当且仅当应用程序在 lpVersionInformation 中提供了有效值时,才返回 TRUE,否则返回 FALSE。 若要获取扩展的错误信息,应用程序可以调用 GetLastError,这会返回以下错误代码之一:
- ERROR_INSUFFICIENT_BUFFER。 提供的缓冲区大小不够大,或者错误地设置为 NULL。
- ERROR_INVALID_FLAGS。 为标志提供的值无效。
- ERROR_INVALID_PARAMETER。 任何参数值都无效。
注解
此函数允许 Active Directory 等应用程序确定 NLS 更改是否影响用于特定索引表的区域设置标识符。 如果没有,则无需重新为表编制索引。 有关详细信息,请参阅 在应用程序中处理排序。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | winnls.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |