10 #pragma warning(disable:4820) 13 #define GEOID_NOT_AVAILABLE (-1) 14 #define MAX_LEADBYTES 12 15 #define MAX_DEFAULTCHAR 2 17 #define LOCALE_ALL 0x00 19 #define LOCALE_NOUSEROVERRIDE 0x80000000 20 #define LOCALE_USE_CP_ACP 0x40000000 21 #if (WINVER >= 0x0400) 22 #define LOCALE_RETURN_NUMBER 0x20000000 24 #define LOCALE_RETURN_GENITIVE_NAMES 0x10000000 25 #define LOCALE_ILANGUAGE 1 26 #define LOCALE_SLANGUAGE 2 27 #define LOCALE_SENGLANGUAGE 0x1001 28 #define LOCALE_SABBREVLANGNAME 3 29 #define LOCALE_SNATIVELANGNAME 4 30 #define LOCALE_ICOUNTRY 5 31 #define LOCALE_SCOUNTRY 6 32 #define LOCALE_SENGCOUNTRY 0x1002 33 #define LOCALE_SABBREVCTRYNAME 7 34 #define LOCALE_SNATIVECTRYNAME 8 35 #define LOCALE_IDEFAULTLANGUAGE 9 36 #define LOCALE_IDEFAULTCOUNTRY 10 37 #define LOCALE_IDEFAULTCODEPAGE 11 38 #define LOCALE_IDEFAULTANSICODEPAGE 0x1004 39 #define LOCALE_IDEFAULTMACCODEPAGE 0x1011 40 #define LOCALE_SLIST 12 41 #define LOCALE_IMEASURE 13 42 #define LOCALE_SDECIMAL 14 43 #define LOCALE_STHOUSAND 15 44 #define LOCALE_SGROUPING 16 45 #define LOCALE_IDIGITS 17 46 #define LOCALE_ILZERO 18 47 #define LOCALE_INEGNUMBER 0x1010 48 #define LOCALE_SNATIVEDIGITS 19 49 #define LOCALE_SCURRENCY 20 50 #define LOCALE_SINTLSYMBOL 21 51 #define LOCALE_SMONDECIMALSEP 22 52 #define LOCALE_SMONTHOUSANDSEP 23 53 #define LOCALE_SMONGROUPING 24 54 #define LOCALE_ICURRDIGITS 25 55 #define LOCALE_IINTLCURRDIGITS 26 56 #define LOCALE_ICURRENCY 27 57 #define LOCALE_INEGCURR 28 58 #define LOCALE_SDATE 29 59 #define LOCALE_STIME 30 60 #define LOCALE_SSHORTDATE 31 61 #define LOCALE_SLONGDATE 32 62 #define LOCALE_STIMEFORMAT 0x1003 63 #define LOCALE_IDATE 33 64 #define LOCALE_ILDATE 34 65 #define LOCALE_ITIME 35 66 #define LOCALE_ITIMEMARKPOSN 0x1005 67 #define LOCALE_ICENTURY 36 68 #define LOCALE_ITLZERO 37 69 #define LOCALE_IDAYLZERO 38 70 #define LOCALE_IMONLZERO 39 71 #define LOCALE_S1159 40 72 #define LOCALE_S2359 41 73 #define LOCALE_ICALENDARTYPE 0x1009 74 #define LOCALE_IOPTIONALCALENDAR 0x100B 75 #define LOCALE_IFIRSTDAYOFWEEK 0x100C 76 #define LOCALE_IFIRSTWEEKOFYEAR 0x100D 77 #define LOCALE_SDAYNAME1 42 78 #define LOCALE_SDAYNAME2 43 79 #define LOCALE_SDAYNAME3 44 80 #define LOCALE_SDAYNAME4 45 81 #define LOCALE_SDAYNAME5 46 82 #define LOCALE_SDAYNAME6 47 83 #define LOCALE_SDAYNAME7 48 84 #define LOCALE_SABBREVDAYNAME1 49 85 #define LOCALE_SABBREVDAYNAME2 50 86 #define LOCALE_SABBREVDAYNAME3 51 87 #define LOCALE_SABBREVDAYNAME4 52 88 #define LOCALE_SABBREVDAYNAME5 53 89 #define LOCALE_SABBREVDAYNAME6 54 90 #define LOCALE_SABBREVDAYNAME7 55 91 #define LOCALE_SMONTHNAME1 56 92 #define LOCALE_SMONTHNAME2 57 93 #define LOCALE_SMONTHNAME3 58 94 #define LOCALE_SMONTHNAME4 59 95 #define LOCALE_SMONTHNAME5 60 96 #define LOCALE_SMONTHNAME6 61 97 #define LOCALE_SMONTHNAME7 62 98 #define LOCALE_SMONTHNAME8 63 99 #define LOCALE_SMONTHNAME9 64 100 #define LOCALE_SMONTHNAME10 65 101 #define LOCALE_SMONTHNAME11 66 102 #define LOCALE_SMONTHNAME12 67 103 #define LOCALE_SMONTHNAME13 0x100E 104 #define LOCALE_SABBREVMONTHNAME1 68 105 #define LOCALE_SABBREVMONTHNAME2 69 106 #define LOCALE_SABBREVMONTHNAME3 70 107 #define LOCALE_SABBREVMONTHNAME4 71 108 #define LOCALE_SABBREVMONTHNAME5 72 109 #define LOCALE_SABBREVMONTHNAME6 73 110 #define LOCALE_SABBREVMONTHNAME7 74 111 #define LOCALE_SABBREVMONTHNAME8 75 112 #define LOCALE_SABBREVMONTHNAME9 76 113 #define LOCALE_SABBREVMONTHNAME10 77 114 #define LOCALE_SABBREVMONTHNAME11 78 115 #define LOCALE_SABBREVMONTHNAME12 79 116 #define LOCALE_SABBREVMONTHNAME13 0x100F 117 #define LOCALE_SPOSITIVESIGN 80 118 #define LOCALE_SNEGATIVESIGN 81 119 #define LOCALE_IPOSSIGNPOSN 82 120 #define LOCALE_INEGSIGNPOSN 83 121 #define LOCALE_IPOSSYMPRECEDES 84 122 #define LOCALE_IPOSSEPBYSPACE 85 123 #define LOCALE_INEGSYMPRECEDES 86 124 #define LOCALE_INEGSEPBYSPACE 87 125 #define LOCALE_FONTSIGNATURE 88 126 #define LOCALE_SISO639LANGNAME 89 127 #define LOCALE_SISO3166CTRYNAME 90 130 #define LOCALE_SNAME 92 132 #if (WINVER >= 0x0600) || (defined(__REACTOS__) && defined(_KERNEL32_)) 133 #define LOCALE_IGEOID 91 134 #define LOCALE_SNAME 92 135 #define LOCALE_SDURATION 93 136 #define LOCALE_SKEYBOARDSTOINSTALL 94 137 #define LOCALE_SSHORTESTDAYNAME1 96 138 #define LOCALE_SSHORTESTDAYNAME2 97 139 #define LOCALE_SSHORTESTDAYNAME3 98 140 #define LOCALE_SSHORTESTDAYNAME4 99 141 #define LOCALE_SSHORTESTDAYNAME5 100 142 #define LOCALE_SSHORTESTDAYNAME6 101 143 #define LOCALE_SSHORTESTDAYNAME7 102 144 #define LOCALE_SISO639LANGNAME2 103 145 #define LOCALE_SISO3166CTRYNAME2 104 146 #define LOCALE_SNAN 105 147 #define LOCALE_SPOSINFINITY 106 148 #define LOCALE_SNEGINFINITY 107 149 #define LOCALE_SSCRIPTS 108 150 #define LOCALE_SPARENT 109 151 #define LOCALE_SCONSOLEFALLBACKNAME 110 155 #define LOCALE_IREADINGLAYOUT 0x0070 156 #define LOCALE_INEUTRAL 0x0071 157 #define LOCALE_SNATIVEDISPLAYNAME 0x0073 158 #define LOCALE_INEGATIVEPERCENT 0x0074 159 #define LOCALE_IPOSITIVEPERCENT 0x0075 160 #define LOCALE_SPERCENT 0x0076 161 #define LOCALE_SPERMILLE 0x0077 162 #define LOCALE_SMONTHDAY 0x0078 163 #define LOCALE_SSHORTTIME 0x0079 164 #define LOCALE_SOPENTYPELANGUAGETAG 0x007a 165 #define LOCALE_SSORTLOCALE 0x007b 168 #if (WINVER >= 0x0600) 169 #define LOCALE_NAME_USER_DEFAULT NULL 170 #define LOCALE_NAME_INVARIANT L"" 171 #define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale" 174 #define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 176 #define NORM_IGNORECASE 1 177 #define NORM_IGNOREKANATYPE 65536 178 #define NORM_IGNORENONSPACE 2 179 #define NORM_IGNORESYMBOLS 4 180 #define NORM_IGNOREWIDTH 131072 181 #define LINGUISTIC_IGNORECASE 0x00000010 182 #define NORM_LINGUISTIC_CASING 0x08000000 183 #define SORT_STRINGSORT 4096 184 #define LCMAP_LOWERCASE 0x00000100 185 #define LCMAP_UPPERCASE 0x00000200 186 #define LCMAP_SORTKEY 0x00000400 187 #define LCMAP_BYTEREV 0x00000800 188 #define LCMAP_HIRAGANA 0x00100000 189 #define LCMAP_KATAKANA 0x00200000 190 #define LCMAP_HALFWIDTH 0x00400000 191 #define LCMAP_FULLWIDTH 0x00800000 192 #define LCMAP_LINGUISTIC_CASING 0x01000000 193 #define LCMAP_SIMPLIFIED_CHINESE 0x02000000 194 #define LCMAP_TRADITIONAL_CHINESE 0x04000000 195 #define ENUM_ALL_CALENDARS (-1) 196 #define DATE_SHORTDATE 1 197 #define DATE_LONGDATE 2 198 #define DATE_USE_ALT_CALENDAR 4 199 #define CP_INSTALLED 1 200 #define CP_SUPPORTED 2 201 #define LCID_INSTALLED 1 202 #define LCID_SUPPORTED 2 203 #define LCID_ALTERNATE_SORTS 4 205 #define LOCALE_ALL 0x00 206 #define LOCALE_WINDOWS 0x01 207 #define LOCALE_SUPPLEMENTAL 0x02 208 #define LOCALE_ALTERNATE_SORTS 0x04 209 #define LOCALE_REPLACEMENT 0x08 210 #define LOCALE_NEUTRALDATA 0x10 211 #define LOCALE_SPECIFICDATA 0x20 213 #define MAP_FOLDCZONE 16 214 #define MAP_FOLDDIGITS 128 215 #define MAP_PRECOMPOSED 32 216 #define MAP_COMPOSITE 64 218 #define WC_DISCARDNS 0x0010 219 #define WC_SEPCHARS 0x0020 220 #define WC_DEFAULTCHAR 0x0040 221 #define WC_ERR_INVALID_CHARS 0x0080 222 #define WC_COMPOSITECHECK 0x0200 223 #if (WINVER >= 0x0500) 224 #define WC_NO_BEST_FIT_CHARS 0x0400 229 #define CP_UNIXCP CP_ACP 233 #define CP_THREAD_ACP 3 235 #define CP_UTF7 65000 236 #define CP_UTF8 65001 247 #define C1_XDIGIT 128 249 #define C1_DEFINED 512 250 #define C2_LEFTTORIGHT 1 251 #define C2_RIGHTTOLEFT 2 252 #define C2_EUROPENUMBER 3 253 #define C2_EUROPESEPARATOR 4 254 #define C2_EUROPETERMINATOR 5 255 #define C2_ARABICNUMBER 6 256 #define C2_COMMONSEPARATOR 7 257 #define C2_BLOCKSEPARATOR 8 258 #define C2_SEGMENTSEPARATOR 9 259 #define C2_WHITESPACE 10 260 #define C2_OTHERNEUTRAL 11 261 #define C2_NOTAPPLICABLE 0 262 #define C3_NONSPACING 1 263 #define C3_DIACRITIC 2 264 #define C3_VOWELMARK 4 266 #define C3_KATAKANA 16 267 #define C3_HIRAGANA 32 268 #define C3_HALFWIDTH 64 269 #define C3_FULLWIDTH 128 270 #define C3_IDEOGRAPH 256 271 #define C3_KASHIDA 512 272 #define C3_LEXICAL 1024 273 #define C3_ALPHA 32768 274 #define C3_NOTAPPLICABLE 0 275 #define C3_HIGHSURROGATE 0x0800 276 #define C3_LOWSURROGATE 0x1000 277 #define TIME_NOMINUTESORSECONDS 1 278 #define TIME_NOSECONDS 2 279 #define TIME_NOTIMEMARKER 4 280 #define TIME_FORCE24HOURFORMAT 8 281 #define MB_PRECOMPOSED 1 282 #define MB_COMPOSITE 2 283 #define MB_ERR_INVALID_CHARS 8 284 #define MB_USEGLYPHCHARS 4 285 #define CTRY_DEFAULT 0 286 #define CTRY_ALBANIA 355 287 #define CTRY_ALGERIA 213 288 #define CTRY_ARGENTINA 54 289 #define CTRY_ARMENIA 374 290 #define CTRY_AUSTRALIA 61 291 #define CTRY_AUSTRIA 43 292 #define CTRY_AZERBAIJAN 994 293 #define CTRY_BAHRAIN 973 294 #define CTRY_BELARUS 375 295 #define CTRY_BELGIUM 32 296 #define CTRY_BELIZE 501 297 #define CTRY_BOLIVIA 591 298 #define CTRY_BRAZIL 55 299 #define CTRY_BRUNEI_DARUSSALAM 673 300 #define CTRY_BULGARIA 359 301 #define CTRY_CANADA 2 302 #define CTRY_CARIBBEAN 1 303 #define CTRY_CHILE 56 304 #define CTRY_COLOMBIA 57 305 #define CTRY_COSTA_RICA 506 306 #define CTRY_CROATIA 385 307 #define CTRY_CZECH 420 308 #define CTRY_DENMARK 45 309 #define CTRY_DOMINICAN_REPUBLIC 1 310 #define CTRY_ECUADOR 593 311 #define CTRY_EGYPT 20 312 #define CTRY_EL_SALVADOR 503 313 #define CTRY_ESTONIA 372 314 #define CTRY_FAEROE_ISLANDS 298 315 #define CTRY_FINLAND 358 316 #define CTRY_FRANCE 33 317 #define CTRY_GEORGIA 995 318 #define CTRY_GERMANY 49 319 #define CTRY_GREECE 30 320 #define CTRY_GUATEMALA 502 321 #define CTRY_HONDURAS 504 322 #define CTRY_HONG_KONG 852 323 #define CTRY_HUNGARY 36 324 #define CTRY_ICELAND 354 325 #define CTRY_INDIA 91 326 #define CTRY_INDONESIA 62 327 #define CTRY_IRAN 981 328 #define CTRY_IRAQ 964 329 #define CTRY_IRELAND 353 330 #define CTRY_ISRAEL 972 331 #define CTRY_ITALY 39 332 #define CTRY_JAMAICA 1 333 #define CTRY_JAPAN 81 334 #define CTRY_JORDAN 962 335 #define CTRY_KAZAKSTAN 7 336 #define CTRY_KENYA 254 337 #define CTRY_KUWAIT 965 338 #define CTRY_KYRGYZSTAN 996 339 #define CTRY_LATVIA 371 340 #define CTRY_LEBANON 961 341 #define CTRY_LIBYA 218 342 #define CTRY_LIECHTENSTEIN 41 343 #define CTRY_LITHUANIA 370 344 #define CTRY_LUXEMBOURG 352 345 #define CTRY_MACAU 853 346 #define CTRY_MACEDONIA 389 347 #define CTRY_MALAYSIA 60 348 #define CTRY_MALDIVES 960 349 #define CTRY_MEXICO 52 350 #define CTRY_MONACO 33 351 #define CTRY_MONGOLIA 976 352 #define CTRY_MOROCCO 212 353 #define CTRY_NETHERLANDS 31 354 #define CTRY_NEW_ZEALAND 64 355 #define CTRY_NICARAGUA 505 356 #define CTRY_NORWAY 47 357 #define CTRY_OMAN 968 358 #define CTRY_PAKISTAN 92 359 #define CTRY_PANAMA 507 360 #define CTRY_PARAGUAY 595 362 #define CTRY_PHILIPPINES 63 363 #define CTRY_POLAND 48 364 #define CTRY_PORTUGAL 351 365 #define CTRY_PRCHINA 86 366 #define CTRY_PUERTO_RICO 1 367 #define CTRY_QATAR 974 368 #define CTRY_ROMANIA 40 369 #define CTRY_RUSSIA 7 370 #define CTRY_SAUDI_ARABIA 966 371 #define CTRY_SERBIA 381 372 #define CTRY_SINGAPORE 65 373 #define CTRY_SLOVAK 421 374 #define CTRY_SLOVENIA 386 375 #define CTRY_SOUTH_AFRICA 27 376 #define CTRY_SOUTH_KOREA 82 377 #define CTRY_SPAIN 34 378 #define CTRY_SWEDEN 46 379 #define CTRY_SWITZERLAND 41 380 #define CTRY_SYRIA 963 381 #define CTRY_TAIWAN 886 382 #define CTRY_TATARSTAN 7 383 #define CTRY_THAILAND 66 384 #define CTRY_TRINIDAD_Y_TOBAGO 1 385 #define CTRY_TUNISIA 216 386 #define CTRY_TURKEY 90 388 #define CTRY_UKRAINE 380 389 #define CTRY_UNITED_KINGDOM 44 390 #define CTRY_UNITED_STATES 1 391 #define CTRY_URUGUAY 598 392 #define CTRY_UZBEKISTAN 7 393 #define CTRY_VENEZUELA 58 394 #define CTRY_VIET_NAM 84 395 #define CTRY_YEMEN 967 396 #define CTRY_ZIMBABWE 263 397 #define CAL_ICALINTVALUE 1 398 #define CAL_SCALNAME 2 399 #define CAL_IYEAROFFSETRANGE 3 400 #define CAL_SERASTRING 4 401 #define CAL_SSHORTDATE 5 402 #define CAL_SLONGDATE 6 403 #define CAL_SDAYNAME1 7 404 #define CAL_SDAYNAME2 8 405 #define CAL_SDAYNAME3 9 406 #define CAL_SDAYNAME4 10 407 #define CAL_SDAYNAME5 11 408 #define CAL_SDAYNAME6 12 409 #define CAL_SDAYNAME7 13 410 #define CAL_SABBREVDAYNAME1 14 411 #define CAL_SABBREVDAYNAME2 15 412 #define CAL_SABBREVDAYNAME3 16 413 #define CAL_SABBREVDAYNAME4 17 414 #define CAL_SABBREVDAYNAME5 18 415 #define CAL_SABBREVDAYNAME6 19 416 #define CAL_SABBREVDAYNAME7 20 417 #define CAL_SMONTHNAME1 21 418 #define CAL_SMONTHNAME2 22 419 #define CAL_SMONTHNAME3 23 420 #define CAL_SMONTHNAME4 24 421 #define CAL_SMONTHNAME5 25 422 #define CAL_SMONTHNAME6 26 423 #define CAL_SMONTHNAME7 27 424 #define CAL_SMONTHNAME8 28 425 #define CAL_SMONTHNAME9 29 426 #define CAL_SMONTHNAME10 30 427 #define CAL_SMONTHNAME11 31 428 #define CAL_SMONTHNAME12 32 429 #define CAL_SMONTHNAME13 33 430 #define CAL_SABBREVMONTHNAME1 34 431 #define CAL_SABBREVMONTHNAME2 35 432 #define CAL_SABBREVMONTHNAME3 36 433 #define CAL_SABBREVMONTHNAME4 37 434 #define CAL_SABBREVMONTHNAME5 38 435 #define CAL_SABBREVMONTHNAME6 39 436 #define CAL_SABBREVMONTHNAME7 40 437 #define CAL_SABBREVMONTHNAME8 41 438 #define CAL_SABBREVMONTHNAME9 42 439 #define CAL_SABBREVMONTHNAME10 43 440 #define CAL_SABBREVMONTHNAME11 44 441 #define CAL_SABBREVMONTHNAME12 45 442 #define CAL_SABBREVMONTHNAME13 46 443 #define CAL_GREGORIAN 1 444 #define CAL_GREGORIAN_US 2 451 #define CAL_GREGORIAN_ME_FRENCH 9 452 #define CAL_GREGORIAN_ARABIC 10 453 #define CAL_GREGORIAN_XLIT_ENGLISH 11 454 #define CAL_GREGORIAN_XLIT_FRENCH 12 455 #define CSTR_LESS_THAN 1 457 #define CSTR_GREATER_THAN 3 458 #define LGRPID_INSTALLED 1 459 #define LGRPID_SUPPORTED 2 460 #define LGRPID_WESTERN_EUROPE 1 461 #define LGRPID_CENTRAL_EUROPE 2 462 #define LGRPID_BALTIC 3 463 #define LGRPID_GREEK 4 464 #define LGRPID_CYRILLIC 5 465 #define LGRPID_TURKISH 6 466 #define LGRPID_JAPANESE 7 467 #define LGRPID_KOREAN 8 468 #define LGRPID_TRADITIONAL_CHINESE 9 469 #define LGRPID_SIMPLIFIED_CHINESE 10 470 #define LGRPID_THAI 11 471 #define LGRPID_HEBREW 12 472 #define LGRPID_ARABIC 13 473 #define LGRPID_VIETNAMESE 14 474 #define LGRPID_INDIC 15 475 #define LGRPID_GEORGIAN 16 476 #define LGRPID_ARMENIAN 17 478 #if (WINVER >= 0x0500) 479 #define LOCALE_SYEARMONTH 0x1006 480 #define LOCALE_SENGCURRNAME 0x1007 481 #define LOCALE_SNATIVECURRNAME 0x1008 482 #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012 483 #define LOCALE_SSORTNAME 0x1013 484 #define LOCALE_IDIGITSUBSTITUTION 0x1014 485 #define LOCALE_IPAPERSIZE 0x100A 486 #define DATE_YEARMONTH 8 487 #define DATE_LTRREADING 16 488 #define DATE_RTLREADING 32 489 #define MAP_EXPAND_LIGATURES 0x2000 490 #define CAL_SYEARMONTH 47 491 #define CAL_ITWODIGITYEARMAX 48 492 #define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE 493 #define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER 494 #define CAL_USE_CP_ACP LOCALE_USE_CP_ACP 497 #define IDN_ALLOW_UNASSIGNED 0x1 498 #define IDN_USE_STD3_ASCII_RULES 0x2 499 #define VS_ALLOW_LATIN 0x1 500 #define GSS_ALLOW_INHERITED_COMMON 0x1 506 #if (WINVER >= 0x0600) 507 #define MUI_FULL_LANGUAGE 0x01 508 #define MUI_LANGUAGE_ID 0x04 509 #define MUI_LANGUAGE_NAME 0x08 510 #define MUI_MERGE_SYSTEM_FALLBACK 0x10 511 #define MUI_MERGE_USER_FALLBACK 0x20 512 #define MUI_UI_FALLBACK MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK 513 #define MUI_MACHINE_LANGUAGE_SETTINGS 0x400 649 #if (WINVER >= 0x0600) 650 typedef enum _NORM_FORM {
651 NormalizationOther = 0,
652 NormalizationC = 0x1,
653 NormalizationD = 0x2,
654 NormalizationKC = 0x5,
655 NormalizationKD = 0x6
674 #define HIGH_SURROGATE_START 0xd800 675 #define HIGH_SURROGATE_END 0xdbff 676 #define LOW_SURROGATE_START 0xdc00 677 #define LOW_SURROGATE_END 0xdfff 679 #define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END) 680 #define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END) 681 #define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low)) 768 _In_ int cchCurrency);
778 _In_ int cchCurrency);
894 #if (WINVER >= 0x0600) 901 _In_ int cchUnicodeChar,
903 _In_ int cchASCIIChar);
910 _In_ int cchASCIIChar,
912 _In_ int cchUnicodeChar);
962 #if (WINVER >= 0x0500) 978 #if (WINVER >= 0x0600) 1013 GetProcessPreferredUILanguages(
1059 _In_ int cchUnicodeChar,
1061 _In_ int cchASCIIChar);
1068 _In_ int cchUnicodeChar,
1070 _In_ int cchNameprepChar);
1077 _In_ int cchASCIIChar,
1079 _In_ int cchUnicodeChar);
1084 _In_ NORM_FORM NormForm,
1091 _In_ NORM_FORM NormForm,
1093 _In_ int cwSrcLength,
1095 _In_ int cwDstLength);
1104 _In_ int cchScripts);
1115 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW 1116 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW 1117 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW 1118 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW 1119 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW 1120 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW 1121 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW 1122 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW 1123 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW 1124 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW 1131 #define CompareString CompareStringW 1132 #define EnumCalendarInfo EnumCalendarInfoW 1133 #define EnumDateFormats EnumDateFormatsW 1134 #define EnumSystemCodePages EnumSystemCodePagesW 1135 #define EnumSystemLocales EnumSystemLocalesW 1136 #define EnumTimeFormats EnumTimeFormatsW 1137 #define FoldString FoldStringW 1138 #define GetCalendarInfo GetCalendarInfoW 1139 #define GetCPInfoEx GetCPInfoExW 1140 #define GetCurrencyFormat GetCurrencyFormatW 1141 #define GetDateFormat GetDateFormatW 1142 #define GetGeoInfo GetGeoInfoW 1143 #define GetLocaleInfo GetLocaleInfoW 1144 #define GetNumberFormat GetNumberFormatW 1145 #define GetStringTypeEx GetStringTypeExW 1146 #define GetTimeFormat GetTimeFormatW 1147 #define LCMapString LCMapStringW 1148 #define SetCalendarInfo SetCalendarInfoW 1149 #define SetLocaleInfo SetLocaleInfoW 1150 #if (WINVER >= 0x0500) 1151 #define EnumCalendarInfoEx EnumCalendarInfoExW 1152 #define EnumDateFormatsEx EnumDateFormatsExW 1153 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW 1154 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW 1155 #define EnumUILanguages EnumUILanguagesW 1158 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA 1159 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA 1160 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA 1161 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA 1162 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA 1163 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA 1164 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA 1165 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA 1166 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA 1167 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA 1174 #define CompareString CompareStringA 1175 #define EnumCalendarInfo EnumCalendarInfoA 1176 #define EnumDateFormats EnumDateFormatsA 1177 #define EnumSystemCodePages EnumSystemCodePagesA 1178 #define EnumSystemLocales EnumSystemLocalesA 1179 #define EnumTimeFormats EnumTimeFormatsA 1180 #define FoldString FoldStringA 1181 #define GetCalendarInfo GetCalendarInfoA 1182 #define GetCPInfoEx GetCPInfoExA 1183 #define GetCurrencyFormat GetCurrencyFormatA 1184 #define GetDateFormat GetDateFormatA 1185 #define GetGeoInfo GetGeoInfoA 1186 #define GetLocaleInfo GetLocaleInfoA 1187 #define GetNumberFormat GetNumberFormatA 1188 #define GetStringTypeEx GetStringTypeExA 1189 #define GetTimeFormat GetTimeFormatA 1190 #define LCMapString LCMapStringA 1191 #define SetCalendarInfo SetCalendarInfoA 1192 #define SetLocaleInfo SetLocaleInfoA 1193 #if (WINVER >= 0x0500) 1194 #define EnumCalendarInfoEx EnumCalendarInfoExA 1195 #define EnumDateFormatsEx EnumDateFormatsExA 1196 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA 1197 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA 1198 #define EnumUILanguages EnumUILanguagesA 1204 #pragma warning(pop) BOOL WINAPI GetSystemPreferredUILanguages(DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer)
int WINAPI GetCurrencyFormatW(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCWSTR lpValue, _In_opt_ const CURRENCYFMTW *lpFormat, _Out_writes_opt_(cchCurrency) LPWSTR lpCurrencyStr, _In_ int cchCurrency)
BOOL(CALLBACK * CALINFO_ENUMPROCA)(LPSTR)
BOOL WINAPI GetStringTypeExA(_In_ LCID Locale, _In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_writes_(cchSrc) LPWORD lpCharType)
int WINAPI MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int)
struct _cpinfoexA CPINFOEXA
BOOL WINAPI GetUILanguageInfo(DWORD dwFlags, PCZZWSTR pwmszLanguage, PZZWSTR pwszFallbackLanguages, PDWORD pcchFallbackLanguages, PDWORD pdwAttributes)
LCID WINAPI GetUserDefaultLCID(void)
LANGID WINAPI GetUserDefaultUILanguage(void)
BOOL(CALLBACK * LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM)
struct _cpinfoexW CPINFOEXW
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
LCID WINAPI GetThreadLocale(void)
BOOL WINAPI SetUserDefaultUILanguage(LANGID)
DWORD dwTypeNameMainOffset
int WINAPI GetNumberFormatW(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCWSTR lpValue, _In_opt_ const NUMBERFMTW *lpFormat, _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr, _In_ int cchNumber)
LANGID WINAPI GetSystemDefaultUILanguage(void)
LANGID WINAPI GetUserDefaultLangID(void)
LANGID WINAPI SetThreadUILanguage(_In_ LANGID)
struct _nlsversioninfoex * LPNLSVERSIONINFOEX
BOOL WINAPI IsValidLocale(_In_ LCID, _In_ DWORD)
WCHAR CodePageName[MAX_PATH]
BOOL WINAPI GetNLSVersion(_In_ NLS_FUNCTION, _In_ LCID, _Inout_ LPNLSVERSIONINFO)
BOOL(CALLBACK * DATEFMT_ENUMPROCEXA)(LPSTR, CALID)
BOOL WINAPI GetStringTypeExW(_In_ LCID Locale, _In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_writes_(cchSrc) LPWORD lpCharType)
int WINAPI GetTimeFormatW(LCID, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int)
int WINAPI GetDateFormatEx(LPCWSTR, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int, LPCWSTR)
struct _numberfmtW NUMBERFMTW
BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA pUILangEnumProc, DWORD dwFlags, LONG_PTR lParam)
BOOL(CALLBACK * LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR)
BOOL WINAPI GetStringTypeA(_In_ LCID Locale, _In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_ LPWORD lpCharType)
int WINAPI GetNumberFormatA(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCSTR lpValue, _In_opt_ const NUMBERFMTA *lpFormat, _Out_writes_opt_(cchNumber) LPSTR lpNumberStr, _In_ int cchNumber)
int WINAPI GetLocaleInfoW(_In_ LCID Locale, _In_ LCTYPE LCType, _Out_writes_opt_(cchData) LPWSTR lpLCData, _In_ int cchData)
DWORD dwLanguageNameOffset
_NullNull_terminated_ CONST WCHAR * PCZZWSTR
_NullNull_terminated_ WCHAR * PZZWSTR
BOOL WINAPI IsValidLanguageGroup(LGRPID lgrpid, DWORD dwFlags)
BOOL(CALLBACK * LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR)
BOOL(CALLBACK * CODEPAGE_ENUMPROCW)(LPWSTR)
DWORD dwNLSVersionInfoSize
int WINAPI SetCalendarInfoA(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCSTR)
BOOL WINAPI GetStringTypeW(_In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_ LPWORD lpCharType)
int WINAPI GetTimeFormatEx(LPCWSTR, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int)
int WINAPI LCMapStringA(_In_ LCID Locale, _In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(_Inexpressible_(cchDest)) LPSTR lpDestStr, _In_ int cchDest)
_In_ HCRYPTHASH _In_ BOOL _In_ DWORD _Inout_updates_bytes_to_opt_(dwBufLen, *pdwDataLen) BYTE *pbData
BOOL WINAPI EnumSystemCodePagesA(_In_ CODEPAGE_ENUMPROCA, _In_ DWORD)
INT WINAPI LCMapStringEx(LPCWSTR name, DWORD flags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen, LPNLSVERSIONINFO version, LPVOID reserved, LPARAM lparam)
LCID WINAPI GetSystemDefaultLCID(void)
int WINAPI GetDateFormatW(LCID, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int)
DWORD dwTypeNameMUIOffset
int WINAPI GetGeoInfoA(_In_ GEOID Location, _In_ GEOTYPE GeoType, _Out_writes_opt_(cchData) LPSTR lpGeoData, _In_ int cchData, _In_ LANGID LangId)
BOOL WINAPI SetThreadLocale(_In_ LCID)
BOOL WINAPI SetUserDefaultLCID(LCID)
BYTE LeadByte[MAX_LEADBYTES]
BOOL(CALLBACK * UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR)
BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW pLangGrpEnumProc, DWORD dwFlags, LONG_PTR lParam)
LPCURRENCYFMTA LPCURRENCYFMT
UINT WINAPI GetOEMCP(void)
BYTE pServiceChecksum[16]
struct _nlsversioninfoex NLSVERSIONINFOEX
BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW pLangGrpLcEnumProc, LGRPID lgrpid, DWORD dwFlags, LONG_PTR lParam)
INT WINAPI IdnToUnicode(DWORD dwFlags, LPCWSTR lpASCIICharStr, INT cchASCIIChar, LPWSTR lpUnicodeCharStr, INT cchUnicodeChar)
struct _currencyfmtW * LPCURRENCYFMTW
BOOL WINAPI SetLocaleInfoW(_In_ LCID, _In_ LCTYPE, _In_ LPCWSTR)
BOOL(CALLBACK * DATEFMT_ENUMPROCEXW)(LPWSTR, CALID)
int WINAPI GetDateFormatA(LCID, DWORD, const SYSTEMTIME *, LPCSTR, LPSTR, int)
BOOL WINAPI GetNLSVersionEx(_In_ NLS_FUNCTION function, _In_ LPCWSTR lpLocaleName, _Inout_ LPNLSVERSIONINFOEX lpVersionInformation)
int WINAPI LCMapStringW(_In_ LCID Locale, _In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(_Inexpressible_(cchDest)) LPWSTR lpDestStr, _In_ int cchDest)
struct _cpinfoexW * LPCPINFOEXW
int WINAPI FoldStringA(_In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(cchDest) LPSTR lpDestStr, _In_ int cchDest)
BOOL(CALLBACK * LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR)
#define _Inout_updates_opt_(size)
BOOL(CALLBACK * CALINFO_ENUMPROCW)(LPWSTR)
struct _numberfmtA * LPNUMBERFMTA
BOOL(CALLBACK * LOCALE_ENUMPROCA)(LPSTR)
int WINAPI GetCalendarInfoW(_In_ LCID Locale, _In_ CALID Calendar, _In_ CALTYPE CalType, _Out_writes_opt_(cchData) LPWSTR lpCalData, _In_ int cchData, _Out_opt_ LPDWORD lpValue)
BOOL(CALLBACK * DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM)
int WINAPI WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL)
INT WINAPI NormalizeString(NORM_FORM NormForm, LPCWSTR lpSrcString, INT cwSrcLength, LPWSTR lpDstString, INT cwDstLength)
BOOL WINAPI GetCPInfoExW(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXW)
BOOL WINAPI IsValidCodePage(_In_ UINT)
struct nlsversioninfo NLSVERSIONINFO
struct _numberfmtA NUMBERFMTA
BOOL WINAPI IsDBCSLeadByte(_In_ BYTE)
struct _numberfmtW * LPNUMBERFMTW
BOOL(CALLBACK * TIMEFMT_ENUMPROCA)(LPSTR)
BYTE LeadByte[MAX_LEADBYTES]
struct _currencyfmtW CURRENCYFMTW
int WINAPI GetCurrencyFormatA(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCSTR lpValue, _In_opt_ const CURRENCYFMTA *lpFormat, _Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr, _In_ int cchCurrency)
int WINAPI GetTimeFormatA(LCID, DWORD, const SYSTEMTIME *, LPCSTR, LPSTR, int)
BOOL(CALLBACK * UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR)
BOOL WINAPI IsNLSDefinedString(_In_ NLS_FUNCTION Function, _In_ DWORD dwFlags, _In_ LPNLSVERSIONINFO lpVersionInformation, _In_reads_(cchStr) LPCWSTR lpString, _In_ int cchStr)
LANGID WINAPI GetThreadUILanguage(VOID)
BOOL(CALLBACK * CALINFO_ENUMPROCEXW)(LPWSTR, CALID)
struct nlsversioninfo * LPNLSVERSIONINFO
BOOL WINAPI EnumCalendarInfoW(_In_ CALINFO_ENUMPROCW, _In_ LCID, _In_ CALID, _In_ CALTYPE)
CHAR CodePageName[MAX_PATH]
BOOL WINAPI GetThreadPreferredUILanguages(DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer)
BYTE DefaultChar[MAX_DEFAULTCHAR]
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
GEOID WINAPI GetUserGeoID(_In_ GEOCLASS)
struct _FILEMUIINFO * PFILEMUIINFO
BOOL WINAPI EnumSystemGeoID(_In_ GEOCLASS, _In_ GEOID, _In_ GEO_ENUMPROC)
DWORD dwNLSVersionInfoSize
BOOL WINAPI SetLocaleInfoA(_In_ LCID, _In_ LCTYPE, _In_ LPCSTR)
BOOL(CALLBACK * CODEPAGE_ENUMPROCA)(LPSTR)
BOOL(CALLBACK * GEO_ENUMPROC)(GEOID)
LANGID WINAPI GetSystemDefaultLangID(void)
BOOL(CALLBACK * CALINFO_ENUMPROCEXA)(LPSTR, CALID)
BOOL WINAPI EnumSystemCodePagesW(_In_ CODEPAGE_ENUMPROCW, _In_ DWORD)
BOOL(CALLBACK * CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM)
BOOL WINAPI EnumTimeFormatsW(_In_ TIMEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD)
BOOL WINAPI GetCPInfo(_In_ UINT, _Out_ LPCPINFO)
BOOL WINAPI GetFileMUIPath(DWORD dwFlags, PCWSTR pcwszFilePath, PWSTR pwszLanguage, PULONG pcchLanguage, PWSTR pwszFileMUIPath, PULONG pcchFileMUIPath, PULONGLONG pululEnumerator)
BOOL WINAPI IsDBCSLeadByteEx(_In_ UINT, _In_ BYTE)
BOOL WINAPI IsNormalizedString(NORM_FORM NormForm, LPCWSTR lpString, INT cwLength)
INT WINAPI IdnToNameprepUnicode(DWORD dwFlags, LPCWSTR lpUnicodeCharStr, INT cchUnicodeChar, LPWSTR lpNameprepCharStr, INT cchNameprepChar)
BOOL(CALLBACK * TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM)
BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA pLangGrpEnumProc, DWORD dwFlags, LONG_PTR lParam)
BOOL(CALLBACK * TIMEFMT_ENUMPROCW)(LPWSTR)
BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW pUILangEnumProc, DWORD dwFlags, LONG_PTR lParam)
int WINAPI GetLocaleInfoA(_In_ LCID Locale, _In_ LCTYPE LCType, _Out_writes_opt_(cchData) LPSTR lpLCData, _In_ int cchData)
BOOL WINAPI EnumTimeFormatsA(_In_ TIMEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD)
BYTE DefaultChar[MAX_DEFAULTCHAR]
_In_ UINT _Out_writes_opt_(cch) LPSTR lpszFile
int WINAPI SetCalendarInfoW(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCWSTR)
struct _cpinfoexA * LPCPINFOEXA
LCID WINAPI ConvertDefaultLocale(_In_ LCID)
struct _currencyfmtA CURRENCYFMTA
BOOL WINAPI GetUserPreferredUILanguages(DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer)
BOOL WINAPI EnumSystemLocalesW(_In_ LOCALE_ENUMPROCW, _In_ DWORD)
BYTE LeadByte[MAX_LEADBYTES]
BOOL(CALLBACK * LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR)
BYTE DefaultChar[MAX_DEFAULTCHAR]
BOOL(CALLBACK * LOCALE_ENUMPROCW)(LPWSTR)
struct _currencyfmtA * LPCURRENCYFMTA
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
BOOL WINAPI GetCPInfoExA(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXA)
BOOL WINAPI EnumDateFormatsW(_In_ DATEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD)
BOOL WINAPI EnumCalendarInfoA(_In_ CALINFO_ENUMPROCA, _In_ LCID, _In_ CALID, _In_ CALTYPE)
int WINAPI GetCalendarInfoA(_In_ LCID Locale, _In_ CALID Calendar, _In_ CALTYPE CalType, _Out_writes_opt_(cchData) LPSTR lpCalData, _In_ int cchData, _Out_opt_ LPDWORD lpValue)
int WINAPI CompareStringW(_In_ LCID Locale, _In_ DWORD dwCmpFlags, _In_reads_(cchCount1) LPCWSTR lpString1, _In_ int cchCount1, _In_reads_(cchCount2) LPCWSTR lpString2, _In_ int cchCount2)
int WINAPI CompareStringA(_In_ LCID Locale, _In_ DWORD dwCmpFlags, _In_reads_(cchCount1) LPCSTR lpString1, _In_ int cchCount1, _In_reads_(cchCount2) LPCSTR lpString2, _In_ int cchCount2)
BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA pLangGrpLcEnumProc, LGRPID lgrpid, DWORD dwFlags, LONG_PTR lParam)
BOOL(CALLBACK * DATEFMT_ENUMPROCW)(LPWSTR)
BOOL WINAPI EnumDateFormatsA(_In_ DATEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD)
BOOL WINAPI SetThreadPreferredUILanguages(DWORD dwFlags, PCZZWSTR pwszLanguagesBuffer, PULONG pulNumLanguages)
BOOL(CALLBACK * DATEFMT_ENUMPROCA)(LPSTR)
int WINAPI FoldStringW(_In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(cchDest) LPWSTR lpDestStr, _In_ int cchDest)
struct _cpinfo * LPCPINFO
struct _FILEMUIINFO FILEMUIINFO
BOOL WINAPI SetUserGeoID(_In_ GEOID)
#define _Out_writes_(size)
BOOL WINAPI GetFileMUIInfo(DWORD dwFlags, PCWSTR pcwszFilePath, PFILEMUIINFO pFileMUIInfo, DWORD *pcbFileMUIInfo)
int WINAPI GetGeoInfoW(_In_ GEOID Location, _In_ GEOTYPE GeoType, _Out_writes_opt_(cchData) LPWSTR lpGeoData, _In_ int cchData, _In_ LANGID LangId)
INT WINAPI IdnToAscii(DWORD dwFlags, LPCWSTR lpUnicodeCharStr, INT cchUnicodeChar, LPWSTR lpASCIICharStr, INT cchASCIIChar)
BOOL WINAPI EnumSystemLocalesA(_In_ LOCALE_ENUMPROCA, _In_ DWORD)