winnls.h header

This header is used by Internationalization for Windows Applications. For more information, see:

Functions

Title Description
CompareString Compares two character strings, for a locale specified by identifier.Caution  Using CompareString incorrectly can compromise the security of your application.
CompareStringA Compares two character strings, for a locale specified by identifier.Caution  Using CompareString incorrectly can compromise the security of your application.
ConvertDefaultLocale Converts a default locale value to an actual locale identifier.
EnumCalendarInfoA Enumerates calendar information for a specified locale.Note  To receive a calendar identifier in addition to calendar information, the application should use the EnumCalendarInfoEx function.
EnumCalendarInfoExA Enumerates calendar information for a locale specified by identifier.Note  Any application that runs only on Windows Vista and later should use EnumCalendarInfoExEx in preference to this function.
EnumCalendarInfoExEx Enumerates calendar information for a locale specified by name.Note  The application should call this function in preference to EnumCalendarInfo or EnumCalendarInfoEx if designed to run only on Windows Vista and later. Note  This function can enumerate data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
EnumCalendarInfoExW Enumerates calendar information for a locale specified by identifier.Note  Any application that runs only on Windows Vista and later should use EnumCalendarInfoExEx in preference to this function.
EnumCalendarInfoW Enumerates calendar information for a specified locale.Note  To receive a calendar identifier in addition to calendar information, the application should use the EnumCalendarInfoEx function.
EnumDateFormatsA Enumerates the long date, short date, or year/month formats that are available for a specified locale.
EnumDateFormatsExA Enumerates the long date, short date, or year/month formats that are available for a specified locale.Note  Any application that runs only on Windows Vista and later should use EnumDateFormatsExEx in preference to this function.
EnumDateFormatsExEx Enumerates the long date, short date, or year/month formats that are available for a locale specified by name.Note  The application should call this function in preference to EnumDateFormats or EnumDateFormatsEx if designed to run only on Windows Vista and later. Note  This function can enumerate data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
EnumDateFormatsExW Enumerates the long date, short date, or year/month formats that are available for a specified locale.Note  Any application that runs only on Windows Vista and later should use EnumDateFormatsExEx in preference to this function.
EnumDateFormatsW Enumerates the long date, short date, or year/month formats that are available for a specified locale.
EnumLanguageGroupLocalesA Enumerates the locales in a specified language group.
EnumLanguageGroupLocalesW Enumerates the locales in a specified language group.
EnumSystemCodePagesA Enumerates the code pages that are either installed on or supported by an operating system.
EnumSystemCodePagesW Enumerates the code pages that are either installed on or supported by an operating system.
EnumSystemGeoID Enumerates the geographical location identifiers (type GEOID) that are available on the operating system.
EnumSystemGeoNames Enumerates the two-letter International Organization for Standardization (ISO) 3166-1 codes or numeric United Nations (UN) Series M, Number 49 (M.49) codes for geographical locations that are available on the operating system.
EnumSystemLanguageGroupsA Enumerates the language groups that are either installed on or supported by an operating system.
EnumSystemLanguageGroupsW Enumerates the language groups that are either installed on or supported by an operating system.
EnumSystemLocalesA Enumerates the locales that are either installed on or supported by an operating system.Note  For interoperability reasons, the application should prefer the EnumSystemLocalesEx function to EnumSystemLocales because Microsoft is migrating toward the use of locale names instead of locale identifiers for new locales. Any application that will be run only on Windows Vista and later should use EnumSystemLocalesEx.
EnumSystemLocalesEx Enumerates the locales that are either installed on or supported by an operating system.Note  The application should call this function in preference to EnumSystemLocales if designed to run only on Windows Vista and later.
EnumSystemLocalesW Enumerates the locales that are either installed on or supported by an operating system.Note  For interoperability reasons, the application should prefer the EnumSystemLocalesEx function to EnumSystemLocales because Microsoft is migrating toward the use of locale names instead of locale identifiers for new locales. Any application that will be run only on Windows Vista and later should use EnumSystemLocalesEx.
EnumTimeFormatsA Enumerates the time formats that are available for a locale specified by identifier.Note  For interoperability reasons, the application should prefer the EnumTimeFormatsEx function to EnumTimeFormats because Microsoft is migrating toward the use of locale names instead of locale identifiers for new locales. Any application that runs only on Windows Vista and later should use EnumTimeFormatsEx.
EnumTimeFormatsEx Enumerates the time formats that are available for a locale specified by name.Note  The application should call this function in preference to EnumTimeFormats if designed to run only on Windows Vista and later. Note  This function can enumerate data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
EnumTimeFormatsW Enumerates the time formats that are available for a locale specified by identifier.Note  For interoperability reasons, the application should prefer the EnumTimeFormatsEx function to EnumTimeFormats because Microsoft is migrating toward the use of locale names instead of locale identifiers for new locales. Any application that runs only on Windows Vista and later should use EnumTimeFormatsEx.
EnumUILanguagesA Enumerates the user interface languages that are available on the operating system and calls the callback function with every language in the list.
EnumUILanguagesW Enumerates the user interface languages that are available on the operating system and calls the callback function with every language in the list.
FILEMUIINFO_GET_CULTURE Gets the locale name associated with the language name offset information in the dwLanguageNameOffset member of a FILEMUIINFO structure.
FILEMUIINFO_GET_MAIN_TYPEID Gets the main module types array element associated with the type identifier size and offset in a FILEMUIINFO structure. The information is provided in the dwTypeIDMainSize and dwTypeIDMainOffset members of the structure.
FILEMUIINFO_GET_MAIN_TYPEIDS Gets the main module types array associated with the type identifier offset information in the dwTypeIDMainOffset member of a FILEMUIINFO structure.
FILEMUIINFO_GET_MAIN_TYPENAMES Gets the main module names multistring array associated with the type name offset information in the dwTypeNameMainOffset member of a FILEMUIINFO structure.
FILEMUIINFO_GET_MUI_TYPEID Gets the MUI module types array element associated with the type identifier size and offset information in a FILEMUIINFO structure. The information is provided in the dwTypeIDMUISize and dwTypeIDMUIOffset members of the structure.
FILEMUIINFO_GET_MUI_TYPEIDS Gets the MUI module types array associated with the type identifier offset information in the dwTypeIDMUIOffset member of a FILEMUIINFO structure.
FILEMUIINFO_GET_MUI_TYPENAMES Gets the MUI module names multistring array associated with the type name offset information in the dwTypeNameMUIOffset member of a FILEMUIINFO structure.
FindNLSString Locates a Unicode string (wide characters) or its equivalent in another Unicode string for a locale specified by identifier.Caution  Because strings with very different binary representations can compare as identical, this function can raise certain security concerns. For more information, see the discussion of comparison functions in Security Considerations:_International Features. Note  For interoperability reasons, the application should prefer the FindNLSStringEx function because Microsoft is migrating toward the use of locale names instead of locale identifiers for new locales. Although FindNLSString supports custom locales, most applications should use FindNLSStringEx for this type of support.
FindNLSStringEx Locates a Unicode string (wide characters) or its equivalent in another Unicode string for a locale specified by name.Caution  Because strings with very different binary representations can compare as identical, this function can raise certain security concerns. For more information, see the discussion of comparison functions in Security Considerations:_International Features.
FoldStringA Maps one Unicode string to another, performing the specified transformation.
GetACP Retrieves the current Windows ANSI code page identifier for the operating system.Caution  The ANSI API functions, for example, the ANSI version of TextOut, implicitly use GetACP to translate text to or from Unicode.
GetCalendarInfoA Retrieves information about a calendar for a locale specified by identifier.
GetCalendarInfoEx Retrieves information about a calendar for a locale specified by name.Note  The application should call this function in preference to GetCalendarInfo if designed to run only on Windows Vista and later. Note  This function can retrieve data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
GetCalendarInfoW Retrieves information about a calendar for a locale specified by identifier.
GetCPInfo Retrieves information about any valid installed or available code page.
GetCPInfoExA Retrieves information about any valid installed or available code page.
GetCPInfoExW Retrieves information about any valid installed or available code page.
GetCurrencyFormatA Formats a number string as a currency string for a locale specified by identifier.
GetCurrencyFormatEx Formats a number string as a currency string for a locale specified by name.Note  The application should call this function in preference to GetCurrencyFormat if designed to run only on Windows Vista and later. Note  This function can format data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
GetCurrencyFormatW Formats a number string as a currency string for a locale specified by identifier.
GetDurationFormat Formats a duration of time as a time string for a locale specified by identifier.
GetDurationFormatEx Formats a duration of time as a time string for a locale specified by name.
GetFileMUIInfo Retrieves resource-related information about a file.
GetFileMUIPath Retrieves the path to all language-specific resource files associated with the supplied LN file. The application must call this function repeatedly to get the path for each resource file.
GetGeoInfoA Retrieves information about a specified geographical location.
GetGeoInfoEx Retrieves information about a geographic location that you specify by using a two-letter International Organization for Standardization (ISO) 3166-1 code or numeric United Nations (UN) Series M, Number 49 (M.49) code.
GetGeoInfoW Retrieves information about a specified geographical location.
GetLocaleInfoA Retrieves information about a locale specified by identifier.
GetLocaleInfoEx Retrieves information about a locale specified by name.Note  The application should call this function in preference to GetLocaleInfo if designed to run only on Windows Vista and later. Note  This function can retrieve data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
GetLocaleInfoW Retrieves information about a locale specified by identifier.
GetNLSVersion Retrieves information about the current version of a specified NLS capability for a locale specified by identifier.Note  For interoperability reasons, the application should prefer the GetNLSVersionEx function to GetNLSVersion because Microsoft is migrating toward the use of locale names instead of locale identifiers for new locales. This recommendation applies especially to custom locales, for which GetNLSVersionEx retrieves enough information to determine if sort behavior has changed. Any application that runs only on Windows Vista and later should use GetNLSVersionEx or at least pass the NLSVERSIONINFOEX structure when calling GetNLSVersion to obtain additional sorting versioning data.
GetNLSVersionEx Retrieves information about the current version of a specified NLS capability for a locale specified by name.Note  The application should call this function in preference to GetNLSVersion if designed to run only on Windows Vista and later.
GetNumberFormatA Formats a number string as a number string customized for a locale specified by identifier.
GetNumberFormatEx Formats a number string as a number string customized for a locale specified by name.Note  The application should call this function in preference to GetNumberFormat if designed to run only on Windows Vista and later. Note  This function can format data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.
GetNumberFormatW Formats a number string as a number string customized for a locale specified by identifier.
GetOEMCP Returns the current original equipment manufacturer (OEM) code page identifier for the operating system.
GetProcessPreferredUILanguages Retrieves the process preferred UI languages. For more information, see User Interface Language Management.
GetStringScripts Provides a list of scripts used in the specified Unicode string.
GetStringTypeA Deprecated.
GetSystemDefaultLangID Returns the language identifier for the system locale.
GetSystemDefaultLCID Returns the locale identifier for the system locale.Note  Any application that runs only on Windows Vista and later should use GetSystemDefaultLocaleName in preference to this function.
GetSystemDefaultLocaleName Retrieves the system default locale name.Note  It is recommended that applications call GetUserDefaultLocaleName in preference over this function.
GetSystemDefaultUILanguage Retrieves the language identifier for the system default UI language of the operating system, also known as the "install language" on Windows Vista and later. For more information, see User Interface Language Management.
GetSystemPreferredUILanguages Retrieves the system preferred UI languages. For more information, see User Interface Language Management.
GetThreadLocale Returns the locale identifier of the current locale for the calling thread.Note  This function can retrieve data that changes between releases, for example, due to a custom locale.
GetThreadPreferredUILanguages Retrieves the thread preferred UI languages for the current thread. For more information, see User Interface Language Management.
GetThreadUILanguage Returns the language identifier of the first user interface language for the current thread.
GetUILanguageInfo Retrieves a variety of information about an installed UI language
GetUserDefaultGeoName Retrieves the two-letter International Organization for Standardization (ISO) 3166-1 code or numeric United Nations (UN) Series M, Number 49 (M.49) code for the default geographical location of the user.
GetUserDefaultLangID Returns the language identifier of the Region Format setting for the current user.
GetUserDefaultLCID Returns the locale identifier for the user default locale.Caution  If the user default locale is a custom locale, an application cannot accurately tag data with the value or exchange it.
GetUserDefaultLocaleName Retrieves the user default locale name.Note  The application should call this function in preference to GetUserDefaultLCID if designed to run only on Windows Vista and later.
GetUserDefaultUILanguage Returns the language identifier for the user UI language for the current user.
GetUserGeoID Retrieves information about the geographical location of the user. For more information, see Table of Geographical Locations.
GetUserPreferredUILanguages Retrieves information about the user preferred UI languages. For more information, see User Interface Language Management.
IdnToAscii Converts an internationalized domain name (IDN) or another internationalized label to a Unicode (wide character) representation of the ASCII string that represents the name in the Punycode transfer encoding syntax.
IdnToNameprepUnicode Converts an internationalized domain name (IDN) or another internationalized label to the NamePrep form specified by Network Working Group RFC 3491, but does not perform the additional conversion to Punycode.
IdnToUnicode Converts the Punycode form of an internationalized domain name (IDN) or another internationalized label to the normal Unicode UTF-16 encoding syntax.
IS_HIGH_SURROGATE Determines if a character is a UTF-16 high surrogate code point, ranging from 0xd800 to 0xdbff, inclusive.
IS_LOW_SURROGATE Determines if a character is a UTF-16 low surrogate code point, ranging from 0xdc00 to 0xdfff, inclusive.
IS_SURROGATE_PAIR Determines if the specified code units form a UTF-16 surrogate pair.
IsDBCSLeadByte Determines if a specified character is a lead byte for the system default Windows ANSI code page (CP_ACP). A lead byte is the first byte of a two-byte character in a double-byte character set (DBCS) for the code page.
IsDBCSLeadByteEx Determines if a specified character is potentially a lead byte. A lead byte is the first byte of a two-byte character in a double-byte character set (DBCS) for the code page.
IsNLSDefinedString Determines if each character in a string has a defined result for a specified NLS capability.
IsNormalizedString Verifies that a string is normalized according to Unicode 4.0 TR#15. For more information, see Using Unicode Normalization to Represent Strings.
IsValidCodePage Determines if a specified code page is valid.
IsValidLanguageGroup Determines if a language group is installed or supported on the operating system. For more information, see NLS Terminology.
IsValidLocale Determines if the specified locale is installed or supported on the operating system. For more information, see Locales and Languages.
IsValidLocaleName Determines if the specified locale name is valid for a locale that is installed or supported on the operating system.Note  An application running only on Windows Vista and later should call this function in preference to IsValidLocale to determine the validity of a supplemental locale.
IsValidNLSVersion Determines if the NLS version is valid for a given NLS function.
LCIDToLocaleName Converts a locale identifier to a locale name.
LCMapStringA For a locale specified by identifier, maps one input character string to another using a specified transformation, or generates a sort key for the input string.
LCMapStringEx For a locale specified by name, maps an input character string to another using a specified transformation, or generates a sort key for the input string.Note  The application should call this function in preference to LCMapString if designed to run only on Windows Vista and later.
LCMapStringW For a locale specified by identifier, maps one input character string to another using a specified transformation, or generates a sort key for the input string.
LoadStringByReference Unsupported. LoadStringByReference may be altered or unavailable. Instead, use SHLoadIndirectString.
LocaleNameToLCID Converts a locale name to a locale identifier.
NormalizeString Normalizes characters of a text string according to Unicode 4.0 TR#15. For more information, see Using Unicode Normalization to Represent Strings.
NotifyUILanguageChange Unsupported. NotifyUILanguageChange may be altered or unavailable.
ResolveLocaleName Finds a possible locale name match for the supplied name.
SetCalendarInfoA Sets an item of locale information for a calendar. For more information, see Date and Calendar.
SetCalendarInfoW Sets an item of locale information for a calendar. For more information, see Date and Calendar.
SetLocaleInfoA Sets an item of information in the user override portion of the current locale. This function does not set the system defaults.
SetLocaleInfoW Sets an item of information in the user override portion of the current locale. This function does not set the system defaults.
SetProcessPreferredUILanguages Sets the process preferred UI languages for the application process. For more information, see User Interface Language Management.
SetThreadLocale Sets the current locale of the calling thread.
SetThreadPreferredUILanguages Sets the thread preferred UI languages for the current thread. For more information, see User Interface Language Management.
SetThreadUILanguage Sets the user interface language for the current thread.
SetUserGeoID Sets the geographical location identifier for the user. This identifier should have one of the values described in Table of Geographical Locations.
SetUserGeoName Sets the geographic location for the current user to the specified two-letter International Organization for Standardization (ISO) 3166-1 code or numeric United Nations (UN) Series M, Number 49 (M.49) code.
VerifyScripts Compares two enumerated lists of scripts.

Callback functions

Title Description
GEO_ENUMNAMEPROC An application-defined callback function that processes enumerated geographical location information provided by the EnumSystemGeoNames function.
LANGGROUPLOCALE_ENUMPROCA An application-defined callback function that processes enumerated language group locale information provided by the EnumLanguageGroupLocales function.
LANGGROUPLOCALE_ENUMPROCW An application-defined callback function that processes enumerated language group locale information provided by the EnumLanguageGroupLocales function.
LOCALE_ENUMPROCEX An application-defined callback function that processes enumerated locale information provided by the EnumSystemLocalesEx function.
UILANGUAGE_ENUMPROCA An application-defined callback function that processes enumerated user interface language information provided by the EnumUILanguages function.
UILANGUAGE_ENUMPROCW An application-defined callback function that processes enumerated user interface language information provided by the EnumUILanguages function.

Structures

Title Description
CPINFO Contains information about a code page. This structure is used by the GetCPInfo function.
CPINFOEXA Contains information about a code page. This structure is used by the GetCPInfoEx function.
CPINFOEXW Contains information about a code page. This structure is used by the GetCPInfoEx function.
CURRENCYFMTA Contains information that defines the format of a currency string. The GetCurrencyFormat function uses this information to customize a currency string for a specified locale.
CURRENCYFMTW Contains information that defines the format of a currency string. The GetCurrencyFormat function uses this information to customize a currency string for a specified locale.
FILEMUIINFO Contains information about a file, related to its use with MUI.
NLSVERSIONINFO
NLSVERSIONINFOEX Contains version information about an NLS capability.
NUMBERFMTA Contains information that defines the format of a number string. The GetNumberFormat function uses this information to customize a number string for a specified locale.
NUMBERFMTW Contains information that defines the format of a number string. The GetNumberFormat function uses this information to customize a number string for a specified locale.

Enumerations

Title Description
NORM_FORM Specifies the supported normalization forms.
SYSGEOCLASS Specifies the geographical location class.
SYSGEOTYPE Defines the type of geographical location information requested in the GetGeoInfo or GetGeoInfoEx function.
SYSNLS_FUNCTION Specifies NLS function capabilities.