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_SSCRIPTS 108 // FIXME 120 #define LOCALE_IPOSSIGNPOSN 82 121 #define LOCALE_INEGSIGNPOSN 83 122 #define LOCALE_IPOSSYMPRECEDES 84 123 #define LOCALE_IPOSSEPBYSPACE 85 124 #define LOCALE_INEGSYMPRECEDES 86 125 #define LOCALE_INEGSEPBYSPACE 87 126 #define LOCALE_FONTSIGNATURE 88 127 #define LOCALE_SISO639LANGNAME 89 128 #define LOCALE_SISO3166CTRYNAME 90 129 #define LOCALE_SNAME 92 // FIXME 130 131 #if (WINVER >= 0x0600) 132 #define LOCALE_SNAME 92 133 #define LOCALE_SDURATION 93 134 #define LOCALE_SKEYBOARDSTOINSTALL 94 135 #define LOCALE_SSHORTESTDAYNAME1 96 136 #define LOCALE_SSHORTESTDAYNAME2 97 137 #define LOCALE_SSHORTESTDAYNAME3 98 138 #define LOCALE_SSHORTESTDAYNAME4 99 139 #define LOCALE_SSHORTESTDAYNAME5 100 140 #define LOCALE_SSHORTESTDAYNAME6 101 141 #define LOCALE_SSHORTESTDAYNAME7 102 142 #define LOCALE_SISO639LANGNAME2 103 143 #define LOCALE_SISO3166CTRYNAME2 104 144 #define LOCALE_SNAN 105 145 #define LOCALE_SPOSINFINITY 106 146 #define LOCALE_SNEGINFINITY 107 147 #define LOCALE_SSCRIPTS 108 148 #define LOCALE_SPARENT 109 149 #define LOCALE_SCONSOLEFALLBACKNAME 110 150 #endif /* (WINVER >= 0x0600) */ 151 152 //#if (WINVER >= _WIN32_WINNT_WIN7) 153 #define LOCALE_IREADINGLAYOUT 0x0070 154 #define LOCALE_INEUTRAL 0x0071 155 #define LOCALE_INEGATIVEPERCENT 0x0074 156 #define LOCALE_IPOSITIVEPERCENT 0x0075 157 #define LOCALE_SPERCENT 0x0076 158 #define LOCALE_SPERMILLE 0x0077 159 #define LOCALE_SMONTHDAY 0x0078 160 #define LOCALE_SSHORTTIME 0x0079 161 #define LOCALE_SOPENTYPELANGUAGETAG 0x007a 162 #define LOCALE_SSORTLOCALE 0x007b 163 //#endif /* (WINVER >= _WIN32_WINNT_WIN7) */ 164 165 #if (WINVER >= 0x0600) 166 #define LOCALE_NAME_USER_DEFAULT NULL 167 #define LOCALE_NAME_INVARIANT L"" 168 #define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale" 169 #endif 170 171 #define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 /* Wine extension */ 172 173 #define NORM_IGNORECASE 1 174 #define NORM_IGNOREKANATYPE 65536 175 #define NORM_IGNORENONSPACE 2 176 #define NORM_IGNORESYMBOLS 4 177 #define NORM_IGNOREWIDTH 131072 178 #define LINGUISTIC_IGNORECASE 0x00000010 179 #define NORM_LINGUISTIC_CASING 0x08000000 180 #define SORT_STRINGSORT 4096 181 #define LCMAP_LOWERCASE 0x00000100 182 #define LCMAP_UPPERCASE 0x00000200 183 #define LCMAP_SORTKEY 0x00000400 184 #define LCMAP_BYTEREV 0x00000800 185 #define LCMAP_HIRAGANA 0x00100000 186 #define LCMAP_KATAKANA 0x00200000 187 #define LCMAP_HALFWIDTH 0x00400000 188 #define LCMAP_FULLWIDTH 0x00800000 189 #define LCMAP_LINGUISTIC_CASING 0x01000000 190 #define LCMAP_SIMPLIFIED_CHINESE 0x02000000 191 #define LCMAP_TRADITIONAL_CHINESE 0x04000000 192 #define ENUM_ALL_CALENDARS (-1) 193 #define DATE_SHORTDATE 1 194 #define DATE_LONGDATE 2 195 #define DATE_USE_ALT_CALENDAR 4 196 #define CP_INSTALLED 1 197 #define CP_SUPPORTED 2 198 #define LCID_INSTALLED 1 199 #define LCID_SUPPORTED 2 200 #define LCID_ALTERNATE_SORTS 4 201 202 #define LOCALE_ALL 0x00 203 #define LOCALE_WINDOWS 0x01 204 #define LOCALE_SUPPLEMENTAL 0x02 205 #define LOCALE_ALTERNATE_SORTS 0x04 206 #define LOCALE_REPLACEMENT 0x08 207 #define LOCALE_NEUTRALDATA 0x10 208 #define LOCALE_SPECIFICDATA 0x20 209 210 #define MAP_FOLDCZONE 16 211 #define MAP_FOLDDIGITS 128 212 #define MAP_PRECOMPOSED 32 213 #define MAP_COMPOSITE 64 214 215 #define WC_DISCARDNS 0x0010 216 #define WC_SEPCHARS 0x0020 217 #define WC_DEFAULTCHAR 0x0040 218 #define WC_ERR_INVALID_CHARS 0x0080 219 #define WC_COMPOSITECHECK 0x0200 220 #if (WINVER >= 0x0500) 221 #define WC_NO_BEST_FIT_CHARS 0x0400 222 #endif 223 224 #define CP_ACP 0 225 #ifdef _WINE 226 #define CP_UNIXCP CP_ACP 227 #endif 228 #define CP_OEMCP 1 229 #define CP_MACCP 2 230 #define CP_THREAD_ACP 3 231 #define CP_SYMBOL 42 232 #define CP_UTF7 65000 233 #define CP_UTF8 65001 234 #define CT_CTYPE1 1 235 #define CT_CTYPE2 2 236 #define CT_CTYPE3 4 237 #define C1_UPPER 1 238 #define C1_LOWER 2 239 #define C1_DIGIT 4 240 #define C1_SPACE 8 241 #define C1_PUNCT 16 242 #define C1_CNTRL 32 243 #define C1_BLANK 64 244 #define C1_XDIGIT 128 245 #define C1_ALPHA 256 246 #define C1_DEFINED 512 247 #define C2_LEFTTORIGHT 1 248 #define C2_RIGHTTOLEFT 2 249 #define C2_EUROPENUMBER 3 250 #define C2_EUROPESEPARATOR 4 251 #define C2_EUROPETERMINATOR 5 252 #define C2_ARABICNUMBER 6 253 #define C2_COMMONSEPARATOR 7 254 #define C2_BLOCKSEPARATOR 8 255 #define C2_SEGMENTSEPARATOR 9 256 #define C2_WHITESPACE 10 257 #define C2_OTHERNEUTRAL 11 258 #define C2_NOTAPPLICABLE 0 259 #define C3_NONSPACING 1 260 #define C3_DIACRITIC 2 261 #define C3_VOWELMARK 4 262 #define C3_SYMBOL 8 263 #define C3_KATAKANA 16 264 #define C3_HIRAGANA 32 265 #define C3_HALFWIDTH 64 266 #define C3_FULLWIDTH 128 267 #define C3_IDEOGRAPH 256 268 #define C3_KASHIDA 512 269 #define C3_LEXICAL 1024 270 #define C3_ALPHA 32768 271 #define C3_NOTAPPLICABLE 0 272 #define C3_HIGHSURROGATE 0x0800 273 #define C3_LOWSURROGATE 0x1000 274 #define TIME_NOMINUTESORSECONDS 1 275 #define TIME_NOSECONDS 2 276 #define TIME_NOTIMEMARKER 4 277 #define TIME_FORCE24HOURFORMAT 8 278 #define MB_PRECOMPOSED 1 279 #define MB_COMPOSITE 2 280 #define MB_ERR_INVALID_CHARS 8 281 #define MB_USEGLYPHCHARS 4 282 #define CTRY_DEFAULT 0 283 #define CTRY_ALBANIA 355 284 #define CTRY_ALGERIA 213 285 #define CTRY_ARGENTINA 54 286 #define CTRY_ARMENIA 374 287 #define CTRY_AUSTRALIA 61 288 #define CTRY_AUSTRIA 43 289 #define CTRY_AZERBAIJAN 994 290 #define CTRY_BAHRAIN 973 291 #define CTRY_BELARUS 375 292 #define CTRY_BELGIUM 32 293 #define CTRY_BELIZE 501 294 #define CTRY_BOLIVIA 591 295 #define CTRY_BRAZIL 55 296 #define CTRY_BRUNEI_DARUSSALAM 673 297 #define CTRY_BULGARIA 359 298 #define CTRY_CANADA 2 299 #define CTRY_CARIBBEAN 1 300 #define CTRY_CHILE 56 301 #define CTRY_COLOMBIA 57 302 #define CTRY_COSTA_RICA 506 303 #define CTRY_CROATIA 385 304 #define CTRY_CZECH 420 305 #define CTRY_DENMARK 45 306 #define CTRY_DOMINICAN_REPUBLIC 1 307 #define CTRY_ECUADOR 593 308 #define CTRY_EGYPT 20 309 #define CTRY_EL_SALVADOR 503 310 #define CTRY_ESTONIA 372 311 #define CTRY_FAEROE_ISLANDS 298 312 #define CTRY_FINLAND 358 313 #define CTRY_FRANCE 33 314 #define CTRY_GEORGIA 995 315 #define CTRY_GERMANY 49 316 #define CTRY_GREECE 30 317 #define CTRY_GUATEMALA 502 318 #define CTRY_HONDURAS 504 319 #define CTRY_HONG_KONG 852 320 #define CTRY_HUNGARY 36 321 #define CTRY_ICELAND 354 322 #define CTRY_INDIA 91 323 #define CTRY_INDONESIA 62 324 #define CTRY_IRAN 981 325 #define CTRY_IRAQ 964 326 #define CTRY_IRELAND 353 327 #define CTRY_ISRAEL 972 328 #define CTRY_ITALY 39 329 #define CTRY_JAMAICA 1 330 #define CTRY_JAPAN 81 331 #define CTRY_JORDAN 962 332 #define CTRY_KAZAKSTAN 7 333 #define CTRY_KENYA 254 334 #define CTRY_KUWAIT 965 335 #define CTRY_KYRGYZSTAN 996 336 #define CTRY_LATVIA 371 337 #define CTRY_LEBANON 961 338 #define CTRY_LIBYA 218 339 #define CTRY_LIECHTENSTEIN 41 340 #define CTRY_LITHUANIA 370 341 #define CTRY_LUXEMBOURG 352 342 #define CTRY_MACAU 853 343 #define CTRY_MACEDONIA 389 344 #define CTRY_MALAYSIA 60 345 #define CTRY_MALDIVES 960 346 #define CTRY_MEXICO 52 347 #define CTRY_MONACO 33 348 #define CTRY_MONGOLIA 976 349 #define CTRY_MOROCCO 212 350 #define CTRY_NETHERLANDS 31 351 #define CTRY_NEW_ZEALAND 64 352 #define CTRY_NICARAGUA 505 353 #define CTRY_NORWAY 47 354 #define CTRY_OMAN 968 355 #define CTRY_PAKISTAN 92 356 #define CTRY_PANAMA 507 357 #define CTRY_PARAGUAY 595 358 #define CTRY_PERU 51 359 #define CTRY_PHILIPPINES 63 360 #define CTRY_POLAND 48 361 #define CTRY_PORTUGAL 351 362 #define CTRY_PRCHINA 86 363 #define CTRY_PUERTO_RICO 1 364 #define CTRY_QATAR 974 365 #define CTRY_ROMANIA 40 366 #define CTRY_RUSSIA 7 367 #define CTRY_SAUDI_ARABIA 966 368 #define CTRY_SERBIA 381 369 #define CTRY_SINGAPORE 65 370 #define CTRY_SLOVAK 421 371 #define CTRY_SLOVENIA 386 372 #define CTRY_SOUTH_AFRICA 27 373 #define CTRY_SOUTH_KOREA 82 374 #define CTRY_SPAIN 34 375 #define CTRY_SWEDEN 46 376 #define CTRY_SWITZERLAND 41 377 #define CTRY_SYRIA 963 378 #define CTRY_TAIWAN 886 379 #define CTRY_TATARSTAN 7 380 #define CTRY_THAILAND 66 381 #define CTRY_TRINIDAD_Y_TOBAGO 1 382 #define CTRY_TUNISIA 216 383 #define CTRY_TURKEY 90 384 #define CTRY_UAE 971 385 #define CTRY_UKRAINE 380 386 #define CTRY_UNITED_KINGDOM 44 387 #define CTRY_UNITED_STATES 1 388 #define CTRY_URUGUAY 598 389 #define CTRY_UZBEKISTAN 7 390 #define CTRY_VENEZUELA 58 391 #define CTRY_VIET_NAM 84 392 #define CTRY_YEMEN 967 393 #define CTRY_ZIMBABWE 263 394 #define CAL_ICALINTVALUE 1 395 #define CAL_SCALNAME 2 396 #define CAL_IYEAROFFSETRANGE 3 397 #define CAL_SERASTRING 4 398 #define CAL_SSHORTDATE 5 399 #define CAL_SLONGDATE 6 400 #define CAL_SDAYNAME1 7 401 #define CAL_SDAYNAME2 8 402 #define CAL_SDAYNAME3 9 403 #define CAL_SDAYNAME4 10 404 #define CAL_SDAYNAME5 11 405 #define CAL_SDAYNAME6 12 406 #define CAL_SDAYNAME7 13 407 #define CAL_SABBREVDAYNAME1 14 408 #define CAL_SABBREVDAYNAME2 15 409 #define CAL_SABBREVDAYNAME3 16 410 #define CAL_SABBREVDAYNAME4 17 411 #define CAL_SABBREVDAYNAME5 18 412 #define CAL_SABBREVDAYNAME6 19 413 #define CAL_SABBREVDAYNAME7 20 414 #define CAL_SMONTHNAME1 21 415 #define CAL_SMONTHNAME2 22 416 #define CAL_SMONTHNAME3 23 417 #define CAL_SMONTHNAME4 24 418 #define CAL_SMONTHNAME5 25 419 #define CAL_SMONTHNAME6 26 420 #define CAL_SMONTHNAME7 27 421 #define CAL_SMONTHNAME8 28 422 #define CAL_SMONTHNAME9 29 423 #define CAL_SMONTHNAME10 30 424 #define CAL_SMONTHNAME11 31 425 #define CAL_SMONTHNAME12 32 426 #define CAL_SMONTHNAME13 33 427 #define CAL_SABBREVMONTHNAME1 34 428 #define CAL_SABBREVMONTHNAME2 35 429 #define CAL_SABBREVMONTHNAME3 36 430 #define CAL_SABBREVMONTHNAME4 37 431 #define CAL_SABBREVMONTHNAME5 38 432 #define CAL_SABBREVMONTHNAME6 39 433 #define CAL_SABBREVMONTHNAME7 40 434 #define CAL_SABBREVMONTHNAME8 41 435 #define CAL_SABBREVMONTHNAME9 42 436 #define CAL_SABBREVMONTHNAME10 43 437 #define CAL_SABBREVMONTHNAME11 44 438 #define CAL_SABBREVMONTHNAME12 45 439 #define CAL_SABBREVMONTHNAME13 46 440 #define CAL_GREGORIAN 1 441 #define CAL_GREGORIAN_US 2 442 #define CAL_JAPAN 3 443 #define CAL_TAIWAN 4 444 #define CAL_KOREA 5 445 #define CAL_HIJRI 6 446 #define CAL_THAI 7 447 #define CAL_HEBREW 8 448 #define CAL_GREGORIAN_ME_FRENCH 9 449 #define CAL_GREGORIAN_ARABIC 10 450 #define CAL_GREGORIAN_XLIT_ENGLISH 11 451 #define CAL_GREGORIAN_XLIT_FRENCH 12 452 #define CSTR_LESS_THAN 1 453 #define CSTR_EQUAL 2 454 #define CSTR_GREATER_THAN 3 455 #define LGRPID_INSTALLED 1 456 #define LGRPID_SUPPORTED 2 457 #define LGRPID_WESTERN_EUROPE 1 458 #define LGRPID_CENTRAL_EUROPE 2 459 #define LGRPID_BALTIC 3 460 #define LGRPID_GREEK 4 461 #define LGRPID_CYRILLIC 5 462 #define LGRPID_TURKISH 6 463 #define LGRPID_JAPANESE 7 464 #define LGRPID_KOREAN 8 465 #define LGRPID_TRADITIONAL_CHINESE 9 466 #define LGRPID_SIMPLIFIED_CHINESE 10 467 #define LGRPID_THAI 11 468 #define LGRPID_HEBREW 12 469 #define LGRPID_ARABIC 13 470 #define LGRPID_VIETNAMESE 14 471 #define LGRPID_INDIC 15 472 #define LGRPID_GEORGIAN 16 473 #define LGRPID_ARMENIAN 17 474 475 #if (WINVER >= 0x0500) 476 #define LOCALE_SYEARMONTH 0x1006 477 #define LOCALE_SENGCURRNAME 0x1007 478 #define LOCALE_SNATIVECURRNAME 0x1008 479 #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012 480 #define LOCALE_SSORTNAME 0x1013 481 #define LOCALE_IDIGITSUBSTITUTION 0x1014 482 #define LOCALE_IPAPERSIZE 0x100A 483 #define DATE_YEARMONTH 8 484 #define DATE_LTRREADING 16 485 #define DATE_RTLREADING 32 486 #define MAP_EXPAND_LIGATURES 0x2000 487 #define CAL_SYEARMONTH 47 488 #define CAL_ITWODIGITYEARMAX 48 489 #define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE 490 #define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER 491 #define CAL_USE_CP_ACP LOCALE_USE_CP_ACP 492 #endif /* (WINVER >= 0x0500) */ 493 #if WINVER >= 0x0600 494 #define IDN_ALLOW_UNASSIGNED 0x1 495 #define IDN_USE_STD3_ASCII_RULES 0x2 496 #define VS_ALLOW_LATIN 0x1 497 #define GSS_ALLOW_INHERITED_COMMON 0x1 498 #endif 499 #ifndef _BASETSD_H_ 500 typedef long LONG_PTR; 501 #endif 502 503 #if (WINVER >= 0x0600) 504 #define MUI_FULL_LANGUAGE 0x01 505 #define MUI_LANGUAGE_ID 0x04 506 #define MUI_LANGUAGE_NAME 0x08 507 #define MUI_MERGE_SYSTEM_FALLBACK 0x10 508 #define MUI_MERGE_USER_FALLBACK 0x20 509 #define MUI_UI_FALLBACK MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK 510 #define MUI_MACHINE_LANGUAGE_SETTINGS 0x400 511 #endif /* (WINVER >= 0x0600) */ 512 513 #ifndef RC_INVOKED 514 typedef DWORD LCTYPE; 515 typedef DWORD CALTYPE; 516 typedef DWORD CALID; 517 typedef DWORD LGRPID; 518 typedef DWORD GEOID; 519 typedef DWORD GEOTYPE; 520 typedef DWORD GEOCLASS; 521 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM); 522 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM); 523 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM); 524 typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR); 525 typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR); 526 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR, CALID); 527 typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR, CALID); 528 typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR); 529 typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR); 530 typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR); 531 typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR); 532 typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR); 533 typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR); 534 typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR); 535 typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR); 536 typedef BOOL (CALLBACK *LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM); 537 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR); 538 typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR); 539 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR); 540 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR); 541 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR, CALID); 542 typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR, CALID); 543 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR); 544 typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR); 545 typedef BOOL (CALLBACK *GEO_ENUMPROC)(GEOID); 546 547 enum NLS_FUNCTION { 548 COMPARE_STRING = 0x0001 549 }; 550 typedef enum NLS_FUNCTION NLS_FUNCTION; 551 enum SYSGEOCLASS { 552 GEOCLASS_NATION = 16, 553 GEOCLASS_REGION = 14 554 }; 555 556 /* Geographic Information types */ 557 enum SYSGEOTYPE 558 { 559 GEO_NATION = 1, 560 GEO_LATITUDE, 561 GEO_LONGITUDE, 562 GEO_ISO2, 563 GEO_ISO3, 564 GEO_RFC1766, 565 GEO_LCID, 566 GEO_FRIENDLYNAME, 567 GEO_OFFICIALNAME, 568 GEO_TIMEZONES, 569 GEO_OFFICIALLANGUAGES, 570 GEO_ISO_UN_NUMBER, 571 GEO_PARENT, 572 GEO_DIALINGCODE, 573 GEO_CURRENCYCODE, 574 GEO_CURRENCYSYMBOL 575 }; 576 577 typedef struct _cpinfo { 578 UINT MaxCharSize; 579 BYTE DefaultChar[MAX_DEFAULTCHAR]; 580 BYTE LeadByte[MAX_LEADBYTES]; 581 } CPINFO,*LPCPINFO; 582 typedef struct _cpinfoexA { 583 UINT MaxCharSize; 584 BYTE DefaultChar[MAX_DEFAULTCHAR]; 585 BYTE LeadByte[MAX_LEADBYTES]; 586 WCHAR UnicodeDefaultChar; 587 UINT CodePage; 588 CHAR CodePageName[MAX_PATH]; 589 } CPINFOEXA,*LPCPINFOEXA; 590 typedef struct _cpinfoexW { 591 UINT MaxCharSize; 592 BYTE DefaultChar[MAX_DEFAULTCHAR]; 593 BYTE LeadByte[MAX_LEADBYTES]; 594 WCHAR UnicodeDefaultChar; 595 UINT CodePage; 596 WCHAR CodePageName[MAX_PATH]; 597 } CPINFOEXW,*LPCPINFOEXW; 598 typedef struct _currencyfmtA { 599 UINT NumDigits; 600 UINT LeadingZero; 601 UINT Grouping; 602 LPSTR lpDecimalSep; 603 LPSTR lpThousandSep; 604 UINT NegativeOrder; 605 UINT PositiveOrder; 606 LPSTR lpCurrencySymbol; 607 } CURRENCYFMTA,*LPCURRENCYFMTA; 608 typedef struct _currencyfmtW { 609 UINT NumDigits; 610 UINT LeadingZero; 611 UINT Grouping; 612 LPWSTR lpDecimalSep; 613 LPWSTR lpThousandSep; 614 UINT NegativeOrder; 615 UINT PositiveOrder; 616 LPWSTR lpCurrencySymbol; 617 } CURRENCYFMTW,*LPCURRENCYFMTW; 618 typedef struct nlsversioninfo { 619 DWORD dwNLSVersionInfoSize; 620 DWORD dwNLSVersion; 621 DWORD dwDefinedVersion; 622 } NLSVERSIONINFO,*LPNLSVERSIONINFO; 623 typedef struct _nlsversioninfoex { 624 DWORD dwNLSVersionInfoSize; 625 DWORD dwNLSVersion; 626 DWORD dwDefinedVersion; 627 DWORD dwEffectiveId; 628 GUID guidCustomVersion; 629 } NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX; 630 typedef struct _numberfmtA { 631 UINT NumDigits; 632 UINT LeadingZero; 633 UINT Grouping; 634 LPSTR lpDecimalSep; 635 LPSTR lpThousandSep; 636 UINT NegativeOrder; 637 } NUMBERFMTA,*LPNUMBERFMTA; 638 typedef struct _numberfmtW { 639 UINT NumDigits; 640 UINT LeadingZero; 641 UINT Grouping; 642 LPWSTR lpDecimalSep; 643 LPWSTR lpThousandSep; 644 UINT NegativeOrder; 645 } NUMBERFMTW,*LPNUMBERFMTW; 646 #if (WINVER >= 0x0600) 647 typedef enum _NORM_FORM { 648 NormalizationOther = 0, 649 NormalizationC = 0x1, 650 NormalizationD = 0x2, 651 NormalizationKC = 0x5, 652 NormalizationKD = 0x6 653 } NORM_FORM; 654 #endif /* (WINVER >= 0x0600) */ 655 typedef struct _FILEMUIINFO { 656 DWORD dwSize; 657 DWORD dwVersion; 658 DWORD dwFileType; 659 BYTE pChecksum[16]; 660 BYTE pServiceChecksum[16]; 661 DWORD dwLanguageNameOffset; 662 DWORD dwTypeIDMainSize; 663 DWORD dwTypeIDMainOffset; 664 DWORD dwTypeNameMainOffset; 665 DWORD dwTypeIDMUISize; 666 DWORD dwTypeIDMUIOffset; 667 DWORD dwTypeNameMUIOffset; 668 BYTE abBuffer[8]; 669 } FILEMUIINFO, *PFILEMUIINFO; 670 671 #define HIGH_SURROGATE_START 0xd800 672 #define HIGH_SURROGATE_END 0xdbff 673 #define LOW_SURROGATE_START 0xdc00 674 #define LOW_SURROGATE_END 0xdfff 675 676 #define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END) 677 #define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END) 678 #define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low)) 679 680 int 681 WINAPI 682 CompareStringA( 683 _In_ LCID Locale, 684 _In_ DWORD dwCmpFlags, 685 _In_reads_(cchCount1) LPCSTR lpString1, 686 _In_ int cchCount1, 687 _In_reads_(cchCount2) LPCSTR lpString2, 688 _In_ int cchCount2); 689 690 int 691 WINAPI 692 CompareStringW( 693 _In_ LCID Locale, 694 _In_ DWORD dwCmpFlags, 695 _In_reads_(cchCount1) LPCWSTR lpString1, 696 _In_ int cchCount1, 697 _In_reads_(cchCount2) LPCWSTR lpString2, 698 _In_ int cchCount2); 699 700 LCID WINAPI ConvertDefaultLocale(_In_ LCID); 701 BOOL WINAPI EnumCalendarInfoA(_In_ CALINFO_ENUMPROCA, _In_ LCID, _In_ CALID, _In_ CALTYPE); 702 BOOL WINAPI EnumCalendarInfoW(_In_ CALINFO_ENUMPROCW, _In_ LCID, _In_ CALID, _In_ CALTYPE); 703 BOOL WINAPI EnumDateFormatsA(_In_ DATEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD); 704 BOOL WINAPI EnumDateFormatsW(_In_ DATEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD); 705 BOOL WINAPI EnumSystemCodePagesA(_In_ CODEPAGE_ENUMPROCA, _In_ DWORD); 706 BOOL WINAPI EnumSystemCodePagesW(_In_ CODEPAGE_ENUMPROCW, _In_ DWORD); 707 BOOL WINAPI EnumSystemGeoID(_In_ GEOCLASS, _In_ GEOID, _In_ GEO_ENUMPROC); 708 BOOL WINAPI EnumSystemLocalesA(_In_ LOCALE_ENUMPROCA, _In_ DWORD); 709 BOOL WINAPI EnumSystemLocalesW(_In_ LOCALE_ENUMPROCW, _In_ DWORD); 710 BOOL WINAPI EnumTimeFormatsA(_In_ TIMEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD); 711 BOOL WINAPI EnumTimeFormatsW(_In_ TIMEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD); 712 713 int 714 WINAPI 715 FoldStringA( 716 _In_ DWORD dwMapFlags, 717 _In_reads_(cchSrc) LPCSTR lpSrcStr, 718 _In_ int cchSrc, 719 _Out_writes_opt_(cchDest) LPSTR lpDestStr, 720 _In_ int cchDest); 721 722 int 723 WINAPI 724 FoldStringW( 725 _In_ DWORD dwMapFlags, 726 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 727 _In_ int cchSrc, 728 _Out_writes_opt_(cchDest) LPWSTR lpDestStr, 729 _In_ int cchDest); 730 731 UINT WINAPI GetACP(void); 732 733 int 734 WINAPI 735 GetCalendarInfoA( 736 _In_ LCID Locale, 737 _In_ CALID Calendar, 738 _In_ CALTYPE CalType, 739 _Out_writes_opt_(cchData) LPSTR lpCalData, 740 _In_ int cchData, 741 _Out_opt_ LPDWORD lpValue); 742 743 int 744 WINAPI 745 GetCalendarInfoW( 746 _In_ LCID Locale, 747 _In_ CALID Calendar, 748 _In_ CALTYPE CalType, 749 _Out_writes_opt_(cchData) LPWSTR lpCalData, 750 _In_ int cchData, 751 _Out_opt_ LPDWORD lpValue); 752 753 BOOL WINAPI GetCPInfo(_In_ UINT, _Out_ LPCPINFO); 754 BOOL WINAPI GetCPInfoExA(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXA); 755 BOOL WINAPI GetCPInfoExW(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXW); 756 757 int 758 WINAPI 759 GetCurrencyFormatA( 760 _In_ LCID Locale, 761 _In_ DWORD dwFlags, 762 _In_ LPCSTR lpValue, 763 _In_opt_ const CURRENCYFMTA *lpFormat, 764 _Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr, 765 _In_ int cchCurrency); 766 767 int 768 WINAPI 769 GetCurrencyFormatW( 770 _In_ LCID Locale, 771 _In_ DWORD dwFlags, 772 _In_ LPCWSTR lpValue, 773 _In_opt_ const CURRENCYFMTW *lpFormat, 774 _Out_writes_opt_(cchCurrency) LPWSTR lpCurrencyStr, 775 _In_ int cchCurrency); 776 777 int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); 778 int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); 779 int WINAPI GetDateFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int,LPCWSTR); 780 781 int 782 WINAPI 783 GetGeoInfoA( 784 _In_ GEOID Location, 785 _In_ GEOTYPE GeoType, 786 _Out_writes_opt_(cchData) LPSTR lpGeoData, 787 _In_ int cchData, 788 _In_ LANGID LangId); 789 790 int 791 WINAPI 792 GetGeoInfoW( 793 _In_ GEOID Location, 794 _In_ GEOTYPE GeoType, 795 _Out_writes_opt_(cchData) LPWSTR lpGeoData, 796 _In_ int cchData, 797 _In_ LANGID LangId); 798 799 int 800 WINAPI 801 GetLocaleInfoA( 802 _In_ LCID Locale, 803 _In_ LCTYPE LCType, 804 _Out_writes_opt_(cchData) LPSTR lpLCData, 805 _In_ int cchData); 806 807 int 808 WINAPI 809 GetLocaleInfoW( 810 _In_ LCID Locale, 811 _In_ LCTYPE LCType, 812 _Out_writes_opt_(cchData) LPWSTR lpLCData, 813 _In_ int cchData); 814 815 BOOL WINAPI GetNLSVersion(_In_ NLS_FUNCTION, _In_ LCID, _Inout_ LPNLSVERSIONINFO); 816 817 BOOL 818 WINAPI 819 GetNLSVersionEx( 820 _In_ NLS_FUNCTION function, 821 _In_ LPCWSTR lpLocaleName, 822 _Inout_ LPNLSVERSIONINFOEX lpVersionInformation); 823 824 int 825 WINAPI 826 GetNumberFormatA( 827 _In_ LCID Locale, 828 _In_ DWORD dwFlags, 829 _In_ LPCSTR lpValue, 830 _In_opt_ const NUMBERFMTA *lpFormat, 831 _Out_writes_opt_(cchNumber) LPSTR lpNumberStr, 832 _In_ int cchNumber); 833 834 int 835 WINAPI 836 GetNumberFormatW( 837 _In_ LCID Locale, 838 _In_ DWORD dwFlags, 839 _In_ LPCWSTR lpValue, 840 _In_opt_ const NUMBERFMTW *lpFormat, 841 _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr, 842 _In_ int cchNumber); 843 844 UINT WINAPI GetOEMCP(void); 845 846 BOOL 847 WINAPI 848 GetStringTypeA( 849 _In_ LCID Locale, 850 _In_ DWORD dwInfoType, 851 _In_reads_(cchSrc) LPCSTR lpSrcStr, 852 _In_ int cchSrc, 853 _Out_ LPWORD lpCharType); 854 855 BOOL 856 WINAPI 857 GetStringTypeW( 858 _In_ DWORD dwInfoType, 859 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 860 _In_ int cchSrc, 861 _Out_ LPWORD lpCharType); 862 863 BOOL 864 WINAPI 865 GetStringTypeExA( 866 _In_ LCID Locale, 867 _In_ DWORD dwInfoType, 868 _In_reads_(cchSrc) LPCSTR lpSrcStr, 869 _In_ int cchSrc, 870 _Out_writes_(cchSrc) LPWORD lpCharType); 871 872 BOOL 873 WINAPI 874 GetStringTypeExW( 875 _In_ LCID Locale, 876 _In_ DWORD dwInfoType, 877 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 878 _In_ int cchSrc, 879 _Out_writes_(cchSrc) LPWORD lpCharType); 880 881 LANGID WINAPI GetSystemDefaultLangID(void); 882 LCID WINAPI GetSystemDefaultLCID(void); 883 LCID WINAPI GetThreadLocale(void); 884 int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); 885 int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); 886 int WINAPI GetTimeFormatEx(LPCWSTR,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); 887 LANGID WINAPI GetUserDefaultLangID(void); 888 LCID WINAPI GetUserDefaultLCID(void); 889 GEOID WINAPI GetUserGeoID(_In_ GEOCLASS); 890 891 #if (WINVER >= 0x0600) 892 893 int 894 WINAPI 895 IdnToAscii( 896 _In_ DWORD dwFlags, 897 _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, 898 _In_ int cchUnicodeChar, 899 _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr, 900 _In_ int cchASCIIChar); 901 902 int 903 WINAPI 904 IdnToUnicode( 905 _In_ DWORD dwFlags, 906 _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr, 907 _In_ int cchASCIIChar, 908 _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr, 909 _In_ int cchUnicodeChar); 910 911 #endif /* WINVER >= 0x0600 */ 912 913 BOOL WINAPI IsDBCSLeadByte(_In_ BYTE); 914 BOOL WINAPI IsDBCSLeadByteEx(_In_ UINT, _In_ BYTE); 915 916 BOOL 917 WINAPI 918 IsNLSDefinedString( 919 _In_ NLS_FUNCTION Function, 920 _In_ DWORD dwFlags, 921 _In_ LPNLSVERSIONINFO lpVersionInformation, 922 _In_reads_(cchStr) LPCWSTR lpString, 923 _In_ int cchStr); 924 925 BOOL WINAPI IsValidCodePage(_In_ UINT); 926 BOOL WINAPI IsValidLocale(_In_ LCID, _In_ DWORD); 927 928 int 929 WINAPI 930 LCMapStringA( 931 _In_ LCID Locale, 932 _In_ DWORD dwMapFlags, 933 _In_reads_(cchSrc) LPCSTR lpSrcStr, 934 _In_ int cchSrc, 935 _Out_writes_opt_(_Inexpressible_(cchDest)) LPSTR lpDestStr, 936 _In_ int cchDest); 937 938 int 939 WINAPI 940 LCMapStringW( 941 _In_ LCID Locale, 942 _In_ DWORD dwMapFlags, 943 _In_reads_(cchSrc) LPCWSTR lpSrcStr, 944 _In_ int cchSrc, 945 _Out_writes_opt_(_Inexpressible_(cchDest)) LPWSTR lpDestStr, 946 _In_ int cchDest); 947 948 int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int); 949 int WINAPI SetCalendarInfoA(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCSTR); 950 int WINAPI SetCalendarInfoW(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCWSTR); 951 BOOL WINAPI SetLocaleInfoA(_In_ LCID, _In_ LCTYPE, _In_ LPCSTR); 952 BOOL WINAPI SetLocaleInfoW(_In_ LCID, _In_ LCTYPE, _In_ LPCWSTR); 953 BOOL WINAPI SetThreadLocale(_In_ LCID); 954 LANGID WINAPI SetThreadUILanguage(_In_ LANGID); 955 BOOL WINAPI SetUserDefaultLCID(LCID); 956 BOOL WINAPI SetUserDefaultUILanguage(LANGID); 957 BOOL WINAPI SetUserGeoID(_In_ GEOID); 958 int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL); 959 #if (WINVER >= 0x0500) 960 BOOL WINAPI EnumCalendarInfoExA(_In_ CALINFO_ENUMPROCEXA, _In_ LCID, _In_ CALID, _In_ CALTYPE); 961 BOOL WINAPI EnumCalendarInfoExW(_In_ CALINFO_ENUMPROCEXW, _In_ LCID, _In_ CALID, _In_ CALTYPE); 962 BOOL WINAPI EnumDateFormatsExA(_In_ DATEFMT_ENUMPROCEXA, _In_ LCID, _In_ DWORD); 963 BOOL WINAPI EnumDateFormatsExW(_In_ DATEFMT_ENUMPROCEXW, _In_ LCID, _In_ DWORD); 964 BOOL WINAPI EnumSystemLanguageGroupsA(_In_ LANGUAGEGROUP_ENUMPROCA, _In_ DWORD, _In_ LONG_PTR); 965 BOOL WINAPI EnumSystemLanguageGroupsW(_In_ LANGUAGEGROUP_ENUMPROCW, _In_ DWORD, _In_ LONG_PTR); 966 BOOL WINAPI EnumLanguageGroupLocalesA(_In_ LANGGROUPLOCALE_ENUMPROCA, _In_ LGRPID, _In_ DWORD, _In_ LONG_PTR); 967 BOOL WINAPI EnumLanguageGroupLocalesW(_In_ LANGGROUPLOCALE_ENUMPROCW, _In_ LGRPID, _In_ DWORD, _In_ LONG_PTR); 968 BOOL WINAPI EnumUILanguagesA(_In_ UILANGUAGE_ENUMPROCA, _In_ DWORD, _In_ LONG_PTR); 969 BOOL WINAPI EnumUILanguagesW(_In_ UILANGUAGE_ENUMPROCW, _In_ DWORD, _In_ LONG_PTR); 970 LANGID WINAPI GetSystemDefaultUILanguage(void); 971 LANGID WINAPI GetUserDefaultUILanguage(void); 972 BOOL WINAPI IsValidLanguageGroup(_In_ LGRPID, _In_ DWORD); 973 #endif /* (WINVER >= 0x0500) */ 974 975 #if (WINVER >= 0x0600) 976 977 _Success_(return != FALSE) 978 BOOL 979 WINAPI 980 GetFileMUIInfo( 981 _In_ DWORD dwFlags, 982 _In_ PCWSTR pcwszFilePath, 983 _Inout_updates_bytes_to_opt_(*pcbFileMUIInfo, *pcbFileMUIInfo) PFILEMUIINFO pFileMUIInfo, 984 _Inout_ DWORD *pcbFileMUIInfo); 985 986 BOOL 987 WINAPI 988 GetFileMUIPath( 989 _In_ DWORD dwFlags, 990 _In_ PCWSTR pcwszFilePath, 991 _Inout_updates_opt_(*pcchLanguage) PWSTR pwszLanguage, 992 _Inout_ PULONG pcchLanguage, 993 _Out_writes_opt_(*pcchFileMUIPath) PWSTR pwszFileMUIPath, 994 _Inout_ PULONG pcchFileMUIPath, 995 _Inout_ PULONGLONG pululEnumerator); 996 997 WINBASEAPI 998 int 999 WINAPI 1000 GetLocaleInfoEx( 1001 _In_opt_ LPCWSTR lpLocaleName, 1002 _In_ LCTYPE LCType, 1003 _Out_writes_opt_(cchData) LPWSTR lpLCData, 1004 _In_ int cchData); 1005 1006 BOOL WINAPI IsValidLocaleName(_In_ LPCWSTR lpLocaleName); 1007 1008 BOOL 1009 WINAPI 1010 GetProcessPreferredUILanguages( 1011 _In_ DWORD dwFlags, 1012 _Out_ PULONG pulNumLanguages, 1013 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1014 _Inout_ PULONG pcchLanguagesBuffer); 1015 1016 BOOL 1017 WINAPI 1018 GetSystemPreferredUILanguages( 1019 _In_ DWORD dwFlags, 1020 _Out_ PULONG pulNumLanguages, 1021 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1022 _Inout_ PULONG pcchLanguagesBuffer); 1023 1024 BOOL 1025 WINAPI 1026 GetThreadPreferredUILanguages( 1027 _In_ DWORD dwFlags, 1028 _Out_ PULONG pulNumLanguages, 1029 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1030 _Inout_ PULONG pcchLanguagesBuffer); 1031 1032 LANGID WINAPI GetThreadUILanguage(void); 1033 1034 BOOL 1035 WINAPI 1036 GetUILanguageInfo( 1037 _In_ DWORD dwFlags, 1038 _In_ PCZZWSTR pwmszLanguage, 1039 _Out_writes_opt_(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages, 1040 _Inout_opt_ PDWORD pcchFallbackLanguages, 1041 _Out_ PDWORD pAttributes); 1042 1043 BOOL 1044 WINAPI 1045 GetUserPreferredUILanguages( 1046 _In_ DWORD dwFlags, 1047 _Out_ PULONG pulNumLanguages, 1048 _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, 1049 _Inout_ PULONG pcchLanguagesBuffer); 1050 1051 int 1052 WINAPI 1053 IdnToAscii( 1054 _In_ DWORD dwFlags, 1055 _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, 1056 _In_ int cchUnicodeChar, 1057 _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr, 1058 _In_ int cchASCIIChar); 1059 1060 int 1061 WINAPI 1062 IdnToNameprepUnicode( 1063 _In_ DWORD dwFlags, 1064 _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, 1065 _In_ int cchUnicodeChar, 1066 _Out_writes_opt_(cchNameprepChar) LPWSTR lpNameprepCharStr, 1067 _In_ int cchNameprepChar); 1068 1069 int 1070 WINAPI 1071 IdnToUnicode( 1072 _In_ DWORD dwFlags, 1073 _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr, 1074 _In_ int cchASCIIChar, 1075 _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr, 1076 _In_ int cchUnicodeChar); 1077 1078 BOOL 1079 WINAPI 1080 IsNormalizedString( 1081 _In_ NORM_FORM NormForm, 1082 _In_reads_(cwLength) LPCWSTR lpString, 1083 _In_ int cwLength); 1084 1085 int 1086 WINAPI 1087 NormalizeString( 1088 _In_ NORM_FORM NormForm, 1089 _In_reads_(cwSrcLength) LPCWSTR lpSrcString, 1090 _In_ int cwSrcLength, 1091 _Out_writes_opt_(cwDstLength) LPWSTR lpDstString, 1092 _In_ int cwDstLength); 1093 1094 int 1095 WINAPI 1096 GetStringScripts( 1097 _In_ DWORD dwFlags, 1098 _In_ LPCWSTR lpString, 1099 _In_ int cchString, 1100 _Out_writes_opt_(cchScripts) LPWSTR lpScripts, 1101 _In_ int cchScripts); 1102 1103 BOOL WINAPI SetProcessPreferredUILanguages(_In_ DWORD, _In_opt_ PCZZWSTR, _Out_opt_ PULONG); 1104 BOOL WINAPI SetThreadPreferredUILanguages(_In_ DWORD, _In_opt_ PCZZWSTR, _Out_opt_ PULONG); 1105 BOOL WINAPI VerifyScripts(_In_ DWORD, _In_ LPCWSTR, _In_ int, _In_ LPCWSTR, _In_ int); 1106 INT WINAPI LCMapStringEx(_In_ LPCWSTR, _In_ DWORD, _In_ LPCWSTR, _In_ INT, _Out_opt_ LPWSTR, _In_ INT, _In_ LPNLSVERSIONINFO, _In_ LPVOID, _In_ LPARAM); 1107 LCID WINAPI LocaleNameToLCID(_In_ LPCWSTR, _In_ DWORD); 1108 1109 #endif /* (WINVER >= 0x0600) */ 1110 1111 #ifdef UNICODE 1112 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW 1113 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW 1114 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW 1115 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW 1116 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW 1117 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW 1118 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW 1119 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW 1120 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW 1121 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW 1122 typedef CPINFOEXW CPINFOEX; 1123 typedef LPCPINFOEXW LPCPINFOEX; 1124 typedef CURRENCYFMTW CURRENCYFMT; 1125 typedef LPCURRENCYFMTW LPCURRENCYFMT; 1126 typedef NUMBERFMTW NUMBERFMT; 1127 typedef LPNUMBERFMTW LPNUMBERFMT; 1128 #define CompareString CompareStringW 1129 #define EnumCalendarInfo EnumCalendarInfoW 1130 #define EnumDateFormats EnumDateFormatsW 1131 #define EnumSystemCodePages EnumSystemCodePagesW 1132 #define EnumSystemLocales EnumSystemLocalesW 1133 #define EnumTimeFormats EnumTimeFormatsW 1134 #define FoldString FoldStringW 1135 #define GetCalendarInfo GetCalendarInfoW 1136 #define GetCPInfoEx GetCPInfoExW 1137 #define GetCurrencyFormat GetCurrencyFormatW 1138 #define GetDateFormat GetDateFormatW 1139 #define GetGeoInfo GetGeoInfoW 1140 #define GetLocaleInfo GetLocaleInfoW 1141 #define GetNumberFormat GetNumberFormatW 1142 #define GetStringTypeEx GetStringTypeExW 1143 #define GetTimeFormat GetTimeFormatW 1144 #define LCMapString LCMapStringW 1145 #define SetCalendarInfo SetCalendarInfoW 1146 #define SetLocaleInfo SetLocaleInfoW 1147 #if (WINVER >= 0x0500) 1148 #define EnumCalendarInfoEx EnumCalendarInfoExW 1149 #define EnumDateFormatsEx EnumDateFormatsExW 1150 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW 1151 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW 1152 #define EnumUILanguages EnumUILanguagesW 1153 #endif /* (WINVER >= 0x0500) */ 1154 #else 1155 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA 1156 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA 1157 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA 1158 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA 1159 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA 1160 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA 1161 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA 1162 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA 1163 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA 1164 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA 1165 typedef CPINFOEXA CPINFOEX; 1166 typedef LPCPINFOEXA LPCPINFOEX; 1167 typedef CURRENCYFMTA CURRENCYFMT; 1168 typedef LPCURRENCYFMTA LPCURRENCYFMT; 1169 typedef NUMBERFMTA NUMBERFMT; 1170 typedef LPNUMBERFMTA LPNUMBERFMT; 1171 #define CompareString CompareStringA 1172 #define EnumCalendarInfo EnumCalendarInfoA 1173 #define EnumDateFormats EnumDateFormatsA 1174 #define EnumSystemCodePages EnumSystemCodePagesA 1175 #define EnumSystemLocales EnumSystemLocalesA 1176 #define EnumTimeFormats EnumTimeFormatsA 1177 #define FoldString FoldStringA 1178 #define GetCalendarInfo GetCalendarInfoA 1179 #define GetCPInfoEx GetCPInfoExA 1180 #define GetCurrencyFormat GetCurrencyFormatA 1181 #define GetDateFormat GetDateFormatA 1182 #define GetGeoInfo GetGeoInfoA 1183 #define GetLocaleInfo GetLocaleInfoA 1184 #define GetNumberFormat GetNumberFormatA 1185 #define GetStringTypeEx GetStringTypeExA 1186 #define GetTimeFormat GetTimeFormatA 1187 #define LCMapString LCMapStringA 1188 #define SetCalendarInfo SetCalendarInfoA 1189 #define SetLocaleInfo SetLocaleInfoA 1190 #if (WINVER >= 0x0500) 1191 #define EnumCalendarInfoEx EnumCalendarInfoExA 1192 #define EnumDateFormatsEx EnumDateFormatsExA 1193 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA 1194 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA 1195 #define EnumUILanguages EnumUILanguagesA 1196 #endif /* (WINVER >= 0x0500) */ 1197 #endif /* UNICODE */ 1198 #endif /* RC_INVOKED */ 1199 1200 #ifdef _MSC_VER 1201 #pragma warning(pop) 1202 #endif 1203 1204 #ifdef __cplusplus 1205 } 1206 #endif 1207 #endif 1208