Headers diff for normaliz.dll between 6.1.7600.16385-Windows_7.0 and 6.3.9600.17415-Windows_8.1 versions



 winnls.h (6.1.7600.16385-Windows_7.0)   winnls.h (6.3.9600.17415-Windows_8.1) 
skipping to change at line 19 skipping to change at line 19
Abstract: Abstract:
Procedure declarations, constant definitions, and macros for the Procedure declarations, constant definitions, and macros for the
NLS component. NLS component.
--*/ --*/
#ifndef _WINNLS_ #ifndef _WINNLS_
#define _WINNLS_ #define _WINNLS_
#include <winapifamily.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifndef NOAPISET
#include <datetimeapi.h> // Datetime APISET dependencies
#include <libloaderapi.h> // LibLoader Apiset dependencies
#endif
#ifndef NONLS #ifndef NONLS
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#ifdef _MAC #ifdef _MAC
#include <macwin32.h> #include <macwin32.h>
#endif #endif
#if !defined(_NORMALIZE_) #if !defined(_NORMALIZE_)
#define WINNORMALIZEAPI DECLSPEC_IMPORT #define WINNORMALIZEAPI DECLSPEC_IMPORT
#else #else
#define WINNORMALIZEAPI #define WINNORMALIZEAPI
#endif #endif
skipping to change at line 211 skipping to change at line 221
#define LCMAP_HIRAGANA 0x00100000 // map katakana to hiragana #define LCMAP_HIRAGANA 0x00100000 // map katakana to hiragana
#define LCMAP_KATAKANA 0x00200000 // map hiragana to katakana #define LCMAP_KATAKANA 0x00200000 // map hiragana to katakana
#define LCMAP_HALFWIDTH 0x00400000 // map double byte to single byte #define LCMAP_HALFWIDTH 0x00400000 // map double byte to single byte
#define LCMAP_FULLWIDTH 0x00800000 // map single byte to double byte #define LCMAP_FULLWIDTH 0x00800000 // map single byte to double byte
#define LCMAP_LINGUISTIC_CASING 0x01000000 // use linguistic rules for casing #define LCMAP_LINGUISTIC_CASING 0x01000000 // use linguistic rules for casing
#define LCMAP_SIMPLIFIED_CHINESE 0x02000000 // map traditional chinese to simp lified chinese #define LCMAP_SIMPLIFIED_CHINESE 0x02000000 // map traditional chinese to simp lified chinese
#define LCMAP_TRADITIONAL_CHINESE 0x04000000 // map simplified chinese to tradi tional chinese #define LCMAP_TRADITIONAL_CHINESE 0x04000000 // map simplified chinese to tradi tional chinese
#if (WINVER >= _WIN32_WINNT_WIN8)
#define LCMAP_SORTHANDLE 0x20000000
#define LCMAP_HASH 0x00040000
#endif // (WINVER >= _WIN32_WINNT_WIN7)
// //
// Search Flags // Search Flags
// //
#define FIND_STARTSWITH 0x00100000 // see if value is at the beginnin g of source #define FIND_STARTSWITH 0x00100000 // see if value is at the beginnin g of source
#define FIND_ENDSWITH 0x00200000 // see if value is at the end of s ource #define FIND_ENDSWITH 0x00200000 // see if value is at the end of s ource
#define FIND_FROMSTART 0x00400000 // look for value in source, start ing at the beginning #define FIND_FROMSTART 0x00400000 // look for value in source, start ing at the beginning
#define FIND_FROMEND 0x00800000 // look for value in source, start ing at the end #define FIND_FROMEND 0x00800000 // look for value in source, start ing at the end
// //
// Language Group Enumeration Flags. // Language Group Enumeration Flags.
skipping to change at line 373 skipping to change at line 388
#define CTRY_KAZAKSTAN 7 // Kazakstan #define CTRY_KAZAKSTAN 7 // Kazakstan
#define CTRY_KENYA 254 // Kenya #define CTRY_KENYA 254 // Kenya
#define CTRY_KUWAIT 965 // Kuwait #define CTRY_KUWAIT 965 // Kuwait
#define CTRY_KYRGYZSTAN 996 // Kyrgyzstan #define CTRY_KYRGYZSTAN 996 // Kyrgyzstan
#define CTRY_LATVIA 371 // Latvia #define CTRY_LATVIA 371 // Latvia
#define CTRY_LEBANON 961 // Lebanon #define CTRY_LEBANON 961 // Lebanon
#define CTRY_LIBYA 218 // Libya #define CTRY_LIBYA 218 // Libya
#define CTRY_LIECHTENSTEIN 41 // Liechtenstein #define CTRY_LIECHTENSTEIN 41 // Liechtenstein
#define CTRY_LITHUANIA 370 // Lithuania #define CTRY_LITHUANIA 370 // Lithuania
#define CTRY_LUXEMBOURG 352 // Luxembourg #define CTRY_LUXEMBOURG 352 // Luxembourg
#define CTRY_MACAU 853 // Macau S.A.R., PRC #define CTRY_MACAU 853 // Macao SAR, PRC
#define CTRY_MACEDONIA 389 // Former Yugoslav Republic of Mac edonia #define CTRY_MACEDONIA 389 // Former Yugoslav Republic of Mac edonia
#define CTRY_MALAYSIA 60 // Malaysia #define CTRY_MALAYSIA 60 // Malaysia
#define CTRY_MALDIVES 960 // Maldives #define CTRY_MALDIVES 960 // Maldives
#define CTRY_MEXICO 52 // Mexico #define CTRY_MEXICO 52 // Mexico
#define CTRY_MONACO 33 // Principality of Monaco #define CTRY_MONACO 33 // Principality of Monaco
#define CTRY_MONGOLIA 976 // Mongolia #define CTRY_MONGOLIA 976 // Mongolia
#define CTRY_MOROCCO 212 // Morocco #define CTRY_MOROCCO 212 // Morocco
#define CTRY_NETHERLANDS 31 // Netherlands #define CTRY_NETHERLANDS 31 // Netherlands
#define CTRY_NEW_ZEALAND 64 // New Zealand #define CTRY_NEW_ZEALAND 64 // New Zealand
#define CTRY_NICARAGUA 505 // Nicaragua #define CTRY_NICARAGUA 505 // Nicaragua
skipping to change at line 468 skipping to change at line 483
// //
// The following LCTypes are mutually exclusive in that they may NOT // The following LCTypes are mutually exclusive in that they may NOT
// be used in combination with each other. // be used in combination with each other.
// //
// //
// These are the various forms of the name of the locale: // These are the various forms of the name of the locale:
// //
#define LOCALE_SLOCALIZEDDISPLAYNAME 0x00000002 // localized name of locale, eg "German (Germany)" in UI language #define LOCALE_SLOCALIZEDDISPLAYNAME 0x00000002 // localized name of locale, eg "German (Germany)" in UI language
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define LOCALE_SENGLISHDISPLAYNAME 0x00000072 // Display name (language + c ountry usually) in English, eg "German (Germany)" #define LOCALE_SENGLISHDISPLAYNAME 0x00000072 // Display name (language + c ountry/region usually) in English, eg "German (Germany)"
#define LOCALE_SNATIVEDISPLAYNAME 0x00000073 // Display name in native loc ale language, eg "Deutsch (Deutschland) #define LOCALE_SNATIVEDISPLAYNAME 0x00000073 // Display name in native loc ale language, eg "Deutsch (Deutschland)
#endif //(WINVER >= _WIN32_WINNT_WIN7) #endif //(WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_VISTA) #if (WINVER >= _WIN32_WINNT_VISTA)
#define LOCALE_SLOCALIZEDLANGUAGENAME 0x0000006f // Language Display Name for a language, eg "German" in UI language #define LOCALE_SLOCALIZEDLANGUAGENAME 0x0000006f // Language Display Name for a language, eg "German" in UI language
#endif //(WINVER >= _WIN32_WINNT_VISTA) #endif //(WINVER >= _WIN32_WINNT_VISTA)
#define LOCALE_SENGLISHLANGUAGENAME 0x00001001 // English name of language, eg "German" #define LOCALE_SENGLISHLANGUAGENAME 0x00001001 // English name of language, eg "German"
#define LOCALE_SNATIVELANGUAGENAME 0x00000004 // native name of language, e g "Deutsch" #define LOCALE_SNATIVELANGUAGENAME 0x00000004 // native name of language, e g "Deutsch"
#define LOCALE_SLOCALIZEDCOUNTRYNAME 0x00000006 // localized name of country, #define LOCALE_SLOCALIZEDCOUNTRYNAME 0x00000006 // localized name of country/
eg "Germany" in UI language region, eg "Germany" in UI language
#define LOCALE_SENGLISHCOUNTRYNAME 0x00001002 // English name of country, e #define LOCALE_SENGLISHCOUNTRYNAME 0x00001002 // English name of country/re
g "Germany" gion, eg "Germany"
#define LOCALE_SNATIVECOUNTRYNAME 0x00000008 // native name of country, eg #define LOCALE_SNATIVECOUNTRYNAME 0x00000008 // native name of country/reg
"Deutschland" ion, eg "Deutschland"
// //
// Legacy labels for the locale name values // Legacy labels for the locale name values
// //
#define LOCALE_SLANGUAGE 0x00000002 // localized name of locale, eg "German (Germany)" in UI language #define LOCALE_SLANGUAGE 0x00000002 // localized name of locale, eg "German (Germany)" in UI language
#if (WINVER >= _WIN32_WINNT_VISTA) #if (WINVER >= _WIN32_WINNT_VISTA)
#define LOCALE_SLANGDISPLAYNAME 0x0000006f // Language Display Name for a language, eg "German" in UI language #define LOCALE_SLANGDISPLAYNAME 0x0000006f // Language Display Name for a language, eg "German" in UI language
#endif //(WINVER >= _WIN32_WINNT_VISTA) #endif //(WINVER >= _WIN32_WINNT_VISTA)
#define LOCALE_SENGLANGUAGE 0x00001001 // English name of language, eg "German" #define LOCALE_SENGLANGUAGE 0x00001001 // English name of language, eg "German"
#define LOCALE_SNATIVELANGNAME 0x00000004 // native name of language, e g "Deutsch" #define LOCALE_SNATIVELANGNAME 0x00000004 // native name of language, e g "Deutsch"
#define LOCALE_SCOUNTRY 0x00000006 // localized name of country, #define LOCALE_SCOUNTRY 0x00000006 // localized name of country/
eg "Germany" in UI language region, eg "Germany" in UI language
#define LOCALE_SENGCOUNTRY 0x00001002 // English name of country, e #define LOCALE_SENGCOUNTRY 0x00001002 // English name of country/re
g "Germany" gion, eg "Germany"
#define LOCALE_SNATIVECTRYNAME 0x00000008 // native name of country, eg #define LOCALE_SNATIVECTRYNAME 0x00000008 // native name of country/reg
"Deutschland" ion, eg "Deutschland"
// Additional LCTypes // Additional LCTypes
#define LOCALE_ILANGUAGE 0x00000001 // language id, LOCALE_SNAME preferred #define LOCALE_ILANGUAGE 0x00000001 // language id, LOCALE_SNAME preferred
#define LOCALE_SABBREVLANGNAME 0x00000003 // arbitrary abbreviated lang uage name, LOCALE_SISO639LANGNAME preferred #define LOCALE_SABBREVLANGNAME 0x00000003 // arbitrary abbreviated lang uage name, LOCALE_SISO639LANGNAME preferred
#define LOCALE_ICOUNTRY 0x00000005 // country code, eg 1, LOCALE #define LOCALE_ICOUNTRY 0x00000005 // country/region code, eg 1,
_SISO3166CTRYNAME may be more useful. LOCALE_SISO3166CTRYNAME may be more useful.
#define LOCALE_SABBREVCTRYNAME 0x00000007 // arbitrary abbreviated coun #define LOCALE_SABBREVCTRYNAME 0x00000007 // arbitrary abbreviated coun
try name, LOCALE_SISO3166CTRYNAME preferred try/region name, LOCALE_SISO3166CTRYNAME preferred
#define LOCALE_IGEOID 0x0000005B // geographical location id, eg "244" #define LOCALE_IGEOID 0x0000005B // geographical location id, eg "244"
#define LOCALE_IDEFAULTLANGUAGE 0x00000009 // default language id, depre cated #define LOCALE_IDEFAULTLANGUAGE 0x00000009 // default language id, depre cated
#define LOCALE_IDEFAULTCOUNTRY 0x0000000A // default country code, depr ecated #define LOCALE_IDEFAULTCOUNTRY 0x0000000A // default country/region cod e, deprecated
#define LOCALE_IDEFAULTCODEPAGE 0x0000000B // default oem code page (use of Unicode is recommended instead) #define LOCALE_IDEFAULTCODEPAGE 0x0000000B // default oem code page (use of Unicode is recommended instead)
#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 // default ansi code page (us e of Unicode is recommended instead) #define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 // default ansi code page (us e of Unicode is recommended instead)
#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 // default mac code page (use of Unicode is recommended instead) #define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 // default mac code page (use of Unicode is recommended instead)
#define LOCALE_SLIST 0x0000000C // list item separator, eg ", " for "1,2,3,4" #define LOCALE_SLIST 0x0000000C // list item separator, eg ", " for "1,2,3,4"
#define LOCALE_IMEASURE 0x0000000D // 0 = metric, 1 = US measure ment system #define LOCALE_IMEASURE 0x0000000D // 0 = metric, 1 = US measure ment system
#define LOCALE_SDECIMAL 0x0000000E // decimal separator, eg "." for 1,234.00 #define LOCALE_SDECIMAL 0x0000000E // decimal separator, eg "." for 1,234.00
#define LOCALE_STHOUSAND 0x0000000F // thousand separator, eg "," for 1,234.00 #define LOCALE_STHOUSAND 0x0000000F // thousand separator, eg "," for 1,234.00
#define LOCALE_SGROUPING 0x00000010 // digit grouping, eg "3;0" f or 1,000,000 #define LOCALE_SGROUPING 0x00000010 // digit grouping, eg "3;0" f or 1,000,000
skipping to change at line 605 skipping to change at line 620
#define LOCALE_IPOSSIGNPOSN 0x00000052 // positive sign position (de rived from INEGCURR) #define LOCALE_IPOSSIGNPOSN 0x00000052 // positive sign position (de rived from INEGCURR)
#define LOCALE_INEGSIGNPOSN 0x00000053 // negative sign position (de rived from INEGCURR) #define LOCALE_INEGSIGNPOSN 0x00000053 // negative sign position (de rived from INEGCURR)
#define LOCALE_IPOSSYMPRECEDES 0x00000054 // mon sym precedes pos amt ( derived from ICURRENCY) #define LOCALE_IPOSSYMPRECEDES 0x00000054 // mon sym precedes pos amt ( derived from ICURRENCY)
#define LOCALE_IPOSSEPBYSPACE 0x00000055 // mon sym sep by space from pos amt (derived from ICURRENCY) #define LOCALE_IPOSSEPBYSPACE 0x00000055 // mon sym sep by space from pos amt (derived from ICURRENCY)
#define LOCALE_INEGSYMPRECEDES 0x00000056 // mon sym precedes neg amt ( derived from INEGCURR) #define LOCALE_INEGSYMPRECEDES 0x00000056 // mon sym precedes neg amt ( derived from INEGCURR)
#define LOCALE_INEGSEPBYSPACE 0x00000057 // mon sym sep by space from neg amt (derived from INEGCURR) #define LOCALE_INEGSEPBYSPACE 0x00000057 // mon sym sep by space from neg amt (derived from INEGCURR)
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#define LOCALE_FONTSIGNATURE 0x00000058 // font signature #define LOCALE_FONTSIGNATURE 0x00000058 // font signature
#define LOCALE_SISO639LANGNAME 0x00000059 // ISO abbreviated language n ame, eg "en" #define LOCALE_SISO639LANGNAME 0x00000059 // ISO abbreviated language n ame, eg "en"
#define LOCALE_SISO3166CTRYNAME 0x0000005A // ISO abbreviated country na me, eg "US" #define LOCALE_SISO3166CTRYNAME 0x0000005A // ISO abbreviated country/re gion name, eg "US"
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012 // default ebcdic code page ( use of Unicode is recommended instead) #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012 // default ebcdic code page ( use of Unicode is recommended instead)
#define LOCALE_IPAPERSIZE 0x0000100A // 1 = letter, 5 = legal, 8 = a3, 9 = a4 #define LOCALE_IPAPERSIZE 0x0000100A // 1 = letter, 5 = legal, 8 = a3, 9 = a4
#define LOCALE_SENGCURRNAME 0x00001007 // english name of currency, eg "Euro" #define LOCALE_SENGCURRNAME 0x00001007 // english name of currency, eg "Euro"
#define LOCALE_SNATIVECURRNAME 0x00001008 // native name of currency, e g "euro" #define LOCALE_SNATIVECURRNAME 0x00001008 // native name of currency, e g "euro"
#define LOCALE_SYEARMONTH 0x00001006 // year month format string, eg "MM/yyyy" #define LOCALE_SYEARMONTH 0x00001006 // year month format string, eg "MM/yyyy"
#define LOCALE_SSORTNAME 0x00001013 // sort name, usually "", eg "Dictionary" in UI Language #define LOCALE_SSORTNAME 0x00001013 // sort name, usually "", eg "Dictionary" in UI Language
#define LOCALE_IDIGITSUBSTITUTION 0x00001014 // 0 = context, 1 = none, 2 = national #define LOCALE_IDIGITSUBSTITUTION 0x00001014 // 0 = context, 1 = none, 2 = national
skipping to change at line 631 skipping to change at line 646
#define LOCALE_SDURATION 0x0000005d // time duration format, eg " hh:mm:ss" #define LOCALE_SDURATION 0x0000005d // time duration format, eg " hh:mm:ss"
#define LOCALE_SKEYBOARDSTOINSTALL 0x0000005e // Used internally, see GetKe yboardLayoutName() function #define LOCALE_SKEYBOARDSTOINSTALL 0x0000005e // Used internally, see GetKe yboardLayoutName() function
#define LOCALE_SSHORTESTDAYNAME1 0x00000060 // Shortest day name for Mond ay #define LOCALE_SSHORTESTDAYNAME1 0x00000060 // Shortest day name for Mond ay
#define LOCALE_SSHORTESTDAYNAME2 0x00000061 // Shortest day name for Tues day #define LOCALE_SSHORTESTDAYNAME2 0x00000061 // Shortest day name for Tues day
#define LOCALE_SSHORTESTDAYNAME3 0x00000062 // Shortest day name for Wedn esday #define LOCALE_SSHORTESTDAYNAME3 0x00000062 // Shortest day name for Wedn esday
#define LOCALE_SSHORTESTDAYNAME4 0x00000063 // Shortest day name for Thur sday #define LOCALE_SSHORTESTDAYNAME4 0x00000063 // Shortest day name for Thur sday
#define LOCALE_SSHORTESTDAYNAME5 0x00000064 // Shortest day name for Frid ay #define LOCALE_SSHORTESTDAYNAME5 0x00000064 // Shortest day name for Frid ay
#define LOCALE_SSHORTESTDAYNAME6 0x00000065 // Shortest day name for Satu rday #define LOCALE_SSHORTESTDAYNAME6 0x00000065 // Shortest day name for Satu rday
#define LOCALE_SSHORTESTDAYNAME7 0x00000066 // Shortest day name for Sund ay #define LOCALE_SSHORTESTDAYNAME7 0x00000066 // Shortest day name for Sund ay
#define LOCALE_SISO639LANGNAME2 0x00000067 // 3 character ISO abbreviate d language name, eg "eng" #define LOCALE_SISO639LANGNAME2 0x00000067 // 3 character ISO abbreviate d language name, eg "eng"
#define LOCALE_SISO3166CTRYNAME2 0x00000068 // 3 character ISO country na me, eg "USA" #define LOCALE_SISO3166CTRYNAME2 0x00000068 // 3 character ISO country/re gion name, eg "USA"
#define LOCALE_SNAN 0x00000069 // Not a Number, eg "NaN" #define LOCALE_SNAN 0x00000069 // Not a Number, eg "NaN"
#define LOCALE_SPOSINFINITY 0x0000006a // + Infinity, eg "infinity" #define LOCALE_SPOSINFINITY 0x0000006a // + Infinity, eg "infinity"
#define LOCALE_SNEGINFINITY 0x0000006b // - Infinity, eg "-infinity" #define LOCALE_SNEGINFINITY 0x0000006b // - Infinity, eg "-infinity"
#define LOCALE_SSCRIPTS 0x0000006c // Typical scripts in the loc ale: ; delimited script codes, eg "Latn;" #define LOCALE_SSCRIPTS 0x0000006c // Typical scripts in the loc ale: ; delimited script codes, eg "Latn;"
#define LOCALE_SPARENT 0x0000006d // Fallback name for resource s, eg "en" for "en-US" #define LOCALE_SPARENT 0x0000006d // Fallback name for resource s, eg "en" for "en-US"
#define LOCALE_SCONSOLEFALLBACKNAME 0x0000006e // Fallback name for within t he console for Unicode Only locales, eg "en" for bn-IN #define LOCALE_SCONSOLEFALLBACKNAME 0x0000006e // Fallback name for within t he console for Unicode Only locales, eg "en" for bn-IN
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define LOCALE_IREADINGLAYOUT 0x00000070 // Returns one of the followi ng 4 reading layout values: #define LOCALE_IREADINGLAYOUT 0x00000070 // Returns one of the followi ng 4 reading layout values:
skipping to change at line 657 skipping to change at line 672
#define LOCALE_INEGATIVEPERCENT 0x00000074 // Returns 0-11 for the negat ive percent format #define LOCALE_INEGATIVEPERCENT 0x00000074 // Returns 0-11 for the negat ive percent format
#define LOCALE_IPOSITIVEPERCENT 0x00000075 // Returns 0-3 for the positi ve percent formatIPOSITIVEPERCENT #define LOCALE_IPOSITIVEPERCENT 0x00000075 // Returns 0-3 for the positi ve percent formatIPOSITIVEPERCENT
#define LOCALE_SPERCENT 0x00000076 // Returns the percent symbol #define LOCALE_SPERCENT 0x00000076 // Returns the percent symbol
#define LOCALE_SPERMILLE 0x00000077 // Returns the permille (U+20 30) symbol #define LOCALE_SPERMILLE 0x00000077 // Returns the permille (U+20 30) symbol
#define LOCALE_SMONTHDAY 0x00000078 // Returns the preferred mont h/day format #define LOCALE_SMONTHDAY 0x00000078 // Returns the preferred mont h/day format
#define LOCALE_SSHORTTIME 0x00000079 // Returns the preferred shor t time format (ie: no seconds, just h:mm) #define LOCALE_SSHORTTIME 0x00000079 // Returns the preferred shor t time format (ie: no seconds, just h:mm)
#define LOCALE_SOPENTYPELANGUAGETAG 0x0000007a // Open type language tag, eg : "latn" or "dflt" #define LOCALE_SOPENTYPELANGUAGETAG 0x0000007a // Open type language tag, eg : "latn" or "dflt"
#define LOCALE_SSORTLOCALE 0x0000007b // Name of locale to use for sorting/collation/casing behavior. #define LOCALE_SSORTLOCALE 0x0000007b // Name of locale to use for sorting/collation/casing behavior.
#endif //(WINVER >= _WIN32_WINNT_WIN7) #endif //(WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
#endif
#if (WINVER >= _WIN32_WINNT_WINBLUE)
#endif
// //
// Time Flags for GetTimeFormat. // Time Flags for GetTimeFormat.
// //
#define TIME_NOMINUTESORSECONDS 0x00000001 // do not use minutes or seconds #define TIME_NOMINUTESORSECONDS 0x00000001 // do not use minutes or seconds
#define TIME_NOSECONDS 0x00000002 // do not use seconds #define TIME_NOSECONDS 0x00000002 // do not use seconds
#define TIME_NOTIMEMARKER 0x00000004 // do not use time marker #define TIME_NOTIMEMARKER 0x00000004 // do not use time marker
#define TIME_FORCE24HOURFORMAT 0x00000008 // always use 24 hour format #define TIME_FORCE24HOURFORMAT 0x00000008 // always use 24 hour format
// //
// Date Flags for GetDateFormat. // Date Flags for GetDateFormat.
skipping to change at line 785 skipping to change at line 805
#define CAL_SSHORTESTDAYNAME5 0x00000035 // Shortest day name for Fr #define CAL_SSHORTESTDAYNAME5 0x00000035 // Shortest day name for Fr
#define CAL_SSHORTESTDAYNAME6 0x00000036 // Shortest day name for Sa #define CAL_SSHORTESTDAYNAME6 0x00000036 // Shortest day name for Sa
#define CAL_SSHORTESTDAYNAME7 0x00000037 // Shortest day name for Su #define CAL_SSHORTESTDAYNAME7 0x00000037 // Shortest day name for Su
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define CAL_SMONTHDAY 0x00000038 // Month/day format #define CAL_SMONTHDAY 0x00000038 // Month/day format
#define CAL_SABBREVERASTRING 0x00000039 // Abbreviated era string (eg: AD) #define CAL_SABBREVERASTRING 0x00000039 // Abbreviated era string (eg: AD)
#endif // winver >= windows 7 #endif // winver >= windows 7
#if (WINVER >= _WIN32_WINNT_WIN8)
#endif
// //
// Calendar Enumeration Value. // Calendar Enumeration Value.
// //
#define ENUM_ALL_CALENDARS 0xffffffff // enumerate all calendars #define ENUM_ALL_CALENDARS 0xffffffff // enumerate all calendars
// //
// Calendar ID Values. // Calendar ID Values.
// //
#define CAL_GREGORIAN 1 // Gregorian (localized) calendar #define CAL_GREGORIAN 1 // Gregorian (localized) calendar
#define CAL_GREGORIAN_US 2 // Gregorian (U.S.) calendar #define CAL_GREGORIAN_US 2 // Gregorian (U.S.) calendar
skipping to change at line 1010 skipping to change at line 1033
enum SYSNLS_FUNCTION{ enum SYSNLS_FUNCTION{
COMPARE_STRING = 0x0001, COMPARE_STRING = 0x0001,
}; };
typedef DWORD NLS_FUNCTION; typedef DWORD NLS_FUNCTION;
// //
// NLS version structure. // NLS version structure.
// //
#if (WINVER >= _WIN32_WINNT_WIN8)
//
// New structures are the same
//
// The combination of dwNLSVersion, and guidCustomVersion
// identify specific sort behavior, persist those to ensure identical
// behavior in the future.
typedef struct _nlsversioninfo{ typedef struct _nlsversioninfo{
DWORD dwNLSVersionInfoSize; // sizeof(NLSVERSIONINFO) == 32 bytes
DWORD dwNLSVersion;
DWORD dwDefinedVersion; // Deprecated, use dwNLSVersion instead
DWORD dwEffectiveId; // Deprecated, use guidCustomVerison instead
GUID guidCustomVersion; // Explicit sort version
} NLSVERSIONINFO, *LPNLSVERSIONINFO;
#else
//
// Windows 7 and below had different sizes
//
// This is to be deprecated, please use the NLSVERSIONINFOEX
// structure below in the future. The difference is that
// guidCustomversion is required to uniquely identify a sort
typedef struct _nlsversioninfo{ // Use NLSVERSIONINFOEX instead
DWORD dwNLSVersionInfoSize; // 12 bytes DWORD dwNLSVersionInfoSize; // 12 bytes
DWORD dwNLSVersion; DWORD dwNLSVersion;
DWORD dwDefinedVersion; DWORD dwDefinedVersion; // Deprecated, use dwNLSVersion instead
} NLSVERSIONINFO, *LPNLSVERSIONINFO; } NLSVERSIONINFO, *LPNLSVERSIONINFO;
#endif
// This is to be deprecated, please use the NLSVERSIONINFO // The combination of dwNLSVersion, and guidCustomVersion
// structure above in the future. The difference is that // identify specific sort behavior, persist those to ensure identical
// the effective ID is more robust. // behavior in the future.
typedef struct _nlsversioninfoex{ typedef struct _nlsversioninfoex{
DWORD dwNLSVersionInfoSize; // sizeof(NLSVERSIONINFOEX) == 32 bytes DWORD dwNLSVersionInfoSize; // sizeof(NLSVERSIONINFOEX) == 32 bytes
DWORD dwNLSVersion; DWORD dwNLSVersion;
DWORD dwDefinedVersion; DWORD dwDefinedVersion; // Deprecated, use dwNLSVersion instead
DWORD dwEffectiveId; // Use NLSVERSIONINFO instead DWORD dwEffectiveId; // Deprecated, use guidCustomVerison instead
GUID guidCustomVersion; GUID guidCustomVersion; // Explicit sort version
} NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX; } NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX;
// //
// GEO defines // GEO defines
// //
typedef LONG GEOID; typedef LONG GEOID;
typedef DWORD GEOTYPE; typedef DWORD GEOTYPE;
typedef DWORD GEOCLASS; typedef DWORD GEOCLASS;
skipping to change at line 1053 skipping to change at line 1100
GEO_LATITUDE = 0x0002, GEO_LATITUDE = 0x0002,
GEO_LONGITUDE = 0x0003, GEO_LONGITUDE = 0x0003,
GEO_ISO2 = 0x0004, GEO_ISO2 = 0x0004,
GEO_ISO3 = 0x0005, GEO_ISO3 = 0x0005,
GEO_RFC1766 = 0x0006, GEO_RFC1766 = 0x0006,
GEO_LCID = 0x0007, GEO_LCID = 0x0007,
GEO_FRIENDLYNAME= 0x0008, GEO_FRIENDLYNAME= 0x0008,
GEO_OFFICIALNAME= 0x0009, GEO_OFFICIALNAME= 0x0009,
GEO_TIMEZONES = 0x000A, GEO_TIMEZONES = 0x000A,
GEO_OFFICIALLANGUAGES = 0x000B, GEO_OFFICIALLANGUAGES = 0x000B,
GEO_ISO_UN_NUMBER = 0x000C,
GEO_PARENT = 0x000D
}; };
// //
// More GEOCLASS defines will be listed here // More GEOCLASS defines will be listed here
// //
enum SYSGEOCLASS { enum SYSGEOCLASS {
GEOCLASS_NATION = 16, GEOCLASS_NATION = 16,
GEOCLASS_REGION = 14, GEOCLASS_REGION = 14,
GEOCLASS_ALL = 0
}; };
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
// //
// Normalization forms // Normalization forms
// //
typedef enum _NORM_FORM { typedef enum _NORM_FORM {
NormalizationOther = 0, // Not supported NormalizationOther = 0, // Not supported
NormalizationC = 0x1, // Each base plus combining characters to the canonical precomposed equivalent. NormalizationC = 0x1, // Each base plus combining characters to the canonical precomposed equivalent.
skipping to change at line 1084 skipping to change at line 1134
// equivalents and all compatibility charac ters to their equivalents. // equivalents and all compatibility charac ters to their equivalents.
NormalizationKD = 0x6 // Each precomposed character to its canonica l decomposed equivalent NormalizationKD = 0x6 // Each precomposed character to its canonica l decomposed equivalent
// and all compatibility characters to thei r equivalents. // and all compatibility characters to thei r equivalents.
} NORM_FORM; } NORM_FORM;
// //
// IDN (International Domain Name) Flags // IDN (International Domain Name) Flags
// //
#define IDN_ALLOW_UNASSIGNED 0x01 // Allow unassigned "query" behavior p er RFC 3454 #define IDN_ALLOW_UNASSIGNED 0x01 // Allow unassigned "query" behavior p er RFC 3454
#define IDN_USE_STD3_ASCII_RULES 0x02 // Enforce STD3 ASCII restrictions for legal characters #define IDN_USE_STD3_ASCII_RULES 0x02 // Enforce STD3 ASCII restrictions for legal characters
#define IDN_EMAIL_ADDRESS 0x04 // Enable EAI algorithmic fallback for
email local parts behavior
#define IDN_RAW_PUNYCODE 0x08 // Disable validation and mapping of p
unycode.
#define VS_ALLOW_LATIN 0x0001 // Allow Latin in test script even i f not present in locale script #define VS_ALLOW_LATIN 0x0001 // Allow Latin in test script even i f not present in locale script
#define GSS_ALLOW_INHERITED_COMMON 0x0001 // Output script ids for inherited a nd common character types if present #define GSS_ALLOW_INHERITED_COMMON 0x0001 // Output script ids for inherited a nd common character types if present
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
// //
// Enumeration function constants. // Enumeration function constants.
// //
#ifdef STRICT #ifdef STRICT
typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LO NG_PTR); typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LO NG_PTR);
typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR ); typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR );
typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR); typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
typedef BOOL (CALLBACK* LOCALE_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK* CODEPAGE_ENUMPROCA)(LPSTR); typedef BOOL (CALLBACK* CODEPAGE_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK* DATEFMT_ENUMPROCA)(LPSTR); typedef BOOL (CALLBACK* DATEFMT_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID); typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCA)(LPSTR); typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR); typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID); typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
typedef BOOL (CALLBACK* LOCALE_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK* LOCALE_ENUMPROCW)(LPWSTR);
typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR); typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PT R); typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PT R);
typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR); typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
typedef BOOL (CALLBACK* LOCALE_ENUMPROCW)(LPWSTR);
typedef BOOL (CALLBACK* CODEPAGE_ENUMPROCW)(LPWSTR); typedef BOOL (CALLBACK* CODEPAGE_ENUMPROCW)(LPWSTR);
typedef BOOL (CALLBACK* DATEFMT_ENUMPROCW)(LPWSTR); typedef BOOL (CALLBACK* DATEFMT_ENUMPROCW)(LPWSTR);
typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID); typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCW)(LPWSTR); typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCW)(LPWSTR);
typedef BOOL (CALLBACK* CALINFO_ENUMPROCW)(LPWSTR); typedef BOOL (CALLBACK* CALINFO_ENUMPROCW)(LPWSTR);
typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID); typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
typedef BOOL (CALLBACK* GEO_ENUMPROC)(GEOID); typedef BOOL (CALLBACK* GEO_ENUMPROC)(GEOID);
#else // !STRICT #else // !STRICT
typedef FARPROC LANGUAGEGROUP_ENUMPROCA; typedef FARPROC LANGUAGEGROUP_ENUMPROCA;
typedef FARPROC LANGGROUPLOCALE_ENUMPROCA; typedef FARPROC LANGGROUPLOCALE_ENUMPROCA;
typedef FARPROC UILANGUAGE_ENUMPROCA; typedef FARPROC UILANGUAGE_ENUMPROCA;
typedef FARPROC LOCALE_ENUMPROCA;
typedef FARPROC CODEPAGE_ENUMPROCA; typedef FARPROC CODEPAGE_ENUMPROCA;
typedef FARPROC DATEFMT_ENUMPROCA; typedef FARPROC DATEFMT_ENUMPROCA;
typedef FARPROC DATEFMT_ENUMPROCEXA; typedef FARPROC DATEFMT_ENUMPROCEXA;
typedef FARPROC TIMEFMT_ENUMPROCA; typedef FARPROC TIMEFMT_ENUMPROCA;
typedef FARPROC CALINFO_ENUMPROCA; typedef FARPROC CALINFO_ENUMPROCA;
typedef FARPROC CALINFO_ENUMPROCEXA; typedef FARPROC CALINFO_ENUMPROCEXA;
typedef FARPROC GEO_ENUMPROC; typedef FARPROC GEO_ENUMPROC;
typedef FARPROC LOCALE_ENUMPROCA;
typedef FARPROC LOCALE_ENUMPROCW;
typedef FARPROC LANGUAGEGROUP_ENUMPROCW; typedef FARPROC LANGUAGEGROUP_ENUMPROCW;
typedef FARPROC LANGGROUPLOCALE_ENUMPROCW; typedef FARPROC LANGGROUPLOCALE_ENUMPROCW;
typedef FARPROC UILANGUAGE_ENUMPROCW; typedef FARPROC UILANGUAGE_ENUMPROCW;
typedef FARPROC LOCALE_ENUMPROCW;
typedef FARPROC CODEPAGE_ENUMPROCW; typedef FARPROC CODEPAGE_ENUMPROCW;
typedef FARPROC DATEFMT_ENUMPROCW; typedef FARPROC DATEFMT_ENUMPROCW;
typedef FARPROC DATEFMT_ENUMPROCEXW; typedef FARPROC DATEFMT_ENUMPROCEXW;
typedef FARPROC TIMEFMT_ENUMPROCW; typedef FARPROC TIMEFMT_ENUMPROCW;
typedef FARPROC CALINFO_ENUMPROCW; typedef FARPROC CALINFO_ENUMPROCW;
typedef FARPROC CALINFO_ENUMPROCEXW; typedef FARPROC CALINFO_ENUMPROCEXW;
#endif // !STRICT #endif // !STRICT
#ifdef UNICODE #ifdef UNICODE
#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
#define CALINFO_ENUMPROC CALINFO_ENUMPROCW #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
#else #else
#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
#define CALINFO_ENUMPROC CALINFO_ENUMPROCA #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
#endif // !UNICODE #endif // !UNICODE
// //
// Information about a MUI file, used as input/output in GetFileMUIInfo // Information about a MUI file, used as input/output in GetFileMUIInfo
// All offsets are relative to start of the structure. Offsets with value 0 mean empty field. // All offsets are relative to start of the structure. Offsets with value 0 mean empty field.
// //
typedef struct _FILEMUIINFO { typedef struct _FILEMUIINFO {
DWORD dwSize; // Size of the structure including buffe r size [in] DWORD dwSize; // Size of the structure including buffe r size [in]
skipping to change at line 1195 skipping to change at line 1247
DWORD dwLanguageNameOffset; // Language name of the file [out] DWORD dwLanguageNameOffset; // Language name of the file [out]
DWORD dwTypeIDMainSize; // Number of TypeIDs in main module [out ] DWORD dwTypeIDMainSize; // Number of TypeIDs in main module [out ]
DWORD dwTypeIDMainOffset; // Array of TypeIDs (DWORD) in main modu le [out] DWORD dwTypeIDMainOffset; // Array of TypeIDs (DWORD) in main modu le [out]
DWORD dwTypeNameMainOffset; // Multistring array of TypeNames in mai n module [out] DWORD dwTypeNameMainOffset; // Multistring array of TypeNames in mai n module [out]
DWORD dwTypeIDMUISize; // Number of TypeIDs in MUI module [out] DWORD dwTypeIDMUISize; // Number of TypeIDs in MUI module [out]
DWORD dwTypeIDMUIOffset; // Array of TypeIDs (DWORD) in MUI modul e [out] DWORD dwTypeIDMUIOffset; // Array of TypeIDs (DWORD) in MUI modul e [out]
DWORD dwTypeNameMUIOffset; // Multistring array of TypeNames in MUI module [out] DWORD dwTypeNameMUIOffset; // Multistring array of TypeNames in MUI module [out]
BYTE abBuffer[8]; // Buffer for extra data [in] (Size 4 i s for padding) BYTE abBuffer[8]; // Buffer for extra data [in] (Size 4 i s for padding)
} FILEMUIINFO, *PFILEMUIINFO; } FILEMUIINFO, *PFILEMUIINFO;
#ifndef NOAPISET
#include <stringapiset.h> // String APISET dependencies
#endif
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Macros // Macros
// //
// Define all macros for the NLS component here. // Define all macros for the NLS component here.
// //
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Macros to determine whether a character is a high or low surrogate, // Macros to determine whether a character is a high or low surrogate,
skipping to change at line 1260 skipping to change at line 1316
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Code Page Dependent APIs. // Code Page Dependent APIs.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidCodePage( IsValidCodePage(
__in UINT CodePage); _In_ UINT CodePage);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetACP(void); GetACP(void);
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetOEMCP(void); GetOEMCP(void);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCPInfo( GetCPInfo(
__in UINT CodePage, _In_ UINT CodePage,
__out LPCPINFO lpCPInfo); _Out_ LPCPINFO lpCPInfo);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCPInfoExA( GetCPInfoExA(
__in UINT CodePage, _In_ UINT CodePage,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out LPCPINFOEXA lpCPInfoEx); _Out_ LPCPINFOEXA lpCPInfoEx);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCPInfoExW( GetCPInfoExW(
__in UINT CodePage, _In_ UINT CodePage,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out LPCPINFOEXW lpCPInfoEx); _Out_ LPCPINFOEXW lpCPInfoEx);
#ifdef UNICODE #ifdef UNICODE
#define GetCPInfoEx GetCPInfoExW #define GetCPInfoEx GetCPInfoExW
#else #else
#define GetCPInfoEx GetCPInfoExA #define GetCPInfoEx GetCPInfoExA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
BOOL #pragma endregion
WINAPI
IsDBCSLeadByte(
__in BYTE TestChar);
WINBASEAPI
BOOL
WINAPI
IsDBCSLeadByteEx(
__in UINT CodePage,
__in BYTE TestChar);
WINBASEAPI
int
WINAPI
MultiByteToWideChar(
__in UINT CodePage,
__in DWORD dwFlags,
__in_bcount(cbMultiByte) LPCSTR lpMultiByteStr,
__in int cbMultiByte,
__out_ecount_opt(cchWideChar) __transfer(lpMultiByteStr) LPWSTR lpWideCharS
tr,
__in int cchWideChar);
WINBASEAPI #pragma region Desktop Family
int #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINAPI
WideCharToMultiByte(
__in UINT CodePage,
__in DWORD dwFlags,
__in_ecount(cchWideChar) LPCWSTR lpWideCharStr,
__in int cchWideChar,
__out_bcount_opt(cbMultiByte) __transfer(lpWideCharStr) LPSTR lpMultiByteS
tr,
__in int cbMultiByte,
__in_opt LPCSTR lpDefaultChar,
__out_opt LPBOOL lpUsedDefaultChar);
// //
// Locale Dependent APIs. // Locale Dependent APIs.
// //
// For Windows Vista and above CompareStringEx is preferred // For Windows Vista and above CompareStringEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
CompareStringA( CompareStringA(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwCmpFlags, _In_ DWORD dwCmpFlags,
__in_ecount(cchCount1) PCNZCH lpString1, _In_reads_(cchCount1) PCNZCH lpString1,
__in int cchCount1, _In_ int cchCount1,
__in_ecount(cchCount2) PCNZCH lpString2, _In_reads_(cchCount2) PCNZCH lpString2,
__in int cchCount2); _In_ int cchCount2);
WINBASEAPI
int
WINAPI
CompareStringW(
__in LCID Locale,
__in DWORD dwCmpFlags,
__in_ecount(cchCount1) PCNZWCH lpString1,
__in int cchCount1,
__in_ecount(cchCount2) PCNZWCH lpString2,
__in int cchCount2);
#ifdef UNICODE #ifndef UNICODE
#define CompareString CompareStringW
#else
#define CompareString CompareStringA #define CompareString CompareStringA
#endif // !UNICODE #endif // !UNICODE
#if defined(_M_CEE) #if defined(_M_CEE)
#undef CompareString #undef CompareString
__inline __inline
int int
CompareString( CompareString(
LCID Locale, LCID Locale,
DWORD dwCmpFlags, DWORD dwCmpFlags,
skipping to change at line 1404 skipping to change at line 1428
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
// For Windows Vista and above FindNLSStringEx is preferred // For Windows Vista and above FindNLSStringEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FindNLSString( FindNLSString(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFindNLSStringFlags, _In_ DWORD dwFindNLSStringFlags,
__in_ecount(cchSource) LPCWSTR lpStringSource, _In_reads_(cchSource) LPCWSTR lpStringSource,
__in int cchSource, _In_ int cchSource,
__in_ecount(cchValue) LPCWSTR lpStringValue, _In_reads_(cchValue) LPCWSTR lpStringValue,
__in int cchValue, _In_ int cchValue,
__out_opt LPINT pcchFound); _Out_opt_ LPINT pcchFound);
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#if (WINVER >= _WIN32_WINNT_WIN7)
WINBASEAPI
int
WINAPI
FindStringOrdinal(
__in DWORD dwFindStringOrdinalFlags,
__in_ecount(cchSource) LPCWSTR lpStringSource,
__in int cchSource,
__in_ecount(cchValue) LPCWSTR lpStringValue,
__in int cchValue,
__in BOOL bIgnoreCase);
#endif //(WINVER >= _WIN32_WINNT_WIN7)
// For Windows Vista and above LCMapStringEx is preferred
WINBASEAPI
int
WINAPI
LCMapStringA(
__in LCID Locale,
__in DWORD dwMapFlags,
__in_ecount(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc,
__out_xcount_opt(cchDest) LPSTR lpDestStr,
__in int cchDest);
// For Windows Vista and above LCMapStringEx is preferred // For Windows Vista and above LCMapStringEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
LCMapStringW( LCMapStringW(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwMapFlags, _In_ DWORD dwMapFlags,
__in_ecount(cchSrc) LPCWSTR lpSrcStr, _In_reads_(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc, _In_ int cchSrc,
__out_xcount_opt(cchDest) LPWSTR lpDestStr, _Out_writes_opt_(_Inexpressible_(cchDest)) LPWSTR lpDestStr,
__in int cchDest); _In_ int cchDest);
#ifdef UNICODE #ifdef UNICODE
#define LCMapString LCMapStringW #define LCMapString LCMapStringW
#else #endif
#define LCMapString LCMapStringA
#endif // !UNICODE
// For Windows Vista and above GetLocaleInfoEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetLocaleInfoA( LCMapStringA(
__in LCID Locale, _In_ LCID Locale,
__in LCTYPE LCType, _In_ DWORD dwMapFlags,
__out_ecount_opt(cchData) LPSTR lpLCData, _In_reads_(cchSrc) LPCSTR lpSrcStr,
__in int cchData); _In_ int cchSrc,
_Out_writes_opt_(_Inexpressible_(cchDest)) LPSTR lpDestStr,
_In_ int cchDest);
#ifndef UNICODE
#define LCMapString LCMapStringA
#endif
// For Windows Vista and above GetLocaleInfoEx is preferred // For Windows Vista and above GetLocaleInfoEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetLocaleInfoW( GetLocaleInfoW(
__in LCID Locale, _In_ LCID Locale,
__in LCTYPE LCType, _In_ LCTYPE LCType,
__out_ecount_opt(cchData) LPWSTR lpLCData, _Out_writes_opt_(cchData) LPWSTR lpLCData,
__in int cchData); _In_ int cchData);
#ifdef UNICODE #ifdef UNICODE
#define GetLocaleInfo GetLocaleInfoW #define GetLocaleInfo GetLocaleInfoW
#else #endif
#define GetLocaleInfo GetLocaleInfoA
#endif // !UNICODE WINBASEAPI
int
WINAPI
GetLocaleInfoA(
_In_ LCID Locale,
_In_ LCTYPE LCType,
_Out_writes_opt_(cchData) LPSTR lpLCData,
_In_ int cchData
);
#ifndef UNICODE
#define GetLocaleInfo GetLocaleInfoA
#endif
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetLocaleInfoA( SetLocaleInfoA(
__in LCID Locale, _In_ LCID Locale,
__in LCTYPE LCType, _In_ LCTYPE LCType,
__in LPCSTR lpLCData); _In_ LPCSTR lpLCData);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetLocaleInfoW( SetLocaleInfoW(
__in LCID Locale, _In_ LCID Locale,
__in LCTYPE LCType, _In_ LCTYPE LCType,
__in LPCWSTR lpLCData); _In_ LPCWSTR lpLCData);
#ifdef UNICODE #ifdef UNICODE
#define SetLocaleInfo SetLocaleInfoW #define SetLocaleInfo SetLocaleInfoW
#else #else
#define SetLocaleInfo SetLocaleInfoA #define SetLocaleInfo SetLocaleInfoA
#endif // !UNICODE #endif // !UNICODE
#if (WINVER >= 0x040A) #if (WINVER >= 0x040A)
// For Windows Vista and above GetCalendarInfoEx is preferred // For Windows Vista and above GetCalendarInfoEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCalendarInfoA( GetCalendarInfoA(
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType, _In_ CALTYPE CalType,
__out_ecount_opt(cchData) LPSTR lpCalData, _Out_writes_opt_(cchData) LPSTR lpCalData,
__in int cchData, _In_ int cchData,
__out_opt LPDWORD lpValue); _Out_opt_ LPDWORD lpValue);
// For Windows Vista and above GetCalendarInfoEx is preferred // For Windows Vista and above GetCalendarInfoEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCalendarInfoW( GetCalendarInfoW(
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType, _In_ CALTYPE CalType,
__out_ecount_opt(cchData) LPWSTR lpCalData, _Out_writes_opt_(cchData) LPWSTR lpCalData,
__in int cchData, _In_ int cchData,
__out_opt LPDWORD lpValue); _Out_opt_ LPDWORD lpValue);
#ifdef UNICODE #ifdef UNICODE
#define GetCalendarInfo GetCalendarInfoW #define GetCalendarInfo GetCalendarInfoW
#else #else
#define GetCalendarInfo GetCalendarInfoA #define GetCalendarInfo GetCalendarInfoA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetCalendarInfoA( SetCalendarInfoA(
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType, _In_ CALTYPE CalType,
__in LPCSTR lpCalData); _In_ LPCSTR lpCalData);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetCalendarInfoW( SetCalendarInfoW(
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType, _In_ CALTYPE CalType,
__in LPCWSTR lpCalData); _In_ LPCWSTR lpCalData);
#ifdef UNICODE #ifdef UNICODE
#define SetCalendarInfo SetCalendarInfoW #define SetCalendarInfo SetCalendarInfoW
#else #else
#define SetCalendarInfo SetCalendarInfoA #define SetCalendarInfo SetCalendarInfoA
#endif // !UNICODE #endif // !UNICODE
#endif #endif
#if (WINVER >= _WIN32_WINNT_WIN7)
//
// Flags used by LoadStringByReference
//
#define MUI_FORMAT_REG_COMPAT 0x0001
#define MUI_FORMAT_INF_COMPAT 0x0002
#define MUI_VERIFY_FILE_EXISTS 0x0004
#define MUI_SKIP_STRING_CACHE 0x0008
#define MUI_IMMUTABLE_LOOKUP 0x0010
WINBASEAPI
BOOL
WINAPI
LoadStringByReference(
_In_ DWORD Flags,
_In_opt_ PCWSTR Language,
_In_ PCWSTR SourceString,
_Out_writes_opt_(cchBuffer) PWSTR Buffer,
_In_ ULONG cchBuffer,
_In_opt_ PCWSTR Directory,
_Out_opt_ PULONG pcchBufferOut
);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
WINBASEAPI
BOOL
WINAPI
IsDBCSLeadByte(
_In_ BYTE TestChar
);
WINBASEAPI
BOOL
WINAPI
IsDBCSLeadByteEx(
_In_ UINT CodePage,
_In_ BYTE TestChar
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
LCIDToLocaleName( LCIDToLocaleName(
__in LCID Locale, _In_ LCID Locale,
__out_ecount_opt(cchName) LPWSTR lpName, _Out_writes_opt_(cchName) LPWSTR lpName,
__in int cchName, _In_ int cchName,
__in DWORD dwFlags); _In_ DWORD dwFlags);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
LocaleNameToLCID( LocaleNameToLCID(
__in LPCWSTR lpName, _In_ LPCWSTR lpName,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#endif // (WINVER >= 0x0600) #endif // (WINVER >= 0x0600)
// For Windows Vista and above GetTimeFormatEx is preferred #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
WINBASEAPI #pragma endregion
int
WINAPI #pragma region Desktop Family
GetTimeFormatA( #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
__in LCID Locale,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpTime,
__in_opt LPCSTR lpFormat,
__out_ecount_opt(cchTime) LPSTR lpTimeStr,
__in int cchTime);
// For Windows Vista and above GetTimeFormatEx is preferred
WINBASEAPI
int
WINAPI
GetTimeFormatW(
__in LCID Locale,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpTime,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchTime) LPWSTR lpTimeStr,
__in int cchTime);
#ifdef UNICODE
#define GetTimeFormat GetTimeFormatW
#else
#define GetTimeFormat GetTimeFormatA
#endif // !UNICODE
// For Windows Vista and above GetDurationFormatEx is preferred // For Windows Vista and above GetDurationFormatEx is preferred
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetDurationFormat( GetDurationFormat(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDuration, _In_opt_ CONST SYSTEMTIME *lpDuration,
__in ULONGLONG ullDuration, _In_ ULONGLONG ullDuration,
__in_opt LPCWSTR lpFormat, _In_opt_ LPCWSTR lpFormat,
__out_ecount_opt(cchDuration) LPWSTR lpDurationStr, _Out_writes_opt_(cchDuration) LPWSTR lpDurationStr,
__in int cchDuration); _In_ int cchDuration);
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
// For Windows Vista and above GetDateFormatEx is preferred
WINBASEAPI
int
WINAPI
GetDateFormatA(
__in LCID Locale,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDate,
__in_opt LPCSTR lpFormat,
__out_ecount_opt(cchDate) LPSTR lpDateStr,
__in int cchDate);
// For Windows Vista and above GetDateFormatEx is preferred
WINBASEAPI
int
WINAPI
GetDateFormatW(
__in LCID Locale,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDate,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchDate) LPWSTR lpDateStr,
__in int cchDate);
#ifdef UNICODE
#define GetDateFormat GetDateFormatW
#else
#define GetDateFormat GetDateFormatA
#endif // !UNICODE
// For Windows Vista and above GetNumberFormatEx is preferred // For Windows Vista and above GetNumberFormatEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetNumberFormatA( GetNumberFormatA(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPCSTR lpValue, _In_ LPCSTR lpValue,
__in_opt CONST NUMBERFMTA *lpFormat, _In_opt_ CONST NUMBERFMTA *lpFormat,
__out_ecount_opt(cchNumber) LPSTR lpNumberStr, _Out_writes_opt_(cchNumber) LPSTR lpNumberStr,
__in int cchNumber); _In_ int cchNumber);
// For Windows Vista and above GetNumberFormatEx is preferred // For Windows Vista and above GetNumberFormatEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetNumberFormatW( GetNumberFormatW(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPCWSTR lpValue, _In_ LPCWSTR lpValue,
__in_opt CONST NUMBERFMTW *lpFormat, _In_opt_ CONST NUMBERFMTW *lpFormat,
__out_ecount_opt(cchNumber) LPWSTR lpNumberStr, _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr,
__in int cchNumber); _In_ int cchNumber);
#ifdef UNICODE #ifdef UNICODE
#define GetNumberFormat GetNumberFormatW #define GetNumberFormat GetNumberFormatW
#else #else
#define GetNumberFormat GetNumberFormatA #define GetNumberFormat GetNumberFormatA
#endif // !UNICODE #endif // !UNICODE
// For Windows Vista and above GetCurrencyFormatEx is preferred // For Windows Vista and above GetCurrencyFormatEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCurrencyFormatA( GetCurrencyFormatA(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPCSTR lpValue, _In_ LPCSTR lpValue,
__in_opt CONST CURRENCYFMTA *lpFormat, _In_opt_ CONST CURRENCYFMTA *lpFormat,
__out_ecount_opt(cchCurrency) LPSTR lpCurrencyStr, _Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr,
__in int cchCurrency); _In_ int cchCurrency);
// For Windows Vista and above GetCurrencyFormatEx is preferred // For Windows Vista and above GetCurrencyFormatEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCurrencyFormatW( GetCurrencyFormatW(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPCWSTR lpValue, _In_ LPCWSTR lpValue,
__in_opt CONST CURRENCYFMTW *lpFormat, _In_opt_ CONST CURRENCYFMTW *lpFormat,
__out_ecount_opt(cchCurrency) LPWSTR lpCurrencyStr, _Out_writes_opt_(cchCurrency) LPWSTR lpCurrencyStr,
__in int cchCurrency); _In_ int cchCurrency);
#ifdef UNICODE #ifdef UNICODE
#define GetCurrencyFormat GetCurrencyFormatW #define GetCurrencyFormat GetCurrencyFormatW
#else #else
#define GetCurrencyFormat GetCurrencyFormatA #define GetCurrencyFormat GetCurrencyFormatA
#endif // !UNICODE #endif // !UNICODE
// For Windows Vista and above EnumCalendarInfoExEx is preferred // For Windows Vista and above EnumCalendarInfoExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumCalendarInfoA( EnumCalendarInfoA(
__in CALINFO_ENUMPROCA lpCalInfoEnumProc, _In_ CALINFO_ENUMPROCA lpCalInfoEnumProc,
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType); _In_ CALTYPE CalType);
// For Windows Vista and above EnumCalendarInfoExEx is preferred // For Windows Vista and above EnumCalendarInfoExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumCalendarInfoW( EnumCalendarInfoW(
__in CALINFO_ENUMPROCW lpCalInfoEnumProc, _In_ CALINFO_ENUMPROCW lpCalInfoEnumProc,
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType); _In_ CALTYPE CalType);
#ifdef UNICODE #ifdef UNICODE
#define EnumCalendarInfo EnumCalendarInfoW #define EnumCalendarInfo EnumCalendarInfoW
#else #else
#define EnumCalendarInfo EnumCalendarInfoA #define EnumCalendarInfo EnumCalendarInfoA
#endif // !UNICODE #endif // !UNICODE
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
// For Windows Vista and above EnumCalendarInfoExEx is preferred // For Windows Vista and above EnumCalendarInfoExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumCalendarInfoExA( EnumCalendarInfoExA(
__in CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, _In_ CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType); _In_ CALTYPE CalType);
// For Windows Vista and above EnumCalendarInfoExEx is preferred // For Windows Vista and above EnumCalendarInfoExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumCalendarInfoExW( EnumCalendarInfoExW(
__in CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, _In_ CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,
__in LCID Locale, _In_ LCID Locale,
__in CALID Calendar, _In_ CALID Calendar,
__in CALTYPE CalType); _In_ CALTYPE CalType);
#ifdef UNICODE #ifdef UNICODE
#define EnumCalendarInfoEx EnumCalendarInfoExW #define EnumCalendarInfoEx EnumCalendarInfoExW
#else #else
#define EnumCalendarInfoEx EnumCalendarInfoExA #define EnumCalendarInfoEx EnumCalendarInfoExA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
// For Windows Vista and above EnumTimeFormatsEx is preferred // For Windows Vista and above EnumTimeFormatsEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumTimeFormatsA( EnumTimeFormatsA(
__in TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, _In_ TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
// For Windows Vista and above EnumTimeFormatsEx is preferred // For Windows Vista and above EnumTimeFormatsEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumTimeFormatsW( EnumTimeFormatsW(
__in TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, _In_ TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#ifdef UNICODE #ifdef UNICODE
#define EnumTimeFormats EnumTimeFormatsW #define EnumTimeFormats EnumTimeFormatsW
#else #else
#define EnumTimeFormats EnumTimeFormatsA #define EnumTimeFormats EnumTimeFormatsA
#endif // !UNICODE #endif // !UNICODE
// For Windows Vista and above EnumDateFormatsExEx is preferred // For Windows Vista and above EnumDateFormatsExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumDateFormatsA( EnumDateFormatsA(
__in DATEFMT_ENUMPROCA lpDateFmtEnumProc, _In_ DATEFMT_ENUMPROCA lpDateFmtEnumProc,
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
// For Windows Vista and above EnumDateFormatsExEx is preferred // For Windows Vista and above EnumDateFormatsExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumDateFormatsW( EnumDateFormatsW(
__in DATEFMT_ENUMPROCW lpDateFmtEnumProc, _In_ DATEFMT_ENUMPROCW lpDateFmtEnumProc,
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#ifdef UNICODE #ifdef UNICODE
#define EnumDateFormats EnumDateFormatsW #define EnumDateFormats EnumDateFormatsW
#else #else
#define EnumDateFormats EnumDateFormatsA #define EnumDateFormats EnumDateFormatsA
#endif // !UNICODE #endif // !UNICODE
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
// For Windows Vista and above EnumDateFormatsExEx is preferred // For Windows Vista and above EnumDateFormatsExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumDateFormatsExA( EnumDateFormatsExA(
__in DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, _In_ DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
// For Windows Vista and above EnumDateFormatsExEx is preferred // For Windows Vista and above EnumDateFormatsExEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumDateFormatsExW( EnumDateFormatsExW(
__in DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, _In_ DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#ifdef UNICODE #ifdef UNICODE
#define EnumDateFormatsEx EnumDateFormatsExW #define EnumDateFormatsEx EnumDateFormatsExW
#else #else
#define EnumDateFormatsEx EnumDateFormatsExA #define EnumDateFormatsEx EnumDateFormatsExA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidLanguageGroup( IsValidLanguageGroup(
__in LGRPID LanguageGroup, _In_ LGRPID LanguageGroup,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
// For Windows Vista and above GetNLSVersionEx is preferred // For Windows Vista and above GetNLSVersionEx is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNLSVersion( GetNLSVersion(
__in NLS_FUNCTION Function, _In_ NLS_FUNCTION Function,
__in LCID Locale, _In_ LCID Locale,
__inout LPNLSVERSIONINFO lpVersionInformation); _Inout_ LPNLSVERSIONINFO lpVersionInformation);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsNLSDefinedString( IsNLSDefinedString(
__in NLS_FUNCTION Function, _In_ NLS_FUNCTION Function,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPNLSVERSIONINFO lpVersionInformation, _In_ LPNLSVERSIONINFO lpVersionInformation,
__in_ecount(cchStr) LPCWSTR lpString, _In_reads_(cchStr) LPCWSTR lpString,
__in INT cchStr); _In_ INT cchStr);
// For Windows Vista and above IsValidLocaleName is preferred // For Windows Vista and above IsValidLocaleName is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidLocale( IsValidLocale(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetGeoInfoA( GetGeoInfoA(
__in GEOID Location, _In_ GEOID Location,
__in GEOTYPE GeoType, _In_ GEOTYPE GeoType,
__out_ecount_opt(cchData) LPSTR lpGeoData, _Out_writes_opt_(cchData) LPSTR lpGeoData,
__in int cchData, _In_ int cchData,
__in LANGID LangId); _In_ LANGID LangId);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetGeoInfoW( GetGeoInfoW(
__in GEOID Location, _In_ GEOID Location,
__in GEOTYPE GeoType, _In_ GEOTYPE GeoType,
__out_ecount_opt(cchData) LPWSTR lpGeoData, _Out_writes_opt_(cchData) LPWSTR lpGeoData,
__in int cchData, _In_ int cchData,
__in LANGID LangId); _In_ LANGID LangId);
#ifdef UNICODE #ifdef UNICODE
#define GetGeoInfo GetGeoInfoW #define GetGeoInfo GetGeoInfoW
#else #else
#define GetGeoInfo GetGeoInfoA #define GetGeoInfo GetGeoInfoA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemGeoID( EnumSystemGeoID(
__in GEOCLASS GeoClass, _In_ GEOCLASS GeoClass,
__in GEOID ParentGeoId, _In_ GEOID ParentGeoId,
__in GEO_ENUMPROC lpGeoEnumProc); _In_ GEO_ENUMPROC lpGeoEnumProc);
WINBASEAPI WINBASEAPI
GEOID GEOID
WINAPI WINAPI
GetUserGeoID( GetUserGeoID(
__in GEOCLASS GeoClass); _In_ GEOCLASS GeoClass);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetUserGeoID( SetUserGeoID(
__in GEOID GeoId); _In_ GEOID GeoId);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
ConvertDefaultLocale( ConvertDefaultLocale(
__in LCID Locale); _In_ LCID Locale);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
GetThreadLocale(void); GetThreadLocale(void);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetThreadLocale( SetThreadLocale(
__in LCID Locale _In_ LCID Locale
); );
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
GetSystemDefaultUILanguage(void); GetSystemDefaultUILanguage(void);
WINBASEAPI WINBASEAPI
LANGID LANGID
skipping to change at line 1950 skipping to change at line 1972
GetSystemDefaultLCID(void); GetSystemDefaultLCID(void);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
GetUserDefaultLCID(void); GetUserDefaultLCID(void);
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
SetThreadUILanguage(__in LANGID LangId); SetThreadUILanguage(_In_ LANGID LangId);
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
GetThreadUILanguage(void); GetThreadUILanguage(void);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetProcessPreferredUILanguages( GetProcessPreferredUILanguages(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out PULONG pulNumLanguages, _Out_ PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer,
__inout PULONG pcchLanguagesBuffer _Inout_ PULONG pcchLanguagesBuffer
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetProcessPreferredUILanguages( SetProcessPreferredUILanguages(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_opt PCZZWSTR pwszLanguagesBuffer, _In_opt_ PCZZWSTR pwszLanguagesBuffer,
__out_opt PULONG pulNumLanguages _Out_opt_ PULONG pulNumLanguages
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetUserPreferredUILanguages ( GetUserPreferredUILanguages (
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out PULONG pulNumLanguages, _Out_ PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer,
__inout PULONG pcchLanguagesBuffer _Inout_ PULONG pcchLanguagesBuffer
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetSystemPreferredUILanguages ( GetSystemPreferredUILanguages (
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out PULONG pulNumLanguages, _Out_ PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer,
__inout PULONG pcchLanguagesBuffer _Inout_ PULONG pcchLanguagesBuffer
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetThreadPreferredUILanguages( GetThreadPreferredUILanguages(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__out PULONG pulNumLanguages, _Out_ PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer,
__inout PULONG pcchLanguagesBuffer _Inout_ PULONG pcchLanguagesBuffer
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetThreadPreferredUILanguages( SetThreadPreferredUILanguages(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_opt PCZZWSTR pwszLanguagesBuffer, _In_opt_ PCZZWSTR pwszLanguagesBuffer,
__out_opt PULONG pulNumLanguages _Out_opt_ PULONG pulNumLanguages
); );
WINBASEAPI WINBASEAPI
__success(return==1) _Success_(return!=FALSE)
BOOL BOOL
WINAPI WINAPI
GetFileMUIInfo( GetFileMUIInfo(
DWORD dwFlags, DWORD dwFlags,
__in PCWSTR pcwszFilePath, _In_ PCWSTR pcwszFilePath,
__inout_bcount_part_opt(*pcbFileMUIInfo,*pcbFileMUIInfo) PFILEMUIINFO pFi _Inout_updates_bytes_to_opt_(*pcbFileMUIInfo,*pcbFileMUIInfo) PFILEMUIINFO
leMUIInfo, pFileMUIInfo,
__inout DWORD* pcbFileMUIInfo); _Inout_ DWORD* pcbFileMUIInfo);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetFileMUIPath( GetFileMUIPath(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in PCWSTR pcwszFilePath , _In_ PCWSTR pcwszFilePath ,
__inout_ecount_opt (*pcchLanguage) PWSTR pwszLanguage, _Inout_updates_opt_ (*pcchLanguage) PWSTR pwszLanguage,
__inout PULONG pcchLanguage, _Inout_ PULONG pcchLanguage,
__out_ecount_opt (*pcchFileMUIPath) PWSTR pwszFileMUIPath, _Out_writes_opt_ (*pcchFileMUIPath) PWSTR pwszFileMUIPath,
__inout PULONG pcchFileMUIPath, _Inout_ PULONG pcchFileMUIPath,
__inout PULONGLONG pululEnumerator _Inout_ PULONGLONG pululEnumerator
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetUILanguageInfo( GetUILanguageInfo(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in PCZZWSTR pwmszLanguage, _In_ PCZZWSTR pwmszLanguage,
__out_ecount_opt(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages, _Out_writes_opt_(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages,
__inout_opt PDWORD pcchFallbackLanguages, _Inout_opt_ PDWORD pcchFallbackLanguages,
__out PDWORD pAttributes _Out_ PDWORD pAttributes
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
NotifyUILanguageChange( NotifyUILanguageChange(
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_opt PCWSTR pcwstrNewLanguage, _In_opt_ PCWSTR pcwstrNewLanguage,
__in_opt PCWSTR pcwstrPreviousLanguage, _In_opt_ PCWSTR pcwstrPreviousLanguage,
__in DWORD dwReserved, _In_ DWORD dwReserved,
__out_opt PDWORD pdwStatusRtrn _Out_opt_ PDWORD pdwStatusRtrn
); );
#endif #endif
// //
// Locale Independent APIs. // Locale Independent APIs.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeExA( GetStringTypeExA(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwInfoType, _In_ DWORD dwInfoType,
__in_ecount(cchSrc) LPCSTR lpSrcStr, _In_reads_(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, _In_ int cchSrc,
__out_ecount(cchSrc) LPWORD lpCharType); _Out_writes_(cchSrc) LPWORD lpCharType);
WINBASEAPI #ifndef UNICODE
BOOL
WINAPI
GetStringTypeExW(
__in LCID Locale,
__in DWORD dwInfoType,
__in_ecount(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc,
__out_ecount(cchSrc) LPWORD lpCharType);
#ifdef UNICODE
#define GetStringTypeEx GetStringTypeExW
#else
#define GetStringTypeEx GetStringTypeExA #define GetStringTypeEx GetStringTypeExA
#endif // !UNICODE #endif
// //
// NOTE: The parameters for GetStringTypeA and GetStringTypeW are // NOTE: The parameters for GetStringTypeA and GetStringTypeW are
// NOT the same. The W version was shipped in NT 3.1. The // NOT the same. The W version was shipped in NT 3.1. The
// A version was then shipped in 16-bit OLE with the wrong // A version was then shipped in 16-bit OLE with the wrong
// parameters (ported from Win95). To be compatible, we // parameters (ported from Win95). To be compatible, we
// must break the relationship between the A and W versions // must break the relationship between the A and W versions
// of GetStringType. There will be NO function call for the // of GetStringType. There will be NO function call for the
// generic GetStringType. // generic GetStringType.
// //
// GetStringTypeEx (above) should be used instead. // GetStringTypeEx (above) should be used instead.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeA( GetStringTypeA(
__in LCID Locale, _In_ LCID Locale,
__in DWORD dwInfoType, _In_ DWORD dwInfoType,
__in_ecount(cchSrc) LPCSTR lpSrcStr, _In_reads_(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, _In_ int cchSrc,
__out LPWORD lpCharType); _Out_ LPWORD lpCharType);
WINBASEAPI WINBASEAPI
BOOL int
WINAPI WINAPI
GetStringTypeW( FoldStringA(
__in DWORD dwInfoType, _In_ DWORD dwMapFlags,
__in_ecount(cchSrc) LPCWSTR lpSrcStr, _In_reads_(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, _In_ int cchSrc,
__out LPWORD lpCharType); _Out_writes_opt_(cchDest) LPSTR lpDestStr,
_In_ int cchDest);
#ifndef UNICODE
#define FoldString FoldStringA
#endif
#if(WINVER >= 0x0500)
WINBASEAPI WINBASEAPI
int BOOL
WINAPI WINAPI
FoldStringA( EnumSystemLocalesA(
__in DWORD dwMapFlags, _In_ LOCALE_ENUMPROCA lpLocaleEnumProc,
__in_ecount(cchSrc) LPCSTR lpSrcStr, _In_ DWORD dwFlags);
__in int cchSrc,
__out_ecount_opt(cchDest) LPSTR lpDestStr,
__in int cchDest);
WINBASEAPI WINBASEAPI
int BOOL
WINAPI WINAPI
FoldStringW( EnumSystemLocalesW(
__in DWORD dwMapFlags, _In_ LOCALE_ENUMPROCW lpLocaleEnumProc,
__in_ecount(cchSrc) LPCWSTR lpSrcStr, _In_ DWORD dwFlags);
__in int cchSrc,
__out_ecount_opt(cchDest) LPWSTR lpDestStr,
__in int cchDest);
#ifdef UNICODE #ifdef UNICODE
#define FoldString FoldStringW #define EnumSystemLocales EnumSystemLocalesW
#else #else
#define FoldString FoldStringA #define EnumSystemLocales EnumSystemLocalesA
#endif // !UNICODE #endif // !UNICODE
#if(WINVER >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemLanguageGroupsA( EnumSystemLanguageGroupsA(
__in LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, _In_ LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LONG_PTR lParam); _In_ LONG_PTR lParam);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemLanguageGroupsW( EnumSystemLanguageGroupsW(
__in LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, _In_ LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LONG_PTR lParam); _In_ LONG_PTR lParam);
#ifdef UNICODE #ifdef UNICODE
#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
#else #else
#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumLanguageGroupLocalesA( EnumLanguageGroupLocalesA(
__in LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, _In_ LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,
__in LGRPID LanguageGroup, _In_ LGRPID LanguageGroup,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LONG_PTR lParam); _In_ LONG_PTR lParam);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumLanguageGroupLocalesW( EnumLanguageGroupLocalesW(
__in LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, _In_ LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,
__in LGRPID LanguageGroup, _In_ LGRPID LanguageGroup,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LONG_PTR lParam); _In_ LONG_PTR lParam);
#ifdef UNICODE #ifdef UNICODE
#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
#else #else
#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumUILanguagesA( EnumUILanguagesA(
__in UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, _In_ UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LONG_PTR lParam); _In_ LONG_PTR lParam);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumUILanguagesW( EnumUILanguagesW(
__in UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, _In_ UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LONG_PTR lParam); _In_ LONG_PTR lParam);
#ifdef UNICODE #ifdef UNICODE
#define EnumUILanguages EnumUILanguagesW #define EnumUILanguages EnumUILanguagesW
#else #else
#define EnumUILanguages EnumUILanguagesA #define EnumUILanguages EnumUILanguagesA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
WINBASEAPI #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
BOOL #pragma endregion
WINAPI
EnumSystemLocalesA( #pragma region Application Family
__in LOCALE_ENUMPROCA lpLocaleEnumProc, #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
__in DWORD dwFlags);
WINBASEAPI
BOOL
WINAPI
EnumSystemLocalesW(
__in LOCALE_ENUMPROCW lpLocaleEnumProc,
__in DWORD dwFlags);
#ifdef UNICODE
#define EnumSystemLocales EnumSystemLocalesW
#else
#define EnumSystemLocales EnumSystemLocalesA
#endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemCodePagesA( EnumSystemCodePagesA(
__in CODEPAGE_ENUMPROCA lpCodePageEnumProc, _In_ CODEPAGE_ENUMPROCA lpCodePageEnumProc,
__in DWORD dwFlags); _In_ DWORD dwFlags);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemCodePagesW( EnumSystemCodePagesW(
__in CODEPAGE_ENUMPROCW lpCodePageEnumProc, _In_ CODEPAGE_ENUMPROCW lpCodePageEnumProc,
__in DWORD dwFlags); _In_ DWORD dwFlags);
#ifdef UNICODE #ifdef UNICODE
#define EnumSystemCodePages EnumSystemCodePagesW #define EnumSystemCodePages EnumSystemCodePagesW
#else #else
#define EnumSystemCodePages EnumSystemCodePagesA #define EnumSystemCodePages EnumSystemCodePagesA
#endif // !UNICODE #endif // !UNICODE
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
// //
// Windows API Normalization Functions // Windows API Normalization Functions
// //
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI NormalizeString( __in NORM_FORM NormForm, WINAPI NormalizeString( _In_ NORM_FORM NormForm,
__in_ecount(cwSrcLength) LPCWSTR lpSrcString, _In_reads_(cwSrcLength) LPCWSTR lpSrcString,
__in int cwSrcLength, _In_ int cwSrcLength,
__out_ecount_opt(cwDstLength) LPWSTR lpDstString, _Out_writes_opt_(cwDstLength) LPWSTR lpDstString,
__in int cwDstLength ); _In_ int cwDstLength );
WINNORMALIZEAPI WINNORMALIZEAPI
BOOL BOOL
WINAPI IsNormalizedString( __in NORM_FORM NormForm, WINAPI IsNormalizedString( _In_ NORM_FORM NormForm,
__in_ecount(cwLength) LPCWSTR lpString, _In_reads_(cwLength) LPCWSTR lpString,
__in int cwLength ); _In_ int cwLength );
// //
// IDN (International Domain Name) Functions // IDN (International Domain Name) Functions
// //
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI IdnToAscii(__in DWORD dwFlags, WINAPI IdnToAscii(_In_ DWORD dwFlags,
__in_ecount(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr,
__in int cchUnicodeChar, _In_ int cchUnicodeChar,
__out_ecount_opt(cchASCIIChar) LPWSTR lpASCIICharStr, _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr,
__in int cchASCIIChar); _In_ int cchASCIIChar);
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI IdnToNameprepUnicode(__in DWORD dwFlags, WINAPI IdnToNameprepUnicode(_In_ DWORD dwFlags,
__in_ecount(cchUnicodeChar) LPCWSTR lpUnicode _In_reads_(cchUnicodeChar) LPCWSTR lpUnicode
CharStr, CharStr,
__in int cchUnicod _In_ int cchUnicod
eChar, eChar,
__out_ecount_opt(cchNameprepChar) LPWSTR lpNamepr _Out_writes_opt_(cchNameprepChar) LPWSTR lpNamepr
epCharStr, epCharStr,
__in int cchNamepr _In_ int cchNamepr
epChar); epChar);
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI IdnToUnicode(__in DWORD dwFlags, WINAPI IdnToUnicode(_In_ DWORD dwFlags,
__in_ecount(cchASCIIChar) LPCWSTR lpASCIICharStr, _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr,
__in int cchASCIIChar, _In_ int cchASCIIChar,
__out_ecount_opt(cchUnicodeChar) LPWSTR lpUnicodeCharStr, _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr,
__in int cchUnicodeChar); _In_ int cchUnicodeChar);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI VerifyScripts( WINAPI VerifyScripts(
__in DWORD dwFlags, // optional behavior flags _In_ DWORD dwFlags, // optional behavior flags
__in LPCWSTR lpLocaleScripts, // Locale list of scripts string _In_ LPCWSTR lpLocaleScripts, // Locale list of scripts string
__in int cchLocaleScripts, // size of locale script list string _In_ int cchLocaleScripts, // size of locale script list string
__in LPCWSTR lpTestScripts, // test scripts string _In_ LPCWSTR lpTestScripts, // test scripts string
__in int cchTestScripts); // size of test list string _In_ int cchTestScripts); // size of test list string
WINBASEAPI WINBASEAPI
int int
WINAPI GetStringScripts( WINAPI GetStringScripts(
__in DWORD dwFlags, // optional behavio _In_ DWORD dwFlags, // optional behavio
r flags r flags
__in LPCWSTR lpString, // Unicode characte _In_ LPCWSTR lpString, // Unicode characte
r input string r input string
__in int cchString, // size of input st _In_ int cchString, // size of input st
ring ring
__out_ecount_opt(cchScripts) LPWSTR lpScripts, // Script list outp _Out_writes_opt_(cchScripts) LPWSTR lpScripts, // Script list outp
ut string ut string
__in int cchScripts); // size of output s _In_ int cchScripts); // size of output s
tring tring
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// String based NLS APIs // String based NLS APIs
// //
#define LOCALE_NAME_USER_DEFAULT NULL #define LOCALE_NAME_USER_DEFAULT NULL
#define LOCALE_NAME_INVARIANT L"" #define LOCALE_NAME_INVARIANT L""
#define LOCALE_NAME_SYSTEM_DEFAULT L"!x-sys-default-locale" #define LOCALE_NAME_SYSTEM_DEFAULT L"!x-sys-default-locale"
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetLocaleInfoEx( GetLocaleInfoEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in LCTYPE LCType, _In_ LCTYPE LCType,
__out_ecount_opt(cchData) LPWSTR lpLCData, _Out_writes_opt_(cchData) LPWSTR lpLCData,
__in int cchData _In_ int cchData
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCalendarInfoEx( GetCalendarInfoEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in CALID Calendar, _In_ CALID Calendar,
__in_opt LPCWSTR lpReserved, _In_opt_ LPCWSTR lpReserved,
__in CALTYPE CalType, _In_ CALTYPE CalType,
__out_ecount_opt(cchData) LPWSTR lpCalData, _Out_writes_opt_(cchData) LPWSTR lpCalData,
__in int cchData, _In_ int cchData,
__out_opt LPDWORD lpValue _Out_opt_ LPDWORD lpValue
);
WINBASEAPI
int
WINAPI
GetTimeFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpTime,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchTime) LPWSTR lpTimeStr,
__in int cchTime
);
WINBASEAPI
int
WINAPI
GetDateFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDate,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchDate) LPWSTR lpDateStr,
__in int cchDate,
__in_opt LPCWSTR lpCalendar
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetDurationFormatEx( GetDurationFormatEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDuration, _In_opt_ CONST SYSTEMTIME *lpDuration,
__in ULONGLONG ullDuration, _In_ ULONGLONG ullDuration,
__in_opt LPCWSTR lpFormat, _In_opt_ LPCWSTR lpFormat,
__out_ecount_opt(cchDuration) LPWSTR lpDurationStr, _Out_writes_opt_(cchDuration) LPWSTR lpDurationStr,
__in int cchDuration _In_ int cchDuration
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetNumberFormatEx( GetNumberFormatEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPCWSTR lpValue, _In_ LPCWSTR lpValue,
__in_opt CONST NUMBERFMTW *lpFormat, _In_opt_ CONST NUMBERFMTW *lpFormat,
__out_ecount_opt(cchNumber) LPWSTR lpNumberStr, _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr,
__in int cchNumber _In_ int cchNumber
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCurrencyFormatEx( GetCurrencyFormatEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPCWSTR lpValue, _In_ LPCWSTR lpValue,
__in_opt CONST CURRENCYFMTW *lpFormat, _In_opt_ CONST CURRENCYFMTW *lpFormat,
__out_ecount_opt(cchCurrency) LPWSTR lpCurrencyStr, _Out_writes_opt_(cchCurrency) LPWSTR lpCurrencyStr,
__in int cchCurrency _In_ int cchCurrency
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetUserDefaultLocaleName( GetUserDefaultLocaleName(
__out_ecount(cchLocaleName) LPWSTR lpLocaleName, _Out_writes_(cchLocaleName) LPWSTR lpLocaleName,
__in int cchLocaleName _In_ int cchLocaleName
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetSystemDefaultLocaleName( GetSystemDefaultLocaleName(
__out_ecount(cchLocaleName) LPWSTR lpLocaleName, _Out_writes_(cchLocaleName) LPWSTR lpLocaleName,
__in int cchLocaleName _In_ int cchLocaleName
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNLSVersionEx( GetNLSVersionEx(
__in NLS_FUNCTION function, _In_ NLS_FUNCTION function,
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__inout LPNLSVERSIONINFOEX lpVersionInformation _Inout_ LPNLSVERSIONINFOEX lpVersionInformation
); );
#if (WINVER >= _WIN32_WINNT_WIN8)
WINBASEAPI WINBASEAPI
int DWORD
WINAPI WINAPI
CompareStringEx( IsValidNLSVersion(
__in_opt LPCWSTR lpLocaleName, _In_ NLS_FUNCTION function,
__in DWORD dwCmpFlags, _In_opt_ LPCWSTR lpLocaleName,
__in_ecount(cchCount1) LPCWSTR lpString1, _In_ LPNLSVERSIONINFOEX lpVersionInformation
__in int cchCount1,
__in_ecount(cchCount2) LPCWSTR lpString2,
__in int cchCount2,
__in_opt LPNLSVERSIONINFO lpVersionInformation,
__in_opt LPVOID lpReserved,
__in_opt LPARAM lParam
); );
#endif
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FindNLSStringEx( FindNLSStringEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwFindNLSStringFlags, _In_ DWORD dwFindNLSStringFlags,
__in_ecount(cchSource) LPCWSTR lpStringSource, _In_reads_(cchSource) LPCWSTR lpStringSource,
__in int cchSource, _In_ int cchSource,
__in_ecount(cchValue) LPCWSTR lpStringValue, _In_reads_(cchValue) LPCWSTR lpStringValue,
__in int cchValue, _In_ int cchValue,
__out_opt LPINT pcchFound, _Out_opt_ LPINT pcchFound,
__in_opt LPNLSVERSIONINFO lpVersionInformation, _In_opt_ LPNLSVERSIONINFO lpVersionInformation,
__in_opt LPVOID lpReserved, _In_opt_ LPVOID lpReserved,
__in_opt LPARAM lParam _In_opt_ LPARAM sortHandle
); );
#if (WINVER >= _WIN32_WINNT_WIN8)
_When_((dwMapFlags & (LCMAP_SORTKEY | LCMAP_BYTEREV | LCMAP_HASH | LCMAP_SORTHAN
DLE)) != 0, _At_((LPBYTE) lpDestStr, _Out_writes_bytes_opt_(cchDest)))
#else
_When_((dwMapFlags & (LCMAP_SORTKEY | LCMAP_BYTEREV)) != 0, _At_((LPBYTE) lpDest
Str, _Out_writes_bytes_opt_(cchDest)))
#endif
_When_(cchSrc != -1, _At_((WCHAR *) lpSrcStr, _Out_writes_opt_(cchSrc)))
_When_(cchDest != -1, _At_((WCHAR *) lpDestStr, _Out_writes_opt_(cchDest)))
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
LCMapStringEx( LCMapStringEx(
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwMapFlags, _In_ DWORD dwMapFlags,
__in_ecount(cchSrc) LPCWSTR lpSrcStr, _In_reads_(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc, _In_ int cchSrc,
__out_xcount_opt(cchDest) LPWSTR lpDestStr, _Out_writes_opt_(cchDest) LPWSTR lpDestStr,
__in int cchDest, _In_ int cchDest,
__in_opt LPNLSVERSIONINFO lpVersionInformation, _In_opt_ LPNLSVERSIONINFO lpVersionInformation,
__in_opt LPVOID lpReserved, _In_opt_ LPVOID lpReserved,
__in_opt LPARAM lParam _In_opt_ LPARAM sortHandle
);
WINBASEAPI
int
WINAPI
CompareStringOrdinal(
__in LPCWSTR lpString1,
__in int cchCount1,
__in LPCWSTR lpString2,
__in int cchCount2,
__in BOOL bIgnoreCase
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidLocaleName( IsValidLocaleName(
__in LPCWSTR lpLocaleName _In_ LPCWSTR lpLocaleName
); );
typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM); typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumCalendarInfoExEx( EnumCalendarInfoExEx(
__in CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx, _In_ CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx,
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in CALID Calendar, _In_ CALID Calendar,
__in_opt LPCWSTR lpReserved, _In_opt_ LPCWSTR lpReserved,
__in CALTYPE CalType, _In_ CALTYPE CalType,
__in LPARAM lParam _In_ LPARAM lParam
); );
typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM); typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumDateFormatsExEx( EnumDateFormatsExEx(
__in DATEFMT_ENUMPROCEXEX lpDateFmtEnumProcExEx, _In_ DATEFMT_ENUMPROCEXEX lpDateFmtEnumProcExEx,
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPARAM lParam _In_ LPARAM lParam
); );
typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM); typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumTimeFormatsEx( EnumTimeFormatsEx(
__in TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx, _In_ TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx,
__in_opt LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPARAM lParam _In_ LPARAM lParam
); );
typedef BOOL (CALLBACK* LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM); typedef BOOL (CALLBACK* LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemLocalesEx( EnumSystemLocalesEx(
__in LOCALE_ENUMPROCEX lpLocaleEnumProcEx, _In_ LOCALE_ENUMPROCEX lpLocaleEnumProcEx,
__in DWORD dwFlags, _In_ DWORD dwFlags,
__in LPARAM lParam, _In_ LPARAM lParam,
__in_opt LPVOID lpReserved _In_opt_ LPVOID lpReserved
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
ResolveLocaleName( ResolveLocaleName(
__in_opt LPCWSTR lpNameToResolve, _In_opt_ LPCWSTR lpNameToResolve,
__out_ecount_opt(cchLocaleName) LPWSTR lpLocaleName, _Out_writes_opt_(cchLocaleName) LPWSTR lpLocaleName,
__in int cchLocaleName _In_ int cchLocaleName
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // NONLS #endif // NONLS
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // _WINNLS_ #endif // _WINNLS_
 End of changes. 156 change blocks. 
635 lines changed or deleted 626 lines changed or added

This html diff was produced by rfcdiff 1.41.