winnls.h 标题

此标头由 Windows 应用程序的国际化使用。 有关详细信息,请参阅:

winnls.h 包含以下编程接口:

函数

 
CompareString

compareString 函数 (winnls.h) 比较标识符指定的区域设置的两个字符串。
CompareStringA

比较标识符指定的区域设置的两个字符串。警告 错误地使用 CompareString 可能会危及应用程序的安全性。 (CompareStringA)
ConvertDefaultLocale

将默认区域设置值转换为实际的区域设置标识符。
EnumCalendarInfoA

枚举指定区域设置的日历信息。注意 若要接收日历标识符以及日历信息,应用程序应使用 EnumCalendarInfoEx 函数。 (ANSI)
EnumCalendarInfoExA

枚举标识符指定的区域设置的日历信息。注意 仅在 Windows Vista 及更高版本上运行的任何应用程序都应优先使用 EnumCalendarInfoExExEx,而不是此函数。 (ANSI)
EnumCalendarInfoExEx

枚举按名称指定的区域设置的日历信息。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用此函数,而不是 EnumCalendarInfo 或 EnumCalendarInfoEx。 注意 此函数可以枚举在发布之间发生更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用永久性区域设置数据。
EnumCalendarInfoExW

枚举标识符指定的区域设置的日历信息。注意 仅在 Windows Vista 及更高版本上运行的任何应用程序都应优先使用 EnumCalendarInfoExExEx,而不是此函数。 (Unicode)
EnumCalendarInfoW

枚举指定区域设置的日历信息。注意 若要接收日历标识符以及日历信息,应用程序应使用 EnumCalendarInfoEx 函数。 (Unicode)
EnumDateFormatsA

枚举可用于指定区域设置的长日期、短日期或年/月格式。 (ANSI)
EnumDateFormatsExA

枚举可用于指定区域设置的长日期、短日期或年/月格式。注意 仅在 Windows Vista 及更高版本上运行的任何应用程序都应优先使用此函数的 EnumDateFormatsExExEx。 (ANSI)
EnumDateFormatsExExEx

枚举可用于名称指定的区域设置的长日期、短日期或年/月格式。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用此函数,而不是 EnumDateFormats 或 EnumDateFormatsEx。 注意 此函数可以枚举在发布之间发生更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用永久性区域设置数据。
EnumDateFormatsExW

枚举可用于指定区域设置的长日期、短日期或年/月格式。注意 仅在 Windows Vista 及更高版本上运行的任何应用程序都应优先使用此函数的 EnumDateFormatsExExEx。 (Unicode)
EnumDateFormatsW

枚举可用于指定区域设置的长日期、短日期或年/月格式。 (Unicode)
EnumLanguageGroupLocalesA

枚举指定语言组中的区域设置。 (ANSI)
EnumLanguageGroupLocalesW

枚举指定语言组中的区域设置。 (Unicode)
EnumSystemCodePagesA

枚举安装在操作系统上或受操作系统支持的代码页。 (ANSI)
EnumSystemCodePagesW

枚举安装在操作系统上或受操作系统支持的代码页。 (Unicode)
EnumSystemGeoID

枚举操作系统上可用的 (类型 GEOID) 的地理位置标识符。
EnumSystemGeoNames

枚举国际标准化组织 (ISO) 3166-1 代码或数字联合国 (联合国) 系列 M,编号 49 (M.49) 操作系统上可用的地理位置代码。
EnumSystemLanguageGroupsA

枚举安装在操作系统上或受操作系统支持的语言组。 (ANSI)
EnumSystemLanguageGroupsW

枚举安装在操作系统上或受操作系统支持的语言组。 (Unicode)
EnumSystemLocalesA

枚举安装在操作系统上或受操作系统支持的区域设置。注意 出于互操作性原因,应用程序应首选 EnumSystemLocalesEx 函数而不是 EnumSystemLocales,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 将仅在 Windows Vista 和更高版本上运行的任何应用程序都应使用 EnumSystemLocalesEx。 (ANSI)
EnumSystemLocalesEx

枚举安装在操作系统上或受操作系统支持的区域设置。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用此函数,而不是 EnumSystemLocales。
EnumSystemLocalesW

枚举安装在操作系统上或受操作系统支持的区域设置。注意 出于互操作性原因,应用程序应首选 EnumSystemLocalesEx 函数而不是 EnumSystemLocales,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 将仅在 Windows Vista 和更高版本上运行的任何应用程序都应使用 EnumSystemLocalesEx。 (Unicode)
EnumTimeFormatsA

枚举可用于标识符指定的区域设置的时间格式。注意 出于互操作性原因,应用程序应优先使用 EnumTimeFormatsEx 函数而不是 EnumTimeFormats,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 仅在 Windows Vista 及更高版本上运行的任何应用程序都应使用 EnumTimeFormatsEx。 (ANSI)
EnumTimeFormatsEx

枚举可用于由名称指定的区域设置的时间格式。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用此函数,而不是 EnumTimeFormats。 注意 此函数可以枚举在发布之间发生更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用永久性区域设置数据。
EnumTimeFormatsW

枚举可用于标识符指定的区域设置的时间格式。注意 出于互操作性原因,应用程序应优先使用 EnumTimeFormatsEx 函数而不是 EnumTimeFormats,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 仅在 Windows Vista 及更高版本上运行的任何应用程序都应使用 EnumTimeFormatsEx。 (Unicode)
EnumUILanguagesA

枚举操作系统上可用的用户界面语言,并使用列表中的每种语言调用回调函数。 (ANSI)
EnumUILanguagesW

枚举操作系统上可用的用户界面语言,并使用列表中的每种语言调用回调函数。 (Unicode)
FILEMUIINFO_GET_CULTURE

获取与 FILEMUIINFO 结构的 dwLanguageNameOffset 成员中的语言名称偏移信息关联的区域设置名称。
FILEMUIINFO_GET_MAIN_TYPEID

获取与 FILEMUIINFO 结构中的类型标识符大小和偏移量关联的main模块类型数组元素。 该信息在 结构的 dwTypeIDMainSize 和 dwTypeIDMainOffset 成员中提供。
FILEMUIINFO_GET_MAIN_TYPEIDS

获取与 FILEMUIINFO 结构的 dwTypeIDMainOffset 成员中的类型标识符偏移信息关联的main模块类型数组。
FILEMUIINFO_GET_MAIN_TYPENAMES

获取与 FILEMUIINFO 结构的 dwTypeNameMainOffset 成员中的类型名称偏移信息关联的main模块名称多字符串数组。
FILEMUIINFO_GET_MUI_TYPEID

获取与 FILEMUIINFO 结构中的类型标识符大小和偏移量信息关联的 MUI 模块类型数组元素。 该信息在 结构的 dwTypeIDMUISize 和 dwTypeIDMUIOffset 成员中提供。
FILEMUIINFO_GET_MUI_TYPEIDS

获取与 FILEMUIINFO 结构的 dwTypeIDMUIOffset 成员中的类型标识符偏移量信息关联的 MUI 模块类型数组。
FILEMUIINFO_GET_MUI_TYPENAMES

获取 MUI 模块名称与 FILEMUIINFO 结构的 dwTypeNameMUIOffset 成员中的类型名称偏移量信息关联的多字符串数组。
FindNLSString

在标识符指定的区域设置的另一个 Unicode 字符串中查找 (宽字符) 或其等效项的 Unicode 字符串。警告 由于具有非常不同的二进制表示形式的字符串可以比较为相同,因此此函数可能会引发某些安全问题。 有关详细信息,请参阅安全注意事项:_International功能中的比较函数讨论。 注意 出于互操作性的原因,应用程序应优先使用 FindNLSStringEx 函数,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 尽管 FindNLSString 支持自定义区域设置,但大多数应用程序应使用 FindNLSStringEx 来获得这种类型的支持。
FindNLSStringEx

在名称指定的区域设置的另一个 Unicode 字符串中查找 (宽字符) 或其等效项的 Unicode 字符串。警告 由于具有非常不同的二进制表示形式的字符串可以比较为相同,因此此函数可能会引发某些安全问题。 有关详细信息,请参阅安全注意事项:_International功能中的比较函数讨论。
FoldStringA

将一个 Unicode 字符串映射到另一个,执行指定的转换。 (FoldStringA)
GetACP

检索操作系统的当前 Windows ANSI 代码页标识符。警告 ANSI API 函数(例如,ANSI 版本的 TextOut)隐式使用 GetACP 将文本转换为 Unicode 或从 Unicode 转换文本。
GetCalendarInfoA

检索由标识符指定的区域设置的日历的相关信息。 (ANSI)
GetCalendarInfoEx

检索由名称指定的区域设置的日历的相关信息。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 GetCalendarInfo。 注意 此函数可以检索版本之间发生更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用持久区域设置数据。
GetCalendarInfoW

检索由标识符指定的区域设置的日历的相关信息。 (Unicode)
GetCPInfo

检索有关任何有效的已安装或可用代码页的信息。 (GetCPInfo)
GetCPInfoExA

检索有关任何有效的已安装或可用代码页的信息。 (GetCPInfoExA)
GetCPInfoExW

检索有关任何有效的已安装或可用代码页的信息。 (GetCPInfoExW)
GetCurrencyFormatA

将数字字符串的格式设置为标识符指定的区域设置的货币字符串。 (ANSI)
GetCurrencyFormatEx

将数字字符串的格式设置为由 name 指定的区域设置的货币字符串。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 GetCurrencyFormat。 注意 此函数可以设置版本之间更改的数据的格式,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用持久区域设置数据。
GetCurrencyFormatW

将数字字符串的格式设置为标识符指定的区域设置的货币字符串。 (Unicode)
GetDurationFormat

将持续时间格式化为由标识符指定的区域设置的时间字符串。
GetDurationFormatEx

将持续时间格式化为由名称指定的区域设置的时间字符串。
GetFileMUIInfo

检索有关文件的资源相关信息。
GetFileMUIPath

检索与提供的 LN 文件关联的所有特定于语言的资源文件的路径。 应用程序必须重复调用此函数才能获取每个资源文件的路径。
GetGeoInfoA

检索有关指定地理位置的信息。 (ANSI)
GetGeoInfoEx

检索有关使用双字母国际标准化组织 (ISO) 3166-1 代码或数字联合国 (联合国) 系列 M,编号 49 (M.49) 代码指定地理位置的信息。
GetGeoInfoW

检索有关指定地理位置的信息。 (Unicode)
GetLocaleInfoA

检索有关标识符指定的区域设置的信息。 (ANSI)
GetLocaleInfoEx

检索有关由名称指定的区域设置的信息。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 GetLocaleInfo。 注意 此函数可以检索版本之间发生更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用持久区域设置数据。
GetLocaleInfoW

检索有关标识符指定的区域设置的信息。 (Unicode)
GetNLSVersion

检索有关标识符所指定区域设置的指定 NLS 功能的当前版本的信息。注意 出于互操作性的原因,应用程序应首选 GetNLSVersionEx 函数而不是 GetNLSVersion,因为 Microsoft 正在迁移到使用区域设置名称而不是新区域设置的区域设置标识符。 此建议尤其适用于自定义区域设置,GetNLSVersionEx 检索足够的信息来确定排序行为是否已更改。 仅在 Windows Vista 及更高版本上运行的任何应用程序都应使用 GetNLSVersionEx,或者在调用 GetNLSVersion 时至少传递 NLSVERSIONINFOEX 结构以获取其他排序版本控制数据。
GetNLSVersionEx

检索由名称指定的区域设置的指定 NLS 功能的当前版本的相关信息。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 GetNLSVersion。
GetNumberFormatA

将数字字符串的格式设置为为标识符指定的区域设置自定义的数字字符串。 (ANSI)
GetNumberFormatEx

将数字字符串的格式设置为为由 name 指定的区域设置自定义的数字字符串。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 GetNumberFormat。 注意 此函数可以设置版本之间更改的数据的格式,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅使用持久区域设置数据。
GetNumberFormatW

将数字字符串的格式设置为为标识符指定的区域设置自定义的数字字符串。 (Unicode)
GetOEMCP

返回操作系统的当前原始设备制造商 (OEM) 代码页标识符。
GetProcessPreferredUILanguages

检索进程首选 UI 语言。 有关详细信息,请参阅用户界面语言管理。
GetStringScripts

提供指定 Unicode 字符串中使用的脚本列表。
GetStringTypeA

已弃用。 (GetStringTypeA)
GetSystemDefaultLangID

返回系统区域设置的语言标识符。
GetSystemDefaultLCID

返回系统区域设置的区域设置标识符。注意 仅在 Windows Vista 及更高版本上运行的任何应用程序都应优先使用 GetSystemDefaultLocaleName,而不是此函数。
GetSystemDefaultLocaleName

检索系统默认区域设置名称。注意 建议应用程序优先调用 GetUserDefaultLocaleName,而不是此函数。
GetSystemDefaultUILanguage

检索操作系统的系统默认 UI 语言的语言标识符,在 Windows Vista 及更高版本上也称为“安装语言”。 有关详细信息,请参阅用户界面语言管理。
GetSystemPreferredUILanguages

检索系统首选的 UI 语言。 有关详细信息,请参阅用户界面语言管理。
GetThreadLocale

返回调用线程的当前区域设置的区域设置标识符。注意 此函数可以检索版本之间发生更改的数据,例如,由于自定义区域设置。
GetThreadPreferredUILanguages

检索当前线程的线程首选 UI 语言。 有关详细信息,请参阅用户界面语言管理。
GetThreadUILanguage

返回当前线程的第一个用户界面语言的语言标识符。
GetUILanguageInfo

检索有关已安装 UI 语言的各种信息
GetUserDefaultGeoName

检索由两个字母组成的国际标准化组织 (ISO) 3166-1 代码或数字联合国 (联合国) 系列 M,编号 49 (M.49) 用户的默认地理位置。
GetUserDefaultLangID

返回当前用户的“区域格式”设置的语言标识符。
GetUserDefaultLCID

返回用户默认区域设置的区域设置标识符。警告 如果用户默认区域设置是自定义区域设置,则应用程序无法使用值准确标记数据或对其进行交换。
GetUserDefaultLocaleName

检索用户默认区域设置名称。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用 GetUserDefaultLCID。
GetUserDefaultUILanguage

返回当前用户的用户 UI 语言的语言标识符。
GetUserGeoID

检索有关用户地理位置的信息。 有关详细信息,请参阅地理位置表。
GetUserPreferredUILanguages

检索有关用户首选 UI 语言的信息。 有关详细信息,请参阅用户界面语言管理。
IdnToAscii

将国际化域名 (IDN) 或其他国际化标签转换为 Unicode (宽字符) ASCII 字符串(表示 Punycode 传输编码语法中的名称)的表示形式。
IdnToNameprepUnicode

将 IDN) 或其他国际化标签 (国际化域名转换为网络工作组 RFC 3491 指定的 NamePrep 表单,但不执行到 Punycode 的其他转换。
IdnToUnicode

将国际化域名的 Punycode 形式 (IDN) 或其他国际化标签转换为正常的 Unicode UTF-16 编码语法。
IS_HIGH_SURROGATE

确定字符是否为 UTF-16 高代理项码位,范围从0xd800到0xdbff(含)。
IS_LOW_SURROGATE

确定字符是否为 UTF-16 低代理码位,范围从0xdc00到0xdfff(含)。
IS_SURROGATE_PAIR

确定指定的代码单元是否构成 UTF-16 代理项对。
IsDBCSLeadByte

确定指定字符是否为系统默认 Windows ANSI 代码页 (CP_ACP) 的前导字节。 前导字节是双字节字符集中双字节字符的第一个字节, (代码页的 DBCS) 。
IsDBCSLeadByteEx

确定指定的字符是否可能是前导字节。 前导字节是双字节字符集中双字节字符的第一个字节, (代码页的 DBCS) 。
IsNLSDefinedString

确定字符串中的每个字符是否具有指定 NLS 功能的已定义结果。
IsNormalizedString

验证是否根据 Unicode 4.0 TR#15 规范化了字符串。 有关详细信息,请参阅使用 Unicode 规范化来表示字符串。
IsValidCodePage

确定指定的代码页是否有效。
IsValidLanguageGroup

确定操作系统上是安装还是支持语言组。 有关详细信息,请参阅 NLS 术语。
IsValidLocale

确定在操作系统上是安装还是支持指定的区域设置。 有关详细信息,请参阅区域设置和语言。
IsValidLocaleName

确定指定的区域设置名称对于操作系统上安装或支持的区域设置是否有效。注意 仅在 Windows Vista 及更高版本上运行的应用程序应优先调用此函数,而不是 IsValidLocale,以确定补充区域设置的有效性。
IsValidNLSVersion

确定 NLS 版本对于给定的 NLS 函数是否有效。
LCIDToLocaleName

将区域设置标识符转换为区域设置名称。
LCMapStringA

对于标识符指定的区域设置,使用指定的转换将一个输入字符串映射到另一个输入字符串,或者为输入字符串生成排序键。 (ANSI)
LCMapStringEx

对于由名称指定的区域设置,使用指定的转换将输入字符串映射到另一个字符串,或者为输入字符串生成排序键。注意 如果设计为仅在 Windows Vista 及更高版本上运行,则应用程序应优先调用此函数,而不是 LCMapString。
LCMapStringW

对于标识符指定的区域设置,使用指定的转换将一个输入字符串映射到另一个输入字符串,或者为输入字符串生成排序键。 (Unicode)
LoadStringByReference

不支持。 LoadStringByReference 可能已更改或不可用。 请改用 SHLoadIndirectString。
LocaleNameToLCID

将区域设置名称转换为区域设置标识符。
NormalizeString

根据 Unicode 4.0 TR#15 规范化文本字符串的字符。 有关详细信息,请参阅使用 Unicode 规范化来表示字符串。
NotifyUILanguageChange

不支持。 NotifyUILanguageChange 可能已更改或不可用。
ResolveLocaleName

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

设置日历的区域设置信息项。 有关详细信息,请参阅日期和日历。 (ANSI)
SetCalendarInfoW

设置日历的区域设置信息项。 有关详细信息,请参阅日期和日历。 (Unicode)
SetLocaleInfoA

设置当前区域设置的用户替代部分中的信息项。 此函数不设置系统默认值。 (ANSI)
SetLocaleInfoW

设置当前区域设置的用户替代部分中的信息项。 此函数不设置系统默认值。 (Unicode)
SetProcessPreferredUILanguages

设置应用程序进程的进程首选 UI 语言。 有关详细信息,请参阅用户界面语言管理。
SetThreadLocale

设置调用线程的当前区域设置。
SetThreadPreferredUILanguages

设置当前线程的线程首选 UI 语言。 有关详细信息,请参阅用户界面语言管理。
SetThreadUILanguage

设置当前线程的用户界面语言。
SetUserGeoID

设置用户的地理位置标识符。 此标识符应具有地理位置表中所述的值之一。
SetUserGeoName

将当前用户的地理位置设置为指定的由两个字母组成的国际标准化组织 (ISO) 3166-1 代码或数字联合国 (UN) 系列 M,编号 49 (M.49) 代码。
VerifyScripts

比较两个枚举的脚本列表。

回调函数

 
GEO_ENUMNAMEPROC

应用程序定义的回调函数,用于处理 EnumSystemGeoNames 函数提供的枚举地理位置信息。
LANGGROUPLOCALE_ENUMPROCA

应用程序定义的回调函数,用于处理 EnumLanguageGroupLocales 函数提供的枚举语言组区域设置信息。 (ANSI)
LANGGROUPLOCALE_ENUMPROCW

应用程序定义的回调函数,用于处理 EnumLanguageGroupLocales 函数提供的枚举语言组区域设置信息。 (Unicode)
LOCALE_ENUMPROCEX

应用程序定义的回调函数,用于处理 EnumSystemLocalesEx 函数提供的枚举区域设置信息。
UILANGUAGE_ENUMPROCA

应用程序定义的回调函数,用于处理 EnumUILanguages 函数提供的枚举用户界面语言信息。 (ANSI)
UILANGUAGE_ENUMPROCW

应用程序定义的回调函数,用于处理 EnumUILanguages 函数提供的枚举用户界面语言信息。 (Unicode)

结构

 
CPINFO

包含有关代码页的信息。 GetCPInfo 函数使用此结构。
CPINFOEXA

包含有关代码页的信息。 此结构由 GetCPInfoEx 函数使用。 (ANSI)
CPINFOEXW

包含有关代码页的信息。 此结构由 GetCPInfoEx 函数使用。 (Unicode)
CURRENCYFMTA

包含定义货币字符串格式的信息。 GetCurrencyFormat 函数使用此信息来自定义指定区域设置的货币字符串。 (ANSI)
CURRENCYFMTW

包含定义货币字符串格式的信息。 GetCurrencyFormat 函数使用此信息来自定义指定区域设置的货币字符串。 (Unicode)
FILEMUIINFO

包含有关文件的信息,与文件与 MUI 的用法相关。
NLSVERSIONINFO

nLSVERSIONINFO 结构 (winnls.h) 已弃用,不应使用。
NLSVERSIONINFOEX

包含有关 NLS 功能的版本信息。
NUMBERFMTA

包含定义数字字符串格式的信息。 GetNumberFormat 函数使用此信息来自定义指定区域设置的数字字符串。 (ANSI)
NUMBERFMTW

包含定义数字字符串格式的信息。 GetNumberFormat 函数使用此信息来自定义指定区域设置的数字字符串。 (Unicode)

枚举

 
NORM_FORM

指定支持的规范化形式。
SYSGEOCLASS

指定地理位置类。
SYSGEOTYPE

定义 GetGeoInfo 或 GetGeoInfoEx 函数中请求的地理位置信息的类型。
SYSNLS_FUNCTION

指定 NLS 函数功能。