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

另请参阅

GetNLSVersionEx

处理应用程序中的排序

NLSVERSIONINFO

NLSVERSIONINFOEX

国家/地区语言支持

国家/地区语言支持函数

SYSNLS_FUNCTION