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