1 #ifndef _WINNLS_ 2 #define _WINNLS_ 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #ifdef _MSC_VER 9 #pragma warning(push) 10 #pragma warning(disable:4820) 11 #endif 12 13 #define GEOID_NOT_AVAILABLE (-1) 14 #define MAX_LEADBYTES 12 15 #define MAX_DEFAULTCHAR 2 16 17 #define LOCALE_ALL 0x00 18 19 #define LOCALE_NOUSEROVERRIDE 0x80000000 20 #define LOCALE_USE_CP_ACP 0x40000000 21 #if (WINVER >= 0x0400) 22 #define LOCALE_RETURN_NUMBER 0x20000000 23 #endif 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 128 129 /* FIXME: This value should be in the guarded block below */ 130 #define LOCALE_SNAME 92 131 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 152 #endif /* (WINVER >= 0x0600) */ 153 154 //#if (WINVER >= _WIN32_WINNT_WIN7) 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 166 //#endif /* (WINVER >= _WIN32_WINNT_WIN7) */ 167 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" 172 #endif 173 174 #define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 /* Wine extension */ 175 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 204 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 212 213 #define MAP_FOLDCZONE 16 214 #define MAP_FOLDDIGITS 128 215 #define MAP_PRECOMPOSED 32 216 #define MAP_COMPOSITE 64 217 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 225 #endif 226 227 #define CP_ACP 0 228 #ifdef _WINE 229 #define CP_UNIXCP CP_ACP 230 #endif 231 #define CP_OEMCP 1 232 #define CP_MACCP 2 233 #define CP_THREAD_ACP 3 234 #define CP_SYMBOL 42 235 #define CP_UTF7 65000 236 #define CP_UTF8 65001 237 #define CT_CTYPE1 1 238 #define CT_CTYPE2 2 239 #define CT_CTYPE3 4 240 #define C1_UPPER 1 241 #define C1_LOWER 2 242 #define C1_DIGIT 4 243 #define C1_SPACE 8 244 #define C1_PUNCT 16 245 #define C1_CNTRL 32 246 #define C1_BLANK 64 247 #define C1_XDIGIT 128 248 #define C1_ALPHA 256 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 265 #define C3_SYMBOL 8 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 361 #define CTRY_PERU 51 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 387 #define CTRY_UAE 971 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 445 #define CAL_JAPAN 3 446 #define CAL_TAIWAN 4 447 #define CAL_KOREA 5 448 #define CAL_HIJRI 6 449 #define CAL_THAI 7 450 #define CAL_HEBREW 8 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 456 #define CSTR_EQUAL 2 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 477 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 495 #endif /* (WINVER >= 0x0500) */ 496 #if WINVER >= 0x0600 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 501 #endif 502 #ifndef _BASETSD_H_ 503 typedef long LONG_PTR; 504 #endif 505 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 514 #endif /* (WINVER >= 0x0600) */ 515 516 #ifndef RC_INVOKED 517 typedef DWORD LCTYPE; 518 typedef DWORD CALTYPE; 519 typedef DWORD CALID; 520 typedef DWORD LGRPID; 521 typedef DWORD GEOID; 522 typedef DWORD GEOTYPE; 523 typedef DWORD GEOCLASS; 524 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM); 525 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM); 526 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM); 527 typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR); 528 typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR); 529 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR, CALID); 530 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR, CALID); 531 typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR); 532 typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR); 533 typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR); 534 typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR); 535 typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR); 536 typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR); 537 typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR); 538 typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR); 539 typedef BOOL (CALLBACK *LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM); 540 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR); 541 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR); 542 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR); 543 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR); 544 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR, CALID); 545 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR, CALID); 546 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR); 547 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR); 548 typedef BOOL (CALLBACK *GEO_ENUMPROC)(GEOID); 549 550 enum NLS_FUNCTION { 551 COMPARE_STRING = 0x0001 552 }; 553 typedef enum NLS_FUNCTION NLS_FUNCTION; 554 enum SYSGEOCLASS { 555 GEOCLASS_NATION = 16, 556 GEOCLASS_REGION = 14 557 }; 558 559 /* Geographic Information types */ 560 enum SYSGEOTYPE 561 { 562 GEO_NATION = 1, 563 GEO_LATITUDE, 564 GEO_LONGITUDE, 565 GEO_ISO2, 566 GEO_ISO3, 567 GEO_RFC1766, 568 GEO_LCID, 569 GEO_FRIENDLYNAME, 570 GEO_OFFICIALNAME, 571 GEO_TIMEZONES, 572 GEO_OFFICIALLANGUAGES, 573 GEO_ISO_UN_NUMBER, 574 GEO_PARENT, 575 GEO_DIALINGCODE, 576 GEO_CURRENCYCODE, 577 GEO_CURRENCYSYMBOL 578 }; 579 580 typedef struct _cpinfo { 581 UINT MaxCharSize; 582 BYTE DefaultChar[MAX_DEFAULTCHAR]; 583 BYTE LeadByte[MAX_LEADBYTES]; 584 } CPINFO,*LPCPINFO; 585 typedef struct _cpinfoexA { 586 UINT MaxCharSize; 587 BYTE DefaultChar[MAX_DEFAULTCHAR]; 588 BYTE LeadByte[MAX_LEADBYTES]; 589 WCHAR UnicodeDefaultChar; 590 UINT CodePage; 591 CHAR CodePageName[MAX_PATH]; 592 } CPINFOEXA,*LPCPINFOEXA; 593 typedef struct _cpinfoexW { 594 UINT MaxCharSize; 595 BYTE DefaultChar[MAX_DEFAULTCHAR]; 596 BYTE LeadByte[MAX_LEADBYTES]; 597 WCHAR UnicodeDefaultChar; 598 UINT CodePage; 599 WCHAR CodePageName[MAX_PATH]; 600 } CPINFOEXW,*LPCPINFOEXW; 601 typedef struct _currencyfmtA { 602 UINT NumDigits; 603 UINT LeadingZero; 604 UINT Grouping; 605 LPSTR lpDecimalSep; 606 LPSTR lpThousandSep; 607 UINT NegativeOrder; 608 UINT PositiveOrder; 609 LPSTR lpCurrencySymbol; 610 } CURRENCYFMTA,*LPCURRENCYFMTA; 611 typedef struct _currencyfmtW { 612 UINT NumDigits; 613 UINT LeadingZero; 614 UINT Grouping; 615 LPWSTR lpDecimalSep; 616 LPWSTR lpThousandSep; 617 UINT NegativeOrder; 618 UINT PositiveOrder; 619 LPWSTR lpCurrencySymbol; 620 } CURRENCYFMTW,*LPCURRENCYFMTW; 621 typedef struct nlsversioninfo { 622 DWORD dwNLSVersionInfoSize; 623 DWORD dwNLSVersion; 624 DWORD dwDefinedVersion; 625 } NLSVERSIONINFO,*LPNLSVERSIONINFO; 626 typedef struct _nlsversioninfoex { 627 DWORD dwNLSVersionInfoSize; 628 DWORD dwNLSVersion; 629 DWORD dwDefinedVersion; 630 DWORD dwEffectiveId; 631 GUID guidCustomVersion; 632 } NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX; 633 typedef struct _numberfmtA { 634 UINT NumDigits; 635 UINT LeadingZero; 636 UINT Grouping; 637 LPSTR lpDecimalSep; 638 LPSTR lpThousandSep; 639 UINT NegativeOrder; 640 } NUMBERFMTA,*LPNUMBERFMTA; 641 typedef struct _numberfmtW { 642 UINT NumDigits; 643 UINT LeadingZero; 644 UINT Grouping; 645 LPWSTR lpDecimalSep; 646 LPWSTR lpThousandSep; 647 UINT NegativeOrder; 648 } NUMBERFMTW,*LPNUMBERFMTW; 649 #if (WINVER >= 0x0600) 650 typedef enum _NORM_FORM { 651 NormalizationOther = 0, 652 NormalizationC = 0x1, 653 NormalizationD = 0x2, 654 NormalizationKC = 0x5, 655 NormalizationKD = 0x6 656 } NORM_FORM; 657 #endif /* (WINVER >= 0x0600) */ 658 typedef struct _FILEMUIINFO { 659 DWORD dwSize; 660 DWORD dwVersion; 661 DWORD dwFileType; 662 BYTE pChecksum[16]; 663 BYTE pServiceChecksum[16]; 664 DWORD dwLanguageNameOffset; 665 DWORD dwTypeIDMainSize; 666 DWORD dwTypeIDMainOffset; 667 DWORD dwTypeNameMainOffset; 668 DWORD dwTypeIDMUISize; 669 DWORD dwTypeIDMUIOffset; 670 DWORD dwTypeNameMUIOffset; 671 BYTE abBuffer[8]; 672 } FILEMUIINFO, *PFILEMUIINFO; 673 674 #define HIGH_SURROGATE_START 0xd800 675 #define HIGH_SURROGATE_END 0xdbff 676 #define LOW_SURROGATE_START 0xdc00 677 #define LOW_SURROGATE_END 0xdfff 678 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)) 682 683 int 684 WINAPI 685 CompareStringA( 686 _In_ LCID Locale, 687 _In_ DWORD dwCmpFlags, 688 _In_reads_(cchCount1) LPCSTR lpString1, 689 _In_ int cchCount1, 690 _In_reads_(cchCount2) LPCSTR lpString2, 691 _In_ int cchCount2); 692 693 int 694 WINAPI 695 CompareStringW( 696 _In_ LCID Locale, 697 _In_ DWORD dwCmpFlags, 698 _In_reads_(cchCount1) LPCWSTR lpString1, 699 _In_ int cchCount1, 700 _In_reads_(cchCount2) LPCWSTR lpString2, 701 _In_ int cchCount2); 702 703 LCID WINAPI ConvertDefaultLocale(_In_ LCID); 704 BOOL WINAPI EnumCalendarInfoA(_In_ CALINFO_ENUMPROCA, _In_ LCID, _In_ CALID, _In_ CALTYPE); 705 BOOL WINAPI EnumCalendarInfoW(_In_ CALINFO_ENUMPROCW, _In_ LCID, _In_ CALID, _In_ CALTYPE); 706 BOOL WINAPI EnumDateFormatsA(_In_ DATEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD); 707 BOOL WINAPI EnumDateFormatsW(_In_ DATEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD); 708 BOOL WINAPI EnumSystemCodePagesA(_In_ CODEPAGE_ENUMPROCA, _In_ DWORD); 709 BOOL WINAPI EnumSystemCodePagesW(_In_ CODEPAGE_ENUMPROCW, _In_ DWORD); 710 BOOL WINAPI EnumSystemGeoID(_In_ GEOCLASS, _In_ GEOID, _In_ GEO_ENUMPROC); 711 BOOL WINAPI EnumSystemLocalesA(_In_ LOCALE_ENUMPROCA, _In_ DWORD); 712 BOOL WINAPI EnumSystemLocalesW(_In_ LOCALE_ENUMPROCW, _In_ DWORD); 713 BOOL WINAPI EnumTimeFormatsA(_In_ TIMEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD); 714 BOOL WINAPI EnumTimeFormatsW(_In_ TIMEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD); 715 716 int 717 WINAPI 718 FoldStringA( 719 _In_ DWORD dwMapFlags, 720 _In_reads_(cchSrc) LPCSTR lpSrcStr, 721 _In_ int cchSrc, 722 _Out_writes_opt_(cchDest) LPSTR lpDestStr, 723 _In_ int cchDest); 724 725 int 726 WINAPI 727 FoldStringW( 728 _In_ DWORD dwMapFlags, 729 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 730 _In_ int cchSrc, 731 _Out_writes_opt_(cchDest) LPWSTR lpDestStr, 732 _In_ int cchDest); 733 734 UINT WINAPI GetACP(void); 735 736 int 737 WINAPI 738 GetCalendarInfoA( 739 _In_ LCID Locale, 740 _In_ CALID Calendar, 741 _In_ CALTYPE CalType, 742 _Out_writes_opt_(cchData) LPSTR lpCalData, 743 _In_ int cchData, 744 _Out_opt_ LPDWORD lpValue); 745 746 int 747 WINAPI 748 GetCalendarInfoW( 749 _In_ LCID Locale, 750 _In_ CALID Calendar, 751 _In_ CALTYPE CalType, 752 _Out_writes_opt_(cchData) LPWSTR lpCalData, 753 _In_ int cchData, 754 _Out_opt_ LPDWORD lpValue); 755 756 BOOL WINAPI GetCPInfo(_In_ UINT, _Out_ LPCPINFO); 757 BOOL WINAPI GetCPInfoExA(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXA); 758 BOOL WINAPI GetCPInfoExW(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXW); 759 760 int 761 WINAPI 762 GetCurrencyFormatA( 763 _In_ LCID Locale, 764 _In_ DWORD dwFlags, 765 _In_ LPCSTR lpValue, 766 _In_opt_ const CURRENCYFMTA *lpFormat, 767 _Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr, 768 _In_ int cchCurrency); 769 770 int 771 WINAPI 772 GetCurrencyFormatW( 773 _In_ LCID Locale, 774 _In_ DWORD dwFlags, 775 _In_ LPCWSTR lpValue, 776 _In_opt_ const CURRENCYFMTW *lpFormat, 777 _Out_writes_opt_(cchCurrency) LPWSTR lpCurrencyStr, 778 _In_ int cchCurrency); 779 780 int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); 781 int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); 782 int WINAPI GetDateFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int,LPCWSTR); 783 784 int 785 WINAPI 786 GetGeoInfoA( 787 _In_ GEOID Location, 788 _In_ GEOTYPE GeoType, 789 _Out_writes_opt_(cchData) LPSTR lpGeoData, 790 _In_ int cchData, 791 _In_ LANGID LangId); 792 793 int 794 WINAPI 795 GetGeoInfoW( 796 _In_ GEOID Location, 797 _In_ GEOTYPE GeoType, 798 _Out_writes_opt_(cchData) LPWSTR lpGeoData, 799 _In_ int cchData, 800 _In_ LANGID LangId); 801 802 int 803 WINAPI 804 GetLocaleInfoA( 805 _In_ LCID Locale, 806 _In_ LCTYPE LCType, 807 _Out_writes_opt_(cchData) LPSTR lpLCData, 808 _In_ int cchData); 809 810 int 811 WINAPI 812 GetLocaleInfoW( 813 _In_ LCID Locale, 814 _In_ LCTYPE LCType, 815 _Out_writes_opt_(cchData) LPWSTR lpLCData, 816 _In_ int cchData); 817 818 BOOL WINAPI GetNLSVersion(_In_ NLS_FUNCTION, _In_ LCID, _Inout_ LPNLSVERSIONINFO); 819 820 BOOL 821 WINAPI 822 GetNLSVersionEx( 823 _In_ NLS_FUNCTION function, 824 _In_ LPCWSTR lpLocaleName, 825 _Inout_ LPNLSVERSIONINFOEX lpVersionInformation); 826 827 int 828 WINAPI 829 GetNumberFormatA( 830 _In_ LCID Locale, 831 _In_ DWORD dwFlags, 832 _In_ LPCSTR lpValue, 833 _In_opt_ const NUMBERFMTA *lpFormat, 834 _Out_writes_opt_(cchNumber) LPSTR lpNumberStr, 835 _In_ int cchNumber); 836 837 int 838 WINAPI 839 GetNumberFormatW( 840 _In_ LCID Locale, 841 _In_ DWORD dwFlags, 842 _In_ LPCWSTR lpValue, 843 _In_opt_ const NUMBERFMTW *lpFormat, 844 _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr, 845 _In_ int cchNumber); 846 847 UINT WINAPI GetOEMCP(void); 848 849 BOOL 850 WINAPI 851 GetStringTypeA( 852 _In_ LCID Locale, 853 _In_ DWORD dwInfoType, 854 _In_reads_(cchSrc) LPCSTR lpSrcStr, 855 _In_ int cchSrc, 856 _Out_ LPWORD lpCharType); 857 858 BOOL 859 WINAPI 860 GetStringTypeW( 861 _In_ DWORD dwInfoType, 862 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 863 _In_ int cchSrc, 864 _Out_ LPWORD lpCharType); 865 866 BOOL 867 WINAPI 868 GetStringTypeExA( 869 _In_ LCID Locale, 870 _In_ DWORD dwInfoType, 871 _In_reads_(cchSrc) LPCSTR lpSrcStr, 872 _In_ int cchSrc, 873 _Out_writes_(cchSrc) LPWORD lpCharType); 874 875 BOOL 876 WINAPI 877 GetStringTypeExW( 878 _In_ LCID Locale, 879 _In_ DWORD dwInfoType, 880 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 881 _In_ int cchSrc, 882 _Out_writes_(cchSrc) LPWORD lpCharType); 883 884 LANGID WINAPI GetSystemDefaultLangID(void); 885 LCID WINAPI GetSystemDefaultLCID(void); 886 LCID WINAPI GetThreadLocale(void); 887 int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); 888 int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); 889 int WINAPI GetTimeFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); 890 LANGID WINAPI GetUserDefaultLangID(void); 891 LCID WINAPI GetUserDefaultLCID(void); 892 GEOID WINAPI GetUserGeoID(_In_ GEOCLASS); 893 894 #if (WINVER >= 0x0600) 895 896 int 897 WINAPI 898 IdnToAscii( 899 _In_ DWORD dwFlags, 900 _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, 901 _In_ int cchUnicodeChar, 902 _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr, 903 _In_ int cchASCIIChar); 904 905 int 906 WINAPI 907 IdnToUnicode( 908 _In_ DWORD dwFlags, 909 _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr, 910 _In_ int cchASCIIChar, 911 _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr, 912 _In_ int cchUnicodeChar); 913 914 #endif /* WINVER >= 0x0600 */ 915 916 BOOL WINAPI IsDBCSLeadByte(_In_ BYTE); 917 BOOL WINAPI IsDBCSLeadByteEx(_In_ UINT, _In_ BYTE); 918 919 BOOL 920 WINAPI 921 IsNLSDefinedString( 922 _In_ NLS_FUNCTION Function, 923 _In_ DWORD dwFlags, 924 _In_ LPNLSVERSIONINFO lpVersionInformation, 925 _In_reads_(cchStr) LPCWSTR lpString, 926 _In_ int cchStr); 927 928 BOOL WINAPI IsValidCodePage(_In_ UINT); 929 BOOL WINAPI IsValidLocale(_In_ LCID, _In_ DWORD); 930 931 int 932 WINAPI 933 LCMapStringA( 934 _In_ LCID Locale, 935 _In_ DWORD dwMapFlags, 936 _In_reads_(cchSrc) LPCSTR lpSrcStr, 937 _In_ int cchSrc, 938 _Out_writes_opt_(_Inexpressible_(cchDest)) LPSTR lpDestStr, 939 _In_ int cchDest); 940 941 int 942 WINAPI 943 LCMapStringW( 944 _In_ LCID Locale, 945 _In_ DWORD dwMapFlags, 946 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 947 _In_ int cchSrc, 948 _Out_writes_opt_(_Inexpressible_(cchDest)) LPWSTR lpDestStr, 949 _In_ int cchDest); 950 951 int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int); 952 int WINAPI SetCalendarInfoA(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCSTR); 953 int WINAPI SetCalendarInfoW(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCWSTR); 954 BOOL WINAPI SetLocaleInfoA(_In_ LCID, _In_ LCTYPE, _In_ LPCSTR); 955 BOOL WINAPI SetLocaleInfoW(_In_ LCID, _In_ LCTYPE, _In_ LPCWSTR); 956 BOOL WINAPI SetThreadLocale(_In_ LCID); 957 LANGID WINAPI SetThreadUILanguage(_In_ LANGID); 958 BOOL WINAPI SetUserDefaultLCID(LCID); 959 BOOL WINAPI SetUserDefaultUILanguage(LANGID); 960 BOOL WINAPI SetUserGeoID(_In_ GEOID); 961 int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL); 962 #if (WINVER >= 0x0500) 963 BOOL WINAPI EnumCalendarInfoExA(_In_ CALINFO_ENUMPROCEXA, _In_ LCID, _In_ CALID, _In_ CALTYPE); 964 BOOL WINAPI EnumCalendarInfoExW(_In_ CALINFO_ENUMPROCEXW, _In_ LCID, _In_ CALID, _In_ CALTYPE); 965 BOOL WINAPI EnumDateFormatsExA(_In_ DATEFMT_ENUMPROCEXA, _In_ LCID, _In_ DWORD); 966 BOOL WINAPI EnumDateFormatsExW(_In_ DATEFMT_ENUMPROCEXW, _In_ LCID, _In_ DWORD); 967 BOOL WINAPI EnumSystemLanguageGroupsA(_In_ LANGUAGEGROUP_ENUMPROCA, _In_ DWORD, _In_ LONG_PTR); 968 BOOL WINAPI EnumSystemLanguageGroupsW(_In_ LANGUAGEGROUP_ENUMPROCW, _In_ DWORD, _In_ LONG_PTR); 969 BOOL WINAPI EnumLanguageGroupLocalesA(_In_ LANGGROUPLOCALE_ENUMPROCA, _In_ LGRPID, _In_ DWORD, _In_ LONG_PTR); 970 BOOL WINAPI EnumLanguageGroupLocalesW(_In_ LANGGROUPLOCALE_ENUMPROCW, _In_ LGRPID, _In_ DWORD, _In_ LONG_PTR); 971 BOOL WINAPI EnumUILanguagesA(_In_ UILANGUAGE_ENUMPROCA, _In_ DWORD, _In_ LONG_PTR); 972 BOOL WINAPI EnumUILanguagesW(_In_ UILANGUAGE_ENUMPROCW, _In_ DWORD, _In_ LONG_PTR); 973 LANGID WINAPI GetSystemDefaultUILanguage(void); 974 LANGID WINAPI GetUserDefaultUILanguage(void); 975 BOOL WINAPI IsValidLanguageGroup(_In_ LGRPID, _In_ DWORD); 976 #endif /* (WINVER >= 0x0500) */ 977 978 #if (WINVER >= 0x0600) 979 980 _Success_(return != FALSE) 981 BOOL 982 WINAPI 983 GetFileMUIInfo( 984 _In_ DWORD dwFlags, 985 _In_ PCWSTR pcwszFilePath, 986 _Inout_updates_bytes_to_opt_(*pcbFileMUIInfo, *pcbFileMUIInfo) PFILEMUIINFO pFileMUIInfo, 987 _Inout_ DWORD *pcbFileMUIInfo); 988 989 BOOL 990 WINAPI 991 GetFileMUIPath( 992 _In_ DWORD dwFlags, 993 _In_ PCWSTR pcwszFilePath, 994 _Inout_updates_opt_(*pcchLanguage) PWSTR pwszLanguage, 995 _Inout_ PULONG pcchLanguage, 996 _Out_writes_opt_(*pcchFileMUIPath) PWSTR pwszFileMUIPath, 997 _Inout_ PULONG pcchFileMUIPath, 998 _Inout_ PULONGLONG pululEnumerator); 999 1000 WINBASEAPI 1001 int 1002 WINAPI 1003 GetLocaleInfoEx( 1004 _In_opt_ LPCWSTR lpLocaleName, 1005 _In_ LCTYPE LCType, 1006 _Out_writes_opt_(cchData) LPWSTR lpLCData, 1007 _In_ int cchData); 1008 1009 BOOL WINAPI IsValidLocaleName(_In_ LPCWSTR lpLocaleName); 1010 1011 BOOL 1012 WINAPI 1013 GetProcessPreferredUILanguages( 1014 _In_ DWORD dwFlags, 1015 _Out_ PULONG pulNumLanguages, 1016 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1017 _Inout_ PULONG pcchLanguagesBuffer); 1018 1019 BOOL 1020 WINAPI 1021 GetSystemPreferredUILanguages( 1022 _In_ DWORD dwFlags, 1023 _Out_ PULONG pulNumLanguages, 1024 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1025 _Inout_ PULONG pcchLanguagesBuffer); 1026 1027 BOOL 1028 WINAPI 1029 GetThreadPreferredUILanguages( 1030 _In_ DWORD dwFlags, 1031 _Out_ PULONG pulNumLanguages, 1032 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1033 _Inout_ PULONG pcchLanguagesBuffer); 1034 1035 LANGID WINAPI GetThreadUILanguage(void); 1036 1037 BOOL 1038 WINAPI 1039 GetUILanguageInfo( 1040 _In_ DWORD dwFlags, 1041 _In_ PCZZWSTR pwmszLanguage, 1042 _Out_writes_opt_(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages, 1043 _Inout_opt_ PDWORD pcchFallbackLanguages, 1044 _Out_ PDWORD pAttributes); 1045 1046 BOOL 1047 WINAPI 1048 GetUserPreferredUILanguages( 1049 _In_ DWORD dwFlags, 1050 _Out_ PULONG pulNumLanguages, 1051 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1052 _Inout_ PULONG pcchLanguagesBuffer); 1053 1054 int 1055 WINAPI 1056 IdnToAscii( 1057 _In_ DWORD dwFlags, 1058 _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, 1059 _In_ int cchUnicodeChar, 1060 _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr, 1061 _In_ int cchASCIIChar); 1062 1063 int 1064 WINAPI 1065 IdnToNameprepUnicode( 1066 _In_ DWORD dwFlags, 1067 _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, 1068 _In_ int cchUnicodeChar, 1069 _Out_writes_opt_(cchNameprepChar) LPWSTR lpNameprepCharStr, 1070 _In_ int cchNameprepChar); 1071 1072 int 1073 WINAPI 1074 IdnToUnicode( 1075 _In_ DWORD dwFlags, 1076 _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr, 1077 _In_ int cchASCIIChar, 1078 _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr, 1079 _In_ int cchUnicodeChar); 1080 1081 BOOL 1082 WINAPI 1083 IsNormalizedString( 1084 _In_ NORM_FORM NormForm, 1085 _In_reads_(cwLength) LPCWSTR lpString, 1086 _In_ int cwLength); 1087 1088 int 1089 WINAPI 1090 NormalizeString( 1091 _In_ NORM_FORM NormForm, 1092 _In_reads_(cwSrcLength) LPCWSTR lpSrcString, 1093 _In_ int cwSrcLength, 1094 _Out_writes_opt_(cwDstLength) LPWSTR lpDstString, 1095 _In_ int cwDstLength); 1096 1097 int 1098 WINAPI 1099 GetStringScripts( 1100 _In_ DWORD dwFlags, 1101 _In_ LPCWSTR lpString, 1102 _In_ int cchString, 1103 _Out_writes_opt_(cchScripts) LPWSTR lpScripts, 1104 _In_ int cchScripts); 1105 1106 BOOL WINAPI SetProcessPreferredUILanguages(_In_ DWORD, _In_opt_ PCZZWSTR, _Out_opt_ PULONG); 1107 BOOL WINAPI SetThreadPreferredUILanguages(_In_ DWORD, _In_opt_ PCZZWSTR, _Out_opt_ PULONG); 1108 BOOL WINAPI VerifyScripts(_In_ DWORD, _In_ LPCWSTR, _In_ int, _In_ LPCWSTR, _In_ int); 1109 INT WINAPI LCMapStringEx(_In_ LPCWSTR, _In_ DWORD, _In_ LPCWSTR, _In_ INT, _Out_opt_ LPWSTR, _In_ INT, _In_ LPNLSVERSIONINFO, _In_ LPVOID, _In_ LPARAM); 1110 LCID WINAPI LocaleNameToLCID(_In_ LPCWSTR, _In_ DWORD); 1111 1112 #endif /* (WINVER >= 0x0600) */ 1113 1114 #ifdef UNICODE 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 1125 typedef CPINFOEXW CPINFOEX; 1126 typedef LPCPINFOEXW LPCPINFOEX; 1127 typedef CURRENCYFMTW CURRENCYFMT; 1128 typedef LPCURRENCYFMTW LPCURRENCYFMT; 1129 typedef NUMBERFMTW NUMBERFMT; 1130 typedef LPNUMBERFMTW LPNUMBERFMT; 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 1156 #endif /* (WINVER >= 0x0500) */ 1157 #else 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 1168 typedef CPINFOEXA CPINFOEX; 1169 typedef LPCPINFOEXA LPCPINFOEX; 1170 typedef CURRENCYFMTA CURRENCYFMT; 1171 typedef LPCURRENCYFMTA LPCURRENCYFMT; 1172 typedef NUMBERFMTA NUMBERFMT; 1173 typedef LPNUMBERFMTA LPNUMBERFMT; 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 1199 #endif /* (WINVER >= 0x0500) */ 1200 #endif /* UNICODE */ 1201 #endif /* RC_INVOKED */ 1202 1203 #ifdef _MSC_VER 1204 #pragma warning(pop) 1205 #endif 1206 1207 #ifdef __cplusplus 1208 } 1209 #endif 1210 #endif 1211