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