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 函数功能。 |