Diff

Not logged in

Differences From Artifact [50bd587780b74515]:

To Artifact [7ac912f533a75996]:


1 +/***********************************************************************\ 2 +* winnls.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.winnls; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winbase; 8 - 9 -// #ifndef _WINNLS_ 10 -// #define _WINNLS_ 11 - 12 -// #ifdef __cplusplus 13 -// extern "C" { 14 -// #endif 15 - 16 -// #ifndef NONLS 17 - 18 -// #ifdef _MAC 19 -// #... 20 -// #endif 21 - 22 -enum : uint { MAX_LEADBYTES = 12 } 23 -enum : uint { MAX_DEFAULTCHAR = 2 } 24 - 25 -enum : uint { MB_PRECOMPOSED = 0x00000001 } 26 -enum : uint { MB_COMPOSITE = 0x00000002 } 27 -enum : uint { MB_USEGLYPHCHARS = 0x00000004 } 28 -enum : uint { MB_ERR_INVALID_CHARS = 0x00000008 } 29 - 30 -enum : uint { WC_COMPOSITECHECK = 0x00000200 } 31 -enum : uint { WC_DISCARDNS = 0x00000010 } 32 -enum : uint { WC_SEPCHARS = 0x00000020 } 33 -enum : uint { WC_DEFAULTCHAR = 0x00000040 } 34 - 35 -// #if(WINVER >= 0x0500) 36 -enum : uint { WC_NO_BEST_FIT_CHARS = 0x00000400 } 37 -// #endif /* WINVER >= 0x0500 */ 38 - 39 -enum : uint { CT_CTYPE1 = 0x00000001 } 40 -enum : uint { CT_CTYPE2 = 0x00000002 } 41 -enum : uint { CT_CTYPE3 = 0x00000004 } 42 - 43 -enum : uint { C1_UPPER = 0x0001 } 44 -enum : uint { C1_LOWER = 0x0002 } 45 -enum : uint { C1_DIGIT = 0x0004 } 46 -enum : uint { C1_SPACE = 0x0008 } 47 -enum : uint { C1_PUNCT = 0x0010 } 48 -enum : uint { C1_CNTRL = 0x0020 } 49 -enum : uint { C1_BLANK = 0x0040 } 50 -enum : uint { C1_XDIGIT = 0x0080 } 51 -enum : uint { C1_ALPHA = 0x0100 } 52 -enum : uint { C1_DEFINED = 0x0200 } 53 - 54 -enum : uint { C2_LEFTTORIGHT = 0x0001 } 55 -enum : uint { C2_RIGHTTOLEFT = 0x0002 } 56 - 57 -enum : uint { C2_EUROPENUMBER = 0x0003 } 58 -enum : uint { C2_EUROPESEPARATOR = 0x0004 } 59 -enum : uint { C2_EUROPETERMINATOR = 0x0005 } 60 -enum : uint { C2_ARABICNUMBER = 0x0006 } 61 -enum : uint { C2_COMMONSEPARATOR = 0x0007 } 62 - 63 -enum : uint { C2_BLOCKSEPARATOR = 0x0008 } 64 -enum : uint { C2_SEGMENTSEPARATOR = 0x0009 } 65 -enum : uint { C2_WHITESPACE = 0x000A } 66 -enum : uint { C2_OTHERNEUTRAL = 0x000B } 67 - 68 -enum : uint { C2_NOTAPPLICABLE = 0x0000 } 69 - 70 -enum : uint { C3_NONSPACING = 0x0001 } 71 -enum : uint { C3_DIACRITIC = 0x0002 } 72 -enum : uint { C3_VOWELMARK = 0x0004 } 73 -enum : uint { C3_SYMBOL = 0x0008 } 74 - 75 -enum : uint { C3_KATAKANA = 0x0010 } 76 -enum : uint { C3_HIRAGANA = 0x0020 } 77 -enum : uint { C3_HALFWIDTH = 0x0040 } 78 -enum : uint { C3_FULLWIDTH = 0x0080 } 79 -enum : uint { C3_IDEOGRAPH = 0x0100 } 80 -enum : uint { C3_KASHIDA = 0x0200 } 81 -enum : uint { C3_LEXICAL = 0x0400 } 82 - 83 -enum : uint { C3_ALPHA = 0x8000 } 84 - 85 -enum : uint { C3_NOTAPPLICABLE = 0x0000 } 86 - 87 -enum : uint { NORM_IGNORECASE = 0x00000001 } 88 -enum : uint { NORM_IGNORENONSPACE = 0x00000002 } 89 -enum : uint { NORM_IGNORESYMBOLS = 0x00000004 } 90 - 91 -enum : uint { NORM_IGNOREKANATYPE = 0x00010000 } 92 -enum : uint { NORM_IGNOREWIDTH = 0x00020000 } 93 - 94 -enum : uint { MAP_FOLDCZONE = 0x00000010 } 95 -enum : uint { MAP_PRECOMPOSED = 0x00000020 } 96 -enum : uint { MAP_COMPOSITE = 0x00000040 } 97 -enum : uint { MAP_FOLDDIGITS = 0x00000080 } 98 - 99 -// #if(WINVER >= 0x0500) 100 -enum : uint { MAP_EXPAND_LIGATURES = 0x00002000 } 101 -// #endif /* WINVER >= 0x0500 */ 102 - 103 -enum : uint { LCMAP_LOWERCASE = 0x00000100 } 104 -enum : uint { LCMAP_UPPERCASE = 0x00000200 } 105 -enum : uint { LCMAP_SORTKEY = 0x00000400 } 106 -enum : uint { LCMAP_BYTEREV = 0x00000800 } 107 - 108 -enum : uint { LCMAP_HIRAGANA = 0x00100000 } 109 -enum : uint { LCMAP_KATAKANA = 0x00200000 } 110 -enum : uint { LCMAP_HALFWIDTH = 0x00400000 } 111 -enum : uint { LCMAP_FULLWIDTH = 0x00800000 } 112 - 113 -enum : uint { LCMAP_LINGUISTIC_CASING = 0x01000000 } 114 - 115 -enum : uint { LCMAP_SIMPLIFIED_CHINESE = 0x02000000 } 116 -enum : uint { LCMAP_TRADITIONAL_CHINESE = 0x04000000 } 117 - 118 -enum : uint { LGRPID_INSTALLED = 0x00000001 } 119 -enum : uint { LGRPID_SUPPORTED = 0x00000002 } 120 - 121 -enum : uint { LCID_INSTALLED = 0x00000001 } 122 -enum : uint { LCID_SUPPORTED = 0x00000002 } 123 -enum : uint { LCID_ALTERNATE_SORTS = 0x00000004 } 124 - 125 -enum : uint { CP_INSTALLED = 0x00000001 } 126 -enum : uint { CP_SUPPORTED = 0x00000002 } 127 - 128 -enum : uint { SORT_STRINGSORT = 0x00001000 } 129 - 130 -enum : uint { CSTR_LESS_THAN = 1 } 131 -enum : uint { CSTR_EQUAL = 2 } 132 -enum : uint { CSTR_GREATER_THAN = 3 } 133 - 134 -enum : uint { CP_ACP = 0 } 135 -enum : uint { CP_OEMCP = 1 } 136 -enum : uint { CP_MACCP = 2 } 137 -enum : uint { CP_THREAD_ACP = 3 } 138 -enum : uint { CP_SYMBOL = 42 } 139 - 140 -enum : uint { CP_UTF7 = 65000 } 141 -enum : uint { CP_UTF8 = 65001 } 142 - 143 -enum : uint { CTRY_DEFAULT = 0 } 144 - 145 -enum : uint { CTRY_ALBANIA = 355 } 146 -enum : uint { CTRY_ALGERIA = 213 } 147 -enum : uint { CTRY_ARGENTINA = 54 } 148 -enum : uint { CTRY_ARMENIA = 374 } 149 -enum : uint { CTRY_AUSTRALIA = 61 } 150 -enum : uint { CTRY_AUSTRIA = 43 } 151 -enum : uint { CTRY_AZERBAIJAN = 994 } 152 -enum : uint { CTRY_BAHRAIN = 973 } 153 -enum : uint { CTRY_BELARUS = 375 } 154 -enum : uint { CTRY_BELGIUM = 32 } 155 -enum : uint { CTRY_BELIZE = 501 } 156 -enum : uint { CTRY_BOLIVIA = 591 } 157 -enum : uint { CTRY_BRAZIL = 55 } 158 -enum : uint { CTRY_BRUNEI_DARUSSALAM = 673 } 159 -enum : uint { CTRY_BULGARIA = 359 } 160 -enum : uint { CTRY_CANADA = 2 } 161 -enum : uint { CTRY_CARIBBEAN = 1 } 162 -enum : uint { CTRY_CHILE = 56 } 163 -enum : uint { CTRY_COLOMBIA = 57 } 164 -enum : uint { CTRY_COSTA_RICA = 506 } 165 -enum : uint { CTRY_CROATIA = 385 } 166 -enum : uint { CTRY_CZECH = 420 } 167 -enum : uint { CTRY_DENMARK = 45 } 168 -enum : uint { CTRY_DOMINICAN_REPUBLIC = 1 } 169 -enum : uint { CTRY_ECUADOR = 593 } 170 -enum : uint { CTRY_EGYPT = 20 } 171 -enum : uint { CTRY_EL_SALVADOR = 503 } 172 -enum : uint { CTRY_ESTONIA = 372 } 173 -enum : uint { CTRY_FAEROE_ISLANDS = 298 } 174 -enum : uint { CTRY_FINLAND = 358 } 175 -enum : uint { CTRY_FRANCE = 33 } 176 -enum : uint { CTRY_GEORGIA = 995 } 177 -enum : uint { CTRY_GERMANY = 49 } 178 -enum : uint { CTRY_GREECE = 30 } 179 -enum : uint { CTRY_GUATEMALA = 502 } 180 -enum : uint { CTRY_HONDURAS = 504 } 181 -enum : uint { CTRY_HONG_KONG = 852 } 182 -enum : uint { CTRY_HUNGARY = 36 } 183 -enum : uint { CTRY_ICELAND = 354 } 184 -enum : uint { CTRY_INDIA = 91 } 185 -enum : uint { CTRY_INDONESIA = 62 } 186 -enum : uint { CTRY_IRAN = 981 } 187 -enum : uint { CTRY_IRAQ = 964 } 188 -enum : uint { CTRY_IRELAND = 353 } 189 -enum : uint { CTRY_ISRAEL = 972 } 190 -enum : uint { CTRY_ITALY = 39 } 191 -enum : uint { CTRY_JAMAICA = 1 } 192 -enum : uint { CTRY_JAPAN = 81 } 193 -enum : uint { CTRY_JORDAN = 962 } 194 -enum : uint { CTRY_KAZAKSTAN = 7 } 195 -enum : uint { CTRY_KENYA = 254 } 196 -enum : uint { CTRY_KUWAIT = 965 } 197 -enum : uint { CTRY_KYRGYZSTAN = 996 } 198 -enum : uint { CTRY_LATVIA = 371 } 199 -enum : uint { CTRY_LEBANON = 961 } 200 -enum : uint { CTRY_LIBYA = 218 } 201 -enum : uint { CTRY_LIECHTENSTEIN = 41 } 202 -enum : uint { CTRY_LITHUANIA = 370 } 203 -enum : uint { CTRY_LUXEMBOURG = 352 } 204 -enum : uint { CTRY_MACAU = 853 } 205 -enum : uint { CTRY_MACEDONIA = 389 } 206 -enum : uint { CTRY_MALAYSIA = 60 } 207 -enum : uint { CTRY_MALDIVES = 960 } 208 -enum : uint { CTRY_MEXICO = 52 } 209 -enum : uint { CTRY_MONACO = 33 } 210 -enum : uint { CTRY_MONGOLIA = 976 } 211 -enum : uint { CTRY_MOROCCO = 212 } 212 -enum : uint { CTRY_NETHERLANDS = 31 } 213 -enum : uint { CTRY_NEW_ZEALAND = 64 } 214 -enum : uint { CTRY_NICARAGUA = 505 } 215 -enum : uint { CTRY_NORWAY = 47 } 216 -enum : uint { CTRY_OMAN = 968 } 217 -enum : uint { CTRY_PAKISTAN = 92 } 218 -enum : uint { CTRY_PANAMA = 507 } 219 -enum : uint { CTRY_PARAGUAY = 595 } 220 -enum : uint { CTRY_PERU = 51 } 221 -enum : uint { CTRY_PHILIPPINES = 63 } 222 -enum : uint { CTRY_POLAND = 48 } 223 -enum : uint { CTRY_PORTUGAL = 351 } 224 -enum : uint { CTRY_PRCHINA = 86 } 225 -enum : uint { CTRY_PUERTO_RICO = 1 } 226 -enum : uint { CTRY_QATAR = 974 } 227 -enum : uint { CTRY_ROMANIA = 40 } 228 -enum : uint { CTRY_RUSSIA = 7 } 229 -enum : uint { CTRY_SAUDI_ARABIA = 966 } 230 -enum : uint { CTRY_SERBIA = 381 } 231 -enum : uint { CTRY_SINGAPORE = 65 } 232 -enum : uint { CTRY_SLOVAK = 421 } 233 -enum : uint { CTRY_SLOVENIA = 386 } 234 -enum : uint { CTRY_SOUTH_AFRICA = 27 } 235 -enum : uint { CTRY_SOUTH_KOREA = 82 } 236 -enum : uint { CTRY_SPAIN = 34 } 237 -enum : uint { CTRY_SWEDEN = 46 } 238 -enum : uint { CTRY_SWITZERLAND = 41 } 239 -enum : uint { CTRY_SYRIA = 963 } 240 -enum : uint { CTRY_TAIWAN = 886 } 241 -enum : uint { CTRY_TATARSTAN = 7 } 242 -enum : uint { CTRY_THAILAND = 66 } 243 -enum : uint { CTRY_TRINIDAD_Y_TOBAGO = 1 } 244 -enum : uint { CTRY_TUNISIA = 216 } 245 -enum : uint { CTRY_TURKEY = 90 } 246 -enum : uint { CTRY_UAE = 971 } 247 -enum : uint { CTRY_UKRAINE = 380 } 248 -enum : uint { CTRY_UNITED_KINGDOM = 44 } 249 -enum : uint { CTRY_UNITED_STATES = 1 } 250 -enum : uint { CTRY_URUGUAY = 598 } 251 -enum : uint { CTRY_UZBEKISTAN = 7 } 252 -enum : uint { CTRY_VENEZUELA = 58 } 253 -enum : uint { CTRY_VIET_NAM = 84 } 254 -enum : uint { CTRY_YEMEN = 967 } 255 -enum : uint { CTRY_ZIMBABWE = 263 } 256 - 257 -enum : uint { LOCALE_NOUSEROVERRIDE = 0x80000000 } 258 -enum : uint { LOCALE_USE_CP_ACP = 0x40000000 } 259 - 260 -// #if(WINVER >= 0x0400) 261 -enum : uint { LOCALE_RETURN_NUMBER = 0x20000000 } 262 -// #endif /* WINVER >= 0x0400 */ 263 - 264 -enum : uint { LOCALE_ILANGUAGE = 0x00000001 } 265 -enum : uint { LOCALE_SLANGUAGE = 0x00000002 } 266 -enum : uint { LOCALE_SENGLANGUAGE = 0x00001001 } 267 -enum : uint { LOCALE_SABBREVLANGNAME = 0x00000003 } 268 -enum : uint { LOCALE_SNATIVELANGNAME = 0x00000004 } 269 - 270 -enum : uint { LOCALE_ICOUNTRY = 0x00000005 } 271 -enum : uint { LOCALE_SCOUNTRY = 0x00000006 } 272 -enum : uint { LOCALE_SENGCOUNTRY = 0x00001002 } 273 -enum : uint { LOCALE_SABBREVCTRYNAME = 0x00000007 } 274 -enum : uint { LOCALE_SNATIVECTRYNAME = 0x00000008 } 275 - 276 -enum : uint { LOCALE_IDEFAULTLANGUAGE = 0x00000009 } 277 -enum : uint { LOCALE_IDEFAULTCOUNTRY = 0x0000000A } 278 -enum : uint { LOCALE_IDEFAULTCODEPAGE = 0x0000000B } 279 -enum : uint { LOCALE_IDEFAULTANSICODEPAGE = 0x00001004 } 280 -enum : uint { LOCALE_IDEFAULTMACCODEPAGE = 0x00001011 } 281 - 282 -enum : uint { LOCALE_SLIST = 0x0000000C } 283 -enum : uint { LOCALE_IMEASURE = 0x0000000D } 284 - 285 -enum : uint { LOCALE_SDECIMAL = 0x0000000E } 286 -enum : uint { LOCALE_STHOUSAND = 0x0000000F } 287 -enum : uint { LOCALE_SGROUPING = 0x00000010 } 288 -enum : uint { LOCALE_IDIGITS = 0x00000011 } 289 -enum : uint { LOCALE_ILZERO = 0x00000012 } 290 -enum : uint { LOCALE_INEGNUMBER = 0x00001010 } 291 -enum : uint { LOCALE_SNATIVEDIGITS = 0x00000013 } 292 - 293 -enum : uint { LOCALE_SCURRENCY = 0x00000014 } 294 -enum : uint { LOCALE_SINTLSYMBOL = 0x00000015 } 295 -enum : uint { LOCALE_SMONDECIMALSEP = 0x00000016 } 296 -enum : uint { LOCALE_SMONTHOUSANDSEP = 0x00000017 } 297 -enum : uint { LOCALE_SMONGROUPING = 0x00000018 } 298 -enum : uint { LOCALE_ICURRDIGITS = 0x00000019 } 299 -enum : uint { LOCALE_IINTLCURRDIGITS = 0x0000001A } 300 -enum : uint { LOCALE_ICURRENCY = 0x0000001B } 301 -enum : uint { LOCALE_INEGCURR = 0x0000001C } 302 - 303 -enum : uint { LOCALE_SDATE = 0x0000001D } 304 -enum : uint { LOCALE_STIME = 0x0000001E } 305 -enum : uint { LOCALE_SSHORTDATE = 0x0000001F } 306 -enum : uint { LOCALE_SLONGDATE = 0x00000020 } 307 -enum : uint { LOCALE_STIMEFORMAT = 0x00001003 } 308 -enum : uint { LOCALE_IDATE = 0x00000021 } 309 -enum : uint { LOCALE_ILDATE = 0x00000022 } 310 -enum : uint { LOCALE_ITIME = 0x00000023 } 311 -enum : uint { LOCALE_ITIMEMARKPOSN = 0x00001005 } 312 -enum : uint { LOCALE_ICENTURY = 0x00000024 } 313 -enum : uint { LOCALE_ITLZERO = 0x00000025 } 314 -enum : uint { LOCALE_IDAYLZERO = 0x00000026 } 315 -enum : uint { LOCALE_IMONLZERO = 0x00000027 } 316 -enum : uint { LOCALE_S1159 = 0x00000028 } 317 -enum : uint { LOCALE_S2359 = 0x00000029 } 318 - 319 -enum : uint { LOCALE_ICALENDARTYPE = 0x00001009 } 320 -enum : uint { LOCALE_IOPTIONALCALENDAR = 0x0000100B } 321 -enum : uint { LOCALE_IFIRSTDAYOFWEEK = 0x0000100C } 322 -enum : uint { LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D } 323 - 324 -enum : uint { LOCALE_SDAYNAME1 = 0x0000002A } 325 -enum : uint { LOCALE_SDAYNAME2 = 0x0000002B } 326 -enum : uint { LOCALE_SDAYNAME3 = 0x0000002C } 327 -enum : uint { LOCALE_SDAYNAME4 = 0x0000002D } 328 -enum : uint { LOCALE_SDAYNAME5 = 0x0000002E } 329 -enum : uint { LOCALE_SDAYNAME6 = 0x0000002F } 330 -enum : uint { LOCALE_SDAYNAME7 = 0x00000030 } 331 -enum : uint { LOCALE_SABBREVDAYNAME1 = 0x00000031 } 332 -enum : uint { LOCALE_SABBREVDAYNAME2 = 0x00000032 } 333 -enum : uint { LOCALE_SABBREVDAYNAME3 = 0x00000033 } 334 -enum : uint { LOCALE_SABBREVDAYNAME4 = 0x00000034 } 335 -enum : uint { LOCALE_SABBREVDAYNAME5 = 0x00000035 } 336 -enum : uint { LOCALE_SABBREVDAYNAME6 = 0x00000036 } 337 -enum : uint { LOCALE_SABBREVDAYNAME7 = 0x00000037 } 338 -enum : uint { LOCALE_SMONTHNAME1 = 0x00000038 } 339 -enum : uint { LOCALE_SMONTHNAME2 = 0x00000039 } 340 -enum : uint { LOCALE_SMONTHNAME3 = 0x0000003A } 341 -enum : uint { LOCALE_SMONTHNAME4 = 0x0000003B } 342 -enum : uint { LOCALE_SMONTHNAME5 = 0x0000003C } 343 -enum : uint { LOCALE_SMONTHNAME6 = 0x0000003D } 344 -enum : uint { LOCALE_SMONTHNAME7 = 0x0000003E } 345 -enum : uint { LOCALE_SMONTHNAME8 = 0x0000003F } 346 -enum : uint { LOCALE_SMONTHNAME9 = 0x00000040 } 347 -enum : uint { LOCALE_SMONTHNAME10 = 0x00000041 } 348 -enum : uint { LOCALE_SMONTHNAME11 = 0x00000042 } 349 -enum : uint { LOCALE_SMONTHNAME12 = 0x00000043 } 350 -enum : uint { LOCALE_SMONTHNAME13 = 0x0000100E } 351 -enum : uint { LOCALE_SABBREVMONTHNAME1 = 0x00000044 } 352 -enum : uint { LOCALE_SABBREVMONTHNAME2 = 0x00000045 } 353 -enum : uint { LOCALE_SABBREVMONTHNAME3 = 0x00000046 } 354 -enum : uint { LOCALE_SABBREVMONTHNAME4 = 0x00000047 } 355 -enum : uint { LOCALE_SABBREVMONTHNAME5 = 0x00000048 } 356 -enum : uint { LOCALE_SABBREVMONTHNAME6 = 0x00000049 } 357 -enum : uint { LOCALE_SABBREVMONTHNAME7 = 0x0000004A } 358 -enum : uint { LOCALE_SABBREVMONTHNAME8 = 0x0000004B } 359 -enum : uint { LOCALE_SABBREVMONTHNAME9 = 0x0000004C } 360 -enum : uint { LOCALE_SABBREVMONTHNAME10 = 0x0000004D } 361 -enum : uint { LOCALE_SABBREVMONTHNAME11 = 0x0000004E } 362 -enum : uint { LOCALE_SABBREVMONTHNAME12 = 0x0000004F } 363 -enum : uint { LOCALE_SABBREVMONTHNAME13 = 0x0000100F } 364 - 365 -enum : uint { LOCALE_SPOSITIVESIGN = 0x00000050 } 366 -enum : uint { LOCALE_SNEGATIVESIGN = 0x00000051 } 367 -enum : uint { LOCALE_IPOSSIGNPOSN = 0x00000052 } 368 -enum : uint { LOCALE_INEGSIGNPOSN = 0x00000053 } 369 -enum : uint { LOCALE_IPOSSYMPRECEDES = 0x00000054 } 370 -enum : uint { LOCALE_IPOSSEPBYSPACE = 0x00000055 } 371 -enum : uint { LOCALE_INEGSYMPRECEDES = 0x00000056 } 372 -enum : uint { LOCALE_INEGSEPBYSPACE = 0x00000057 } 373 - 374 -// #if(WINVER >= 0x0400) 375 -enum : uint { LOCALE_FONTSIGNATURE = 0x00000058 } 376 -enum : uint { LOCALE_SISO639LANGNAME = 0x00000059 } 377 -enum : uint { LOCALE_SISO3166CTRYNAME = 0x0000005A } 378 -// #endif /* WINVER >= 0x0400 */ 379 - 380 -// #if(WINVER >= 0x0500) 381 -enum : uint { LOCALE_IDEFAULTEBCDICCODEPAGE = 0x00001012 } 382 -enum : uint { LOCALE_IPAPERSIZE = 0x0000100A } 383 -enum : uint { LOCALE_SENGCURRNAME = 0x00001007 } 384 -enum : uint { LOCALE_SNATIVECURRNAME = 0x00001008 } 385 -enum : uint { LOCALE_SYEARMONTH = 0x00001006 } 386 -enum : uint { LOCALE_SSORTNAME = 0x00001013 } 387 -enum : uint { LOCALE_IDIGITSUBSTITUTION = 0x00001014 } 388 - 389 -// #endif /* WINVER >= 0x0500 */ 390 - 391 -enum : uint { TIME_NOMINUTESORSECONDS = 0x00000001 } 392 -enum : uint { TIME_NOSECONDS = 0x00000002 } 393 -enum : uint { TIME_NOTIMEMARKER = 0x00000004 } 394 -enum : uint { TIME_FORCE24HOURFORMAT = 0x00000008 } 395 - 396 -enum : uint { DATE_SHORTDATE = 0x00000001 } 397 -enum : uint { DATE_LONGDATE = 0x00000002 } 398 -enum : uint { DATE_USE_ALT_CALENDAR = 0x00000004 } 399 - 400 -// #if(WINVER >= 0x0500) 401 -enum : uint { DATE_YEARMONTH = 0x00000008 } 402 -enum : uint { DATE_LTRREADING = 0x00000010 } 403 -enum : uint { DATE_RTLREADING = 0x00000020 } 404 -// #endif /* WINVER >= 0x0500 */ 405 - 406 -// #if(WINVER >= 0x0500) 407 -alias LOCALE_NOUSEROVERRIDE CAL_NOUSEROVERRIDE; 408 -alias LOCALE_USE_CP_ACP CAL_USE_CP_ACP; 409 -alias LOCALE_RETURN_NUMBER CAL_RETURN_NUMBER; 410 -// #endif /* WINVER >= 0x0500 */ 411 - 412 -enum : uint { CAL_ICALINTVALUE = 0x00000001 } 413 -enum : uint { CAL_SCALNAME = 0x00000002 } 414 -enum : uint { CAL_IYEAROFFSETRANGE = 0x00000003 } 415 -enum : uint { CAL_SERASTRING = 0x00000004 } 416 -enum : uint { CAL_SSHORTDATE = 0x00000005 } 417 -enum : uint { CAL_SLONGDATE = 0x00000006 } 418 -enum : uint { CAL_SDAYNAME1 = 0x00000007 } 419 -enum : uint { CAL_SDAYNAME2 = 0x00000008 } 420 -enum : uint { CAL_SDAYNAME3 = 0x00000009 } 421 -enum : uint { CAL_SDAYNAME4 = 0x0000000a } 422 -enum : uint { CAL_SDAYNAME5 = 0x0000000b } 423 -enum : uint { CAL_SDAYNAME6 = 0x0000000c } 424 -enum : uint { CAL_SDAYNAME7 = 0x0000000d } 425 -enum : uint { CAL_SABBREVDAYNAME1 = 0x0000000e } 426 -enum : uint { CAL_SABBREVDAYNAME2 = 0x0000000f } 427 -enum : uint { CAL_SABBREVDAYNAME3 = 0x00000010 } 428 -enum : uint { CAL_SABBREVDAYNAME4 = 0x00000011 } 429 -enum : uint { CAL_SABBREVDAYNAME5 = 0x00000012 } 430 -enum : uint { CAL_SABBREVDAYNAME6 = 0x00000013 } 431 -enum : uint { CAL_SABBREVDAYNAME7 = 0x00000014 } 432 -enum : uint { CAL_SMONTHNAME1 = 0x00000015 } 433 -enum : uint { CAL_SMONTHNAME2 = 0x00000016 } 434 -enum : uint { CAL_SMONTHNAME3 = 0x00000017 } 435 -enum : uint { CAL_SMONTHNAME4 = 0x00000018 } 436 -enum : uint { CAL_SMONTHNAME5 = 0x00000019 } 437 -enum : uint { CAL_SMONTHNAME6 = 0x0000001a } 438 -enum : uint { CAL_SMONTHNAME7 = 0x0000001b } 439 -enum : uint { CAL_SMONTHNAME8 = 0x0000001c } 440 -enum : uint { CAL_SMONTHNAME9 = 0x0000001d } 441 -enum : uint { CAL_SMONTHNAME10 = 0x0000001e } 442 -enum : uint { CAL_SMONTHNAME11 = 0x0000001f } 443 -enum : uint { CAL_SMONTHNAME12 = 0x00000020 } 444 -enum : uint { CAL_SMONTHNAME13 = 0x00000021 } 445 -enum : uint { CAL_SABBREVMONTHNAME1 = 0x00000022 } 446 -enum : uint { CAL_SABBREVMONTHNAME2 = 0x00000023 } 447 -enum : uint { CAL_SABBREVMONTHNAME3 = 0x00000024 } 448 -enum : uint { CAL_SABBREVMONTHNAME4 = 0x00000025 } 449 -enum : uint { CAL_SABBREVMONTHNAME5 = 0x00000026 } 450 -enum : uint { CAL_SABBREVMONTHNAME6 = 0x00000027 } 451 -enum : uint { CAL_SABBREVMONTHNAME7 = 0x00000028 } 452 -enum : uint { CAL_SABBREVMONTHNAME8 = 0x00000029 } 453 -enum : uint { CAL_SABBREVMONTHNAME9 = 0x0000002a } 454 -enum : uint { CAL_SABBREVMONTHNAME10 = 0x0000002b } 455 -enum : uint { CAL_SABBREVMONTHNAME11 = 0x0000002c } 456 -enum : uint { CAL_SABBREVMONTHNAME12 = 0x0000002d } 457 -enum : uint { CAL_SABBREVMONTHNAME13 = 0x0000002e } 458 - 459 -// #if(WINVER >= 0x0500) 460 -enum : uint { CAL_SYEARMONTH = 0x0000002f } 461 -enum : uint { CAL_ITWODIGITYEARMAX = 0x00000030 } 462 -// #endif /* WINVER >= 0x0500 */ 463 - 464 -enum : uint { ENUM_ALL_CALENDARS = 0xffffffff } 465 - 466 -enum : uint { CAL_GREGORIAN = 1 } 467 -enum : uint { CAL_GREGORIAN_US = 2 } 468 -enum : uint { CAL_JAPAN = 3 } 469 -enum : uint { CAL_TAIWAN = 4 } 470 -enum : uint { CAL_KOREA = 5 } 471 -enum : uint { CAL_HIJRI = 6 } 472 -enum : uint { CAL_THAI = 7 } 473 -enum : uint { CAL_HEBREW = 8 } 474 -enum : uint { CAL_GREGORIAN_ME_FRENCH = 9 } 475 -enum : uint { CAL_GREGORIAN_ARABIC = 10 } 476 -enum : uint { CAL_GREGORIAN_XLIT_ENGLISH = 11 } 477 -enum : uint { CAL_GREGORIAN_XLIT_FRENCH = 12 } 478 - 479 -enum : uint { LGRPID_WESTERN_EUROPE = 0x0001 } 480 -enum : uint { LGRPID_CENTRAL_EUROPE = 0x0002 } 481 -enum : uint { LGRPID_BALTIC = 0x0003 } 482 -enum : uint { LGRPID_GREEK = 0x0004 } 483 -enum : uint { LGRPID_CYRILLIC = 0x0005 } 484 -enum : uint { LGRPID_TURKISH = 0x0006 } 485 -enum : uint { LGRPID_JAPANESE = 0x0007 } 486 -enum : uint { LGRPID_KOREAN = 0x0008 } 487 -enum : uint { LGRPID_TRADITIONAL_CHINESE = 0x0009 } 488 -enum : uint { LGRPID_SIMPLIFIED_CHINESE = 0x000a } 489 -enum : uint { LGRPID_THAI = 0x000b } 490 -enum : uint { LGRPID_HEBREW = 0x000c } 491 -enum : uint { LGRPID_ARABIC = 0x000d } 492 -enum : uint { LGRPID_VIETNAMESE = 0x000e } 493 -enum : uint { LGRPID_INDIC = 0x000f } 494 -enum : uint { LGRPID_GEORGIAN = 0x0010 } 495 -enum : uint { LGRPID_ARMENIAN = 0x0011 } 496 - 497 -alias DWORD LGRPID; 498 - 499 -alias DWORD LCTYPE; 500 - 501 -alias DWORD CALTYPE; 502 - 503 -alias DWORD CALID; 504 - 505 -struct _cpinfo { 506 - UINT MaxCharSize; 507 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 508 - BYTE LeadByte[MAX_LEADBYTES]; 509 -} 510 -alias _cpinfo CPINFO; 511 -alias _cpinfo* LPCPINFO; 512 - 513 -struct _cpinfoexA { 514 - UINT MaxCharSize; 515 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 516 - BYTE LeadByte[MAX_LEADBYTES]; 517 - WCHAR UnicodeDefaultChar; 518 - UINT CodePage; 519 - CHAR CodePageName[MAX_PATH]; 520 -} 521 -alias _cpinfoexA CPINFOEXA; 522 -alias _cpinfoexA* LPCPINFOEXA; 523 - 524 -struct _cpinfoexW { 525 - UINT MaxCharSize; 526 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 527 - BYTE LeadByte[MAX_LEADBYTES]; 528 - WCHAR UnicodeDefaultChar; 529 - UINT CodePage; 530 - WCHAR CodePageName[MAX_PATH]; 531 -} 532 -alias _cpinfoexW CPINFOEXW; 533 -alias _cpinfoexW* LPCPINFOEXW; 534 - 535 -// #ifdef UNICODE 536 -alias CPINFOEXW CPINFOEX; 537 -alias LPCPINFOEXW LPCPINFOEX; 538 -// #else 539 -// ... 540 -// #endif // UNICODE 541 - 542 -struct _numberfmtA { 543 - UINT NumDigits; 544 - UINT LeadingZero; 545 - UINT Grouping; 546 - LPSTR lpDecimalSep; 547 - LPSTR lpThousandSep; 548 - UINT NegativeOrder; 549 -} 550 -alias _numberfmtA NUMBERFMTA; 551 -alias _numberfmtA* LPNUMBERFMTA; 552 - 553 -struct _numberfmtW { 554 - UINT NumDigits; 555 - UINT LeadingZero; 556 - UINT Grouping; 557 - LPWSTR lpDecimalSep; 558 - LPWSTR lpThousandSep; 559 - UINT NegativeOrder; 560 -} 561 -alias _numberfmtW NUMBERFMTW; 562 -alias _numberfmtW* LPNUMBERFMTW; 563 - 564 -// #ifdef UNICODE 565 -alias NUMBERFMTW NUMBERFMT; 566 -alias LPNUMBERFMTW LPNUMBERFMT; 567 -// #else 568 -// ... 569 -// #endif // UNICODE 570 - 571 -struct _currencyfmtA { 572 - UINT NumDigits; 573 - UINT LeadingZero; 574 - UINT Grouping; 575 - LPSTR lpDecimalSep; 576 - LPSTR lpThousandSep; 577 - UINT NegativeOrder; 578 - UINT PositiveOrder; 579 - LPSTR lpCurrencySymbol; 580 -} 581 -alias _currencyfmtA CURRENCYFMTA; 582 -alias _currencyfmtA* LPCURRENCYFMTA; 583 - 584 -struct _currencyfmtW { 585 - UINT NumDigits; 586 - UINT LeadingZero; 587 - UINT Grouping; 588 - LPWSTR lpDecimalSep; 589 - LPWSTR lpThousandSep; 590 - UINT NegativeOrder; 591 - UINT PositiveOrder; 592 - LPWSTR lpCurrencySymbol; 593 -} 594 -alias _currencyfmtW CURRENCYFMTW; 595 -alias _currencyfmtW* LPCURRENCYFMTW; 596 - 597 -// #ifdef UNICODE 598 -alias CURRENCYFMTW CURRENCYFMT; 599 -alias LPCURRENCYFMTW LPCURRENCYFMT; 600 -// #else 601 -// ... 602 -// #endif // UNICODE 603 - 604 -alias LONG GEOID; 605 -alias DWORD GEOTYPE; 606 -alias DWORD GEOCLASS; 607 - 608 -enum { GEOID_NOT_AVAILABLE = -1 } 12 +pragma(lib, "kernel32.lib"); 13 + 14 +private import win32.basetsd, win32.w32api, win32.winbase, win32.windef; 15 + 16 +alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS; 17 + 18 +const size_t 19 + MAX_DEFAULTCHAR = 2, 20 + MAX_LEADBYTES = 12; 21 + 22 +const LCTYPE 23 + LOCALE_USE_CP_ACP = 0x40000000, 24 + LOCALE_RETURN_NUMBER = 0x20000000; 25 + 26 +enum : LCTYPE { 27 + LOCALE_ILANGUAGE = 1, 28 + LOCALE_SLANGUAGE, 29 + LOCALE_SABBREVLANGNAME, 30 + LOCALE_SNATIVELANGNAME, 31 + LOCALE_ICOUNTRY, 32 + LOCALE_SCOUNTRY, 33 + LOCALE_SABBREVCTRYNAME, 34 + LOCALE_SNATIVECTRYNAME, 35 + LOCALE_IDEFAULTLANGUAGE, 36 + LOCALE_IDEFAULTCOUNTRY, 37 + LOCALE_IDEFAULTCODEPAGE, 38 + LOCALE_SLIST, 39 + LOCALE_IMEASURE, 40 + LOCALE_SDECIMAL, 41 + LOCALE_STHOUSAND, 42 + LOCALE_SGROUPING, 43 + LOCALE_IDIGITS, 44 + LOCALE_ILZERO, 45 + LOCALE_SNATIVEDIGITS, 46 + LOCALE_SCURRENCY, 47 + LOCALE_SINTLSYMBOL, 48 + LOCALE_SMONDECIMALSEP, 49 + LOCALE_SMONTHOUSANDSEP, 50 + LOCALE_SMONGROUPING, 51 + LOCALE_ICURRDIGITS, 52 + LOCALE_IINTLCURRDIGITS, 53 + LOCALE_ICURRENCY, 54 + LOCALE_INEGCURR, 55 + LOCALE_SDATE, 56 + LOCALE_STIME, 57 + LOCALE_SSHORTDATE, 58 + LOCALE_SLONGDATE, 59 + LOCALE_IDATE, 60 + LOCALE_ILDATE, 61 + LOCALE_ITIME, 62 + LOCALE_ICENTURY, 63 + LOCALE_ITLZERO, 64 + LOCALE_IDAYLZERO, 65 + LOCALE_IMONLZERO, 66 + LOCALE_S1159, 67 + LOCALE_S2359, 68 + LOCALE_SDAYNAME1, 69 + LOCALE_SDAYNAME2, 70 + LOCALE_SDAYNAME3, 71 + LOCALE_SDAYNAME4, 72 + LOCALE_SDAYNAME5, 73 + LOCALE_SDAYNAME6, 74 + LOCALE_SDAYNAME7, 75 + LOCALE_SABBREVDAYNAME1, 76 + LOCALE_SABBREVDAYNAME2, 77 + LOCALE_SABBREVDAYNAME3, 78 + LOCALE_SABBREVDAYNAME4, 79 + LOCALE_SABBREVDAYNAME5, 80 + LOCALE_SABBREVDAYNAME6, 81 + LOCALE_SABBREVDAYNAME7, 82 + LOCALE_SMONTHNAME1, 83 + LOCALE_SMONTHNAME2, 84 + LOCALE_SMONTHNAME3, 85 + LOCALE_SMONTHNAME4, 86 + LOCALE_SMONTHNAME5, 87 + LOCALE_SMONTHNAME6, 88 + LOCALE_SMONTHNAME7, 89 + LOCALE_SMONTHNAME8, 90 + LOCALE_SMONTHNAME9, 91 + LOCALE_SMONTHNAME10, 92 + LOCALE_SMONTHNAME11, 93 + LOCALE_SMONTHNAME12, 94 + LOCALE_SABBREVMONTHNAME1, 95 + LOCALE_SABBREVMONTHNAME2, 96 + LOCALE_SABBREVMONTHNAME3, 97 + LOCALE_SABBREVMONTHNAME4, 98 + LOCALE_SABBREVMONTHNAME5, 99 + LOCALE_SABBREVMONTHNAME6, 100 + LOCALE_SABBREVMONTHNAME7, 101 + LOCALE_SABBREVMONTHNAME8, 102 + LOCALE_SABBREVMONTHNAME9, 103 + LOCALE_SABBREVMONTHNAME10, 104 + LOCALE_SABBREVMONTHNAME11, 105 + LOCALE_SABBREVMONTHNAME12, 106 + LOCALE_SPOSITIVESIGN, 107 + LOCALE_SNEGATIVESIGN, 108 + LOCALE_IPOSSIGNPOSN, 109 + LOCALE_INEGSIGNPOSN, 110 + LOCALE_IPOSSYMPRECEDES, 111 + LOCALE_IPOSSEPBYSPACE, 112 + LOCALE_INEGSYMPRECEDES, 113 + LOCALE_INEGSEPBYSPACE, 114 + LOCALE_FONTSIGNATURE, 115 + LOCALE_SISO639LANGNAME, 116 + LOCALE_SISO3166CTRYNAME, // = 90 117 + LOCALE_SENGLANGUAGE = 0x1001, 118 + LOCALE_SENGCOUNTRY = 0x1002, 119 + LOCALE_IDEFAULTANSICODEPAGE = 0x1004, 120 + LOCALE_INEGNUMBER = 0x1010, 121 + LOCALE_STIMEFORMAT = 0x1003, 122 + LOCALE_ITIMEMARKPOSN = 0x1005, 123 + LOCALE_ICALENDARTYPE = 0x1009, 124 + LOCALE_IOPTIONALCALENDAR = 0x100B, 125 + LOCALE_IFIRSTDAYOFWEEK = 0x100C, 126 + LOCALE_IFIRSTWEEKOFYEAR = 0x100D, 127 + LOCALE_SMONTHNAME13 = 0x100E, 128 + LOCALE_SABBREVMONTHNAME13 = 0x100F 129 +} 130 + 131 +enum : LCID { 132 + LOCALE_USER_DEFAULT = 0x400, 133 + LOCALE_SYSTEM_DEFAULT = 0x800 134 +} 135 + 136 +const DWORD 137 + NORM_IGNORECASE = 1, 138 + NORM_IGNORENONSPACE = 2, 139 + NORM_IGNORESYMBOLS = 4, 140 + SORT_STRINGSORT = 0x01000, 141 + NORM_IGNOREKANATYPE = 0x10000, 142 + NORM_IGNOREWIDTH = 0x20000; 143 + 144 +const DWORD 145 + LCMAP_LOWERCASE = 0x00000100, 146 + LCMAP_UPPERCASE = 0x00000200, 147 + LCMAP_SORTKEY = 0x00000400, 148 + LCMAP_BYTEREV = 0x00000800, 149 + LCMAP_HIRAGANA = 0x00100000, 150 + LCMAP_KATAKANA = 0x00200000, 151 + LCMAP_HALFWIDTH = 0x00400000, 152 + LCMAP_FULLWIDTH = 0x00800000, 153 + LCMAP_LINGUISTIC_CASING = 0x01000000, 154 + LCMAP_SIMPLIFIED_CHINESE = 0x02000000, 155 + LCMAP_TRADITIONAL_CHINESE = 0x04000000; 156 + 157 +const CALID ENUM_ALL_CALENDARS = -1; 158 + 159 +const DWORD 160 + DATE_SHORTDATE = 1, 161 + DATE_LONGDATE = 2, 162 + DATE_USE_ALT_CALENDAR = 4, 163 + LOCALE_NOUSEROVERRIDE = 0x80000000; 164 + 165 +enum : DWORD { 166 + CP_INSTALLED = 1, 167 + CP_SUPPORTED 168 +} 169 + 170 +enum : DWORD { 171 + LCID_INSTALLED = 1, 172 + LCID_SUPPORTED = 2, 173 + LCID_ALTERNATE_SORTS = 4 174 +} 175 + 176 +const DWORD 177 + MAP_FOLDCZONE = 16, 178 + MAP_PRECOMPOSED = 32, 179 + MAP_COMPOSITE = 64, 180 + MAP_FOLDDIGITS = 128; 181 + 182 +enum : UINT { 183 + CP_ACP, 184 + CP_OEMCP, 185 + CP_MACCP, 186 + CP_THREAD_ACP, // = 3 187 + CP_SYMBOL = 42, 188 + CP_UTF7 = 65000, 189 + CP_UTF8 = 65001 190 +} 191 + 192 +enum : DWORD { 193 + CT_CTYPE1 = 1, 194 + CT_CTYPE2 = 2, 195 + CT_CTYPE3 = 4 196 +} 197 + 198 +const WORD 199 + C1_UPPER = 1, 200 + C1_LOWER = 2, 201 + C1_DIGIT = 4, 202 + C1_SPACE = 8, 203 + C1_PUNCT = 16, 204 + C1_CNTRL = 32, 205 + C1_BLANK = 64, 206 + C1_XDIGIT = 128, 207 + C1_ALPHA = 256; 208 + 209 +enum : WORD { 210 + C2_NOTAPPLICABLE, 211 + C2_LEFTTORIGHT, 212 + C2_RIGHTTOLEFT, 213 + C2_EUROPENUMBER, 214 + C2_EUROPESEPARATOR, 215 + C2_EUROPETERMINATOR, 216 + C2_ARABICNUMBER, 217 + C2_COMMONSEPARATOR, 218 + C2_BLOCKSEPARATOR, 219 + C2_SEGMENTSEPARATOR, 220 + C2_WHITESPACE, 221 + C2_OTHERNEUTRAL // = 11 222 +} 223 + 224 +const WORD 225 + C3_NOTAPPLICABLE = 0, 226 + C3_NONSPACING = 1, 227 + C3_DIACRITIC = 2, 228 + C3_VOWELMARK = 4, 229 + C3_SYMBOL = 8, 230 + C3_KATAKANA = 0x0010, 231 + C3_HIRAGANA = 0x0020, 232 + C3_HALFWIDTH = 0x0040, 233 + C3_FULLWIDTH = 0x0080, 234 + C3_IDEOGRAPH = 0x0100, 235 + C3_KASHIDA = 0x0200, 236 + C3_LEXICAL = 0x0400, 237 + C3_ALPHA = 0x8000; 238 + 239 +const DWORD 240 + TIME_NOMINUTESORSECONDS = 1, 241 + TIME_NOSECONDS = 2, 242 + TIME_NOTIMEMARKER = 4, 243 + TIME_FORCE24HOURFORMAT = 8; 244 + 245 +const DWORD 246 + MB_PRECOMPOSED = 1, 247 + MB_COMPOSITE = 2, 248 + MB_USEGLYPHCHARS = 4, 249 + MB_ERR_INVALID_CHARS = 8; 250 + 251 +const DWORD 252 + WC_DISCARDNS = 16, 253 + WC_SEPCHARS = 32, 254 + WC_DEFAULTCHAR = 64, 255 + WC_COMPOSITECHECK = 512; 256 + 257 +enum : LONG { 258 + CTRY_DEFAULT = 0, 259 + CTRY_DOMINICAN_REPUBLIC = 1, 260 + CTRY_PUERTO_RICO = 1, 261 + CTRY_CARIBBEAN = 1, 262 + CTRY_JAMAICA = 1, 263 + CTRY_UNITED_STATES = 1, 264 + CTRY_TRINIDAD_Y_TOBAGO = 1, 265 + CTRY_CANADA = 2, 266 + CTRY_RUSSIA = 7, 267 + CTRY_UZBEKISTAN = 7, 268 + CTRY_KAZAKSTAN = 7, 269 + CTRY_TATARSTAN = 7, 270 + CTRY_EGYPT = 20, 271 + CTRY_SOUTH_AFRICA = 27, 272 + CTRY_GREECE = 30, 273 + CTRY_NETHERLANDS = 31, 274 + CTRY_BELGIUM = 32, 275 + CTRY_FRANCE = 33, 276 + CTRY_MONACO = 33, 277 + CTRY_SPAIN = 34, 278 + CTRY_HUNGARY = 36, 279 + CTRY_ITALY = 39, 280 + CTRY_ROMANIA = 40, 281 + CTRY_SWITZERLAND = 41, 282 + CTRY_LIECHTENSTEIN = 41, 283 + CTRY_AUSTRIA = 43, 284 + CTRY_UNITED_KINGDOM = 44, 285 + CTRY_DENMARK = 45, 286 + CTRY_SWEDEN = 46, 287 + CTRY_NORWAY = 47, 288 + CTRY_POLAND = 48, 289 + CTRY_GERMANY = 49, 290 + CTRY_PERU = 51, 291 + CTRY_MEXICO = 52, 292 + CTRY_ARGENTINA = 54, 293 + CTRY_BRAZIL = 55, 294 + CTRY_CHILE = 56, 295 + CTRY_COLOMBIA = 57, 296 + CTRY_VENEZUELA = 58, 297 + CTRY_MALAYSIA = 60, 298 + CTRY_AUSTRALIA = 61, 299 + CTRY_INDONESIA = 62, 300 + CTRY_PHILIPPINES = 63, 301 + CTRY_NEW_ZEALAND = 64, 302 + CTRY_SINGAPORE = 65, 303 + CTRY_THAILAND = 66, 304 + CTRY_JAPAN = 81, 305 + CTRY_SOUTH_KOREA = 82, 306 + CTRY_VIET_NAM = 84, 307 + CTRY_PRCHINA = 86, 308 + CTRY_TURKEY = 90, 309 + CTRY_INDIA = 91, 310 + CTRY_PAKISTAN = 92, 311 + CTRY_MOROCCO = 212, 312 + CTRY_ALGERIA = 213, 313 + CTRY_TUNISIA = 216, 314 + CTRY_LIBYA = 218, 315 + CTRY_KENYA = 254, 316 + CTRY_ZIMBABWE = 263, 317 + CTRY_FAEROE_ISLANDS = 298, 318 + CTRY_PORTUGAL = 351, 319 + CTRY_LUXEMBOURG = 352, 320 + CTRY_IRELAND = 353, 321 + CTRY_ICELAND = 354, 322 + CTRY_ALBANIA = 355, 323 + CTRY_FINLAND = 358, 324 + CTRY_BULGARIA = 359, 325 + CTRY_LITHUANIA = 370, 326 + CTRY_LATVIA = 371, 327 + CTRY_ESTONIA = 372, 328 + CTRY_ARMENIA = 374, 329 + CTRY_BELARUS = 375, 330 + CTRY_UKRAINE = 380, 331 + CTRY_SERBIA = 381, 332 + CTRY_CROATIA = 385, 333 + CTRY_SLOVENIA = 386, 334 + CTRY_MACEDONIA = 389, 335 + CTRY_CZECH = 420, 336 + CTRY_SLOVAK = 421, 337 + CTRY_BELIZE = 501, 338 + CTRY_GUATEMALA = 502, 339 + CTRY_EL_SALVADOR = 503, 340 + CTRY_HONDURAS = 504, 341 + CTRY_NICARAGUA = 505, 342 + CTRY_COSTA_RICA = 506, 343 + CTRY_PANAMA = 507, 344 + CTRY_BOLIVIA = 591, 345 + CTRY_ECUADOR = 593, 346 + CTRY_PARAGUAY = 595, 347 + CTRY_URUGUAY = 598, 348 + CTRY_BRUNEI_DARUSSALAM = 673, 349 + CTRY_HONG_KONG = 852, 350 + CTRY_MACAU = 853, 351 + CTRY_TAIWAN = 886, 352 + CTRY_MALDIVES = 960, 353 + CTRY_LEBANON = 961, 354 + CTRY_JORDAN = 962, 355 + CTRY_SYRIA = 963, 356 + CTRY_IRAQ = 964, 357 + CTRY_KUWAIT = 965, 358 + CTRY_SAUDI_ARABIA = 966, 359 + CTRY_YEMEN = 967, 360 + CTRY_OMAN = 968, 361 + CTRY_UAE = 971, 362 + CTRY_ISRAEL = 972, 363 + CTRY_BAHRAIN = 973, 364 + CTRY_QATAR = 974, 365 + CTRY_MONGOLIA = 976, 366 + CTRY_IRAN = 981, 367 + CTRY_AZERBAIJAN = 994, 368 + CTRY_GEORGIA = 995, 369 + CTRY_KYRGYZSTAN = 996 370 +} 371 + 372 +enum : CALTYPE { 373 + CAL_ICALINTVALUE = 1, 374 + CAL_SCALNAME, 375 + CAL_IYEAROFFSETRANGE, 376 + CAL_SERASTRING, 377 + CAL_SSHORTDATE, 378 + CAL_SLONGDATE, 379 + CAL_SDAYNAME1, 380 + CAL_SDAYNAME2, 381 + CAL_SDAYNAME3, 382 + CAL_SDAYNAME4, 383 + CAL_SDAYNAME5, 384 + CAL_SDAYNAME6, 385 + CAL_SDAYNAME7, 386 + CAL_SABBREVDAYNAME1, 387 + CAL_SABBREVDAYNAME2, 388 + CAL_SABBREVDAYNAME3, 389 + CAL_SABBREVDAYNAME4, 390 + CAL_SABBREVDAYNAME5, 391 + CAL_SABBREVDAYNAME6, 392 + CAL_SABBREVDAYNAME7, 393 + CAL_SMONTHNAME1, 394 + CAL_SMONTHNAME2, 395 + CAL_SMONTHNAME3, 396 + CAL_SMONTHNAME4, 397 + CAL_SMONTHNAME5, 398 + CAL_SMONTHNAME6, 399 + CAL_SMONTHNAME7, 400 + CAL_SMONTHNAME8, 401 + CAL_SMONTHNAME9, 402 + CAL_SMONTHNAME10, 403 + CAL_SMONTHNAME11, 404 + CAL_SMONTHNAME12, 405 + CAL_SMONTHNAME13, 406 + CAL_SABBREVMONTHNAME1, 407 + CAL_SABBREVMONTHNAME2, 408 + CAL_SABBREVMONTHNAME3, 409 + CAL_SABBREVMONTHNAME4, 410 + CAL_SABBREVMONTHNAME5, 411 + CAL_SABBREVMONTHNAME6, 412 + CAL_SABBREVMONTHNAME7, 413 + CAL_SABBREVMONTHNAME8, 414 + CAL_SABBREVMONTHNAME9, 415 + CAL_SABBREVMONTHNAME10, 416 + CAL_SABBREVMONTHNAME11, 417 + CAL_SABBREVMONTHNAME12, 418 + CAL_SABBREVMONTHNAME13 // = 46 419 +} 420 + 421 + 422 +enum : CALTYPE { 423 + CAL_GREGORIAN = 1, 424 + CAL_GREGORIAN_US, 425 + CAL_JAPAN, 426 + CAL_TAIWAN, 427 + CAL_KOREA, 428 + CAL_HIJRI, 429 + CAL_THAI, 430 + CAL_HEBREW, 431 + CAL_GREGORIAN_ME_FRENCH, 432 + CAL_GREGORIAN_ARABIC, 433 + CAL_GREGORIAN_XLIT_ENGLISH, 434 + CAL_GREGORIAN_XLIT_FRENCH // = 12 435 +} 436 + 437 +enum : int { 438 + CSTR_LESS_THAN = 1, 439 + CSTR_EQUAL, 440 + CSTR_GREATER_THAN 441 +} 442 + 443 +enum : DWORD { 444 + LGRPID_INSTALLED = 1, 445 + LGRPID_SUPPORTED 446 +} 447 + 448 +enum : LGRPID { 449 + LGRPID_WESTERN_EUROPE = 1, 450 + LGRPID_CENTRAL_EUROPE, 451 + LGRPID_BALTIC, 452 + LGRPID_GREEK, 453 + LGRPID_CYRILLIC, 454 + LGRPID_TURKISH, 455 + LGRPID_JAPANESE, 456 + LGRPID_KOREAN, 457 + LGRPID_TRADITIONAL_CHINESE, 458 + LGRPID_SIMPLIFIED_CHINESE, 459 + LGRPID_THAI, 460 + LGRPID_HEBREW, 461 + LGRPID_ARABIC, 462 + LGRPID_VIETNAMESE, 463 + LGRPID_INDIC, 464 + LGRPID_GEORGIAN, 465 + LGRPID_ARMENIAN // = 17 466 +} 467 + 468 +static if (WINVER >= 0x500) { 469 + enum : LCTYPE { 470 + LOCALE_SYEARMONTH = 0x1006, 471 + LOCALE_SENGCURRNAME = 0x1007, 472 + LOCALE_SNATIVECURRNAME = 0x1008, 473 + LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012, 474 + LOCALE_SSORTNAME = 0x1013, 475 + LOCALE_IDIGITSUBSTITUTION = 0x1014, 476 + LOCALE_IPAPERSIZE = 0x100A 477 + } 478 + 479 + const DWORD 480 + DATE_YEARMONTH = 8, 481 + DATE_LTRREADING = 16, 482 + DATE_RTLREADING = 32; 483 + 484 + const DWORD MAP_EXPAND_LIGATURES = 0x2000; 485 + const DWORD WC_NO_BEST_FIT_CHARS = 1024; 486 + 487 + enum : CALTYPE { 488 + CAL_SYEARMONTH = 47, 489 + CAL_ITWODIGITYEARMAX = 48, 490 + CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE, 491 + CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER, 492 + CAL_USE_CP_ACP = LOCALE_USE_CP_ACP 493 + } 494 +} // (WINVER >= 0x500) 495 + 496 +extern (Windows) { 497 + alias BOOL function(LPSTR) CALINFO_ENUMPROCA; 498 + alias BOOL function(LPWSTR) CALINFO_ENUMPROCW; 499 + alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA; 500 + alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW; 501 + alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR) 502 + LANGUAGEGROUP_ENUMPROCA; 503 + alias BOOL function(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR) 504 + LANGUAGEGROUP_ENUMPROCW; 505 + alias BOOL function(LGRPID, LCID, LPSTR, LONG_PTR) 506 + LANGGROUPLOCALE_ENUMPROCA; 507 + alias BOOL function(LGRPID, LCID, LPWSTR, LONG_PTR) 508 + LANGGROUPLOCALE_ENUMPROCW; 509 + alias BOOL function(LPWSTR, LONG_PTR) UILANGUAGE_ENUMPROCW; 510 + alias BOOL function(LPSTR, LONG_PTR) UILANGUAGE_ENUMPROCA; 511 + alias BOOL function(LPSTR) LOCALE_ENUMPROCA; 512 + alias BOOL function(LPWSTR) LOCALE_ENUMPROCW; 513 + alias BOOL function(LPSTR) CODEPAGE_ENUMPROCA; 514 + alias BOOL function(LPWSTR) CODEPAGE_ENUMPROCW; 515 + alias BOOL function(LPSTR) DATEFMT_ENUMPROCA; 516 + alias BOOL function(LPWSTR) DATEFMT_ENUMPROCW; 517 + alias BOOL function(LPSTR, CALID) DATEFMT_ENUMPROCEXA; 518 + alias BOOL function(LPWSTR, CALID) DATEFMT_ENUMPROCEXW; 519 + alias BOOL function(LPSTR) TIMEFMT_ENUMPROCA; 520 + alias BOOL function(LPWSTR) TIMEFMT_ENUMPROCW; 521 + alias BOOL function(GEOID) GEO_ENUMPROC; 522 +} 523 + 524 +enum NLS_FUNCTION { 525 + COMPARE_STRING = 0x0001 526 +} 527 + 528 +enum SYSGEOCLASS { 529 + GEOCLASS_NATION = 16, 530 + GEOCLASS_REGION = 14 531 +} 609 532 610 533 enum SYSGEOTYPE { 611 - GEO_NATION = 0x0001, 612 - GEO_LATITUDE = 0x0002, 613 - GEO_LONGITUDE = 0x0003, 614 - GEO_ISO2 = 0x0004, 615 - GEO_ISO3 = 0x0005, 616 - GEO_RFC1766 = 0x0006, 617 - GEO_LCID = 0x0007, 618 - GEO_FRIENDLYNAME = 0x0008, 619 - GEO_OFFICIALNAME = 0x0009, 620 - GEO_TIMEZONES = 0x000A, 621 - GEO_OFFICIALLANGUAGES = 0x000B, 534 + GEO_NATION = 0x0001, 535 + GEO_LATITUDE = 0x0002, 536 + GEO_LONGITUDE = 0x0003, 537 + GEO_ISO2 = 0x0004, 538 + GEO_ISO3 = 0x0005, 539 + GEO_RFC1766 = 0x0006, 540 + GEO_LCID = 0x0007, 541 + GEO_FRIENDLYNAME = 0x0008, 542 + GEO_OFFICIALNAME = 0x0009, 543 + GEO_TIMEZONES = 0x000a, 544 + GEO_OFFICIALLANGUAGES = 0x000a 545 +} 546 + 547 +struct CPINFO { 548 + UINT MaxCharSize; 549 + BYTE[MAX_DEFAULTCHAR] DefaultChar; 550 + BYTE[MAX_LEADBYTES] LeadByte; 551 +} 552 +alias CPINFO* LPCPINFO; 553 + 554 +struct CPINFOEXA { 555 + UINT MaxCharSize; 556 + BYTE[MAX_DEFAULTCHAR] DefaultChar; 557 + BYTE[MAX_LEADBYTES] LeadByte; 558 + WCHAR UnicodeDefaultChar; 559 + UINT CodePage; 560 + CHAR[MAX_PATH] CodePageName; 561 +} 562 +alias CPINFOEXA* LPCPINFOEXA; 563 + 564 +struct CPINFOEXW { 565 + UINT MaxCharSize; 566 + BYTE[MAX_DEFAULTCHAR] DefaultChar; 567 + BYTE[MAX_LEADBYTES] LeadByte; 568 + WCHAR UnicodeDefaultChar; 569 + UINT CodePage; 570 + WCHAR[MAX_PATH] CodePageName; 571 +} 572 +alias CPINFOEXW* LPCPINFOEXW; 573 + 574 +struct CURRENCYFMTA { 575 + UINT NumDigits; 576 + UINT LeadingZero; 577 + UINT Grouping; 578 + LPSTR lpDecimalSep; 579 + LPSTR lpThousandSep; 580 + UINT NegativeOrder; 581 + UINT PositiveOrder; 582 + LPSTR lpCurrencySymbol; 583 +} 584 +alias CURRENCYFMTA* LPCURRENCYFMTA; 585 + 586 +struct CURRENCYFMTW { 587 + UINT NumDigits; 588 + UINT LeadingZero; 589 + UINT Grouping; 590 + LPWSTR lpDecimalSep; 591 + LPWSTR lpThousandSep; 592 + UINT NegativeOrder; 593 + UINT PositiveOrder; 594 + LPWSTR lpCurrencySymbol; 595 +} 596 +alias CURRENCYFMTW* LPCURRENCYFMTW; 597 + 598 +struct NLSVERSIONINFO { 599 + DWORD dwNLSVersionInfoSize; 600 + DWORD dwNLSVersion; 601 + DWORD dwDefinedVersion; 602 +} 603 +alias NLSVERSIONINFO* LPNLSVERSIONINFO; 604 + 605 +struct NUMBERFMTA { 606 + UINT NumDigits; 607 + UINT LeadingZero; 608 + UINT Grouping; 609 + LPSTR lpDecimalSep; 610 + LPSTR lpThousandSep; 611 + UINT NegativeOrder; 612 +} 613 +alias NUMBERFMTA* LPNUMBERFMTA; 614 + 615 +struct NUMBERFMTW { 616 + UINT NumDigits; 617 + UINT LeadingZero; 618 + UINT Grouping; 619 + LPWSTR lpDecimalSep; 620 + LPWSTR lpThousandSep; 621 + UINT NegativeOrder; 622 622 } 623 +alias NUMBERFMTW* LPNUMBERFMTW; 624 + 625 +extern (Windows) { 626 + int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int); 627 + int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int); 628 + LCID ConvertDefaultLocale(LCID); 629 + BOOL EnumCalendarInfoA(CALINFO_ENUMPROCA, LCID, CALID, CALTYPE); 630 + BOOL EnumCalendarInfoW(CALINFO_ENUMPROCW, LCID, CALID, CALTYPE); 631 + BOOL EnumDateFormatsA(DATEFMT_ENUMPROCA, LCID, DWORD); 632 + BOOL EnumDateFormatsW(DATEFMT_ENUMPROCW, LCID, DWORD); 633 + BOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROCA, DWORD); 634 + BOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROCW, DWORD); 635 + BOOL EnumSystemGeoID(GEOCLASS, GEOID, GEO_ENUMPROC); 636 + BOOL EnumSystemLocalesA(LOCALE_ENUMPROCA, DWORD); 637 + BOOL EnumSystemLocalesW(LOCALE_ENUMPROCW, DWORD); 638 + BOOL EnumTimeFormatsA(TIMEFMT_ENUMPROCA, LCID, DWORD); 639 + BOOL EnumTimeFormatsW(TIMEFMT_ENUMPROCW, LCID, DWORD); 640 + int FoldStringA(DWORD, LPCSTR, int, LPSTR, int); 641 + int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int); 642 + UINT GetACP(); 643 + int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD); 644 + int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD); 645 + BOOL GetCPInfo(UINT, LPCPINFO); 646 + BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA); 647 + BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW); 648 + int GetCurrencyFormatA(LCID, DWORD, LPCSTR, CPtr!(CURRENCYFMTA), LPSTR, int); 649 + int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, CPtr!(CURRENCYFMTW), LPWSTR, 650 + int); 651 + int GetDateFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int); 652 + int GetDateFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int); 653 + int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID); 654 + int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID); 655 + int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int); 656 + int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int); 657 + BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO); 658 + int GetNumberFormatA(LCID, DWORD, LPCSTR, CPtr!(NUMBERFMTA), LPSTR, int); 659 + int GetNumberFormatW(LCID, DWORD, LPCWSTR, CPtr!(NUMBERFMTW), LPWSTR, int); 660 + UINT GetOEMCP(); 661 + BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD); 662 + BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD); 663 + BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD); 664 + BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD); 665 + LANGID GetSystemDefaultLangID(); 666 + LCID GetSystemDefaultLCID(); 667 + LCID GetThreadLocale(); 668 + int GetTimeFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int); 669 + int GetTimeFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int); 670 + LANGID GetUserDefaultLangID(); 671 + LCID GetUserDefaultLCID(); 672 + GEOID GetUserGeoID(GEOCLASS); 673 + BOOL IsDBCSLeadByte(BYTE); 674 + BOOL IsDBCSLeadByteEx(UINT, BYTE); 675 + BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, 676 + int); 677 + BOOL IsValidCodePage(UINT); 678 + BOOL IsValidLocale(LCID, DWORD); 679 + int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int); 680 + int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int); 681 + int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int); 682 + int SetCalendarInfoA(LCID, CALID, CALTYPE, LPCSTR); 683 + int SetCalendarInfoW(LCID, CALID, CALTYPE, LPCWSTR); 684 + BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR); 685 + BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR); 686 + BOOL SetThreadLocale(LCID); 687 + BOOL SetUserGeoID(GEOID); 688 + int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, 689 + LPBOOL); 690 + 691 + static if (WINVER >= 0x410) { 692 + BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE); 693 + BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE); 694 + BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD); 695 + BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD); 696 + BOOL IsValidLanguageGroup(LGRPID, DWORD); 697 + } 698 + 699 + static if (WINVER >= 0x500) { 700 + LANGID GetSystemDefaultUILanguage(); 701 + LANGID GetUserDefaultUILanguage(); 623 702 624 -enum SYSGEOCLASS { 625 - GEOCLASS_NATION = 16, 626 - GEOCLASS_REGION = 14, 703 + static if (_WIN32_WINNT_ONLY) { 704 + BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD, 705 + LONG_PTR); 706 + BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD, 707 + LONG_PTR); 708 + BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID, 709 + DWORD, LONG_PTR); 710 + BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID, 711 + DWORD, LONG_PTR); 712 + BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR); 713 + BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR); 714 + } 715 + } 627 716 } 628 717 629 -// #ifdef STRICT 630 - 631 -// ... 632 - 633 -// ... 634 - 635 -// #else // !STRICT 636 - 637 -alias FARPROC LANGUAGEGROUP_ENUMPROCA; 638 -alias FARPROC LANGGROUPLOCALE_ENUMPROCA; 639 -alias FARPROC UILANGUAGE_ENUMPROCA; 640 -alias FARPROC LOCALE_ENUMPROCA; 641 -alias FARPROC CODEPAGE_ENUMPROCA; 642 -alias FARPROC DATEFMT_ENUMPROCA; 643 -alias FARPROC DATEFMT_ENUMPROCEXA; 644 -alias FARPROC TIMEFMT_ENUMPROCA; 645 -alias FARPROC CALINFO_ENUMPROCA; 646 -alias FARPROC CALINFO_ENUMPROCEXA; 647 -alias FARPROC GEO_ENUMPROC; 718 +version (Unicode) { 719 + alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; 720 + alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; 721 + alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; 722 + alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC; 723 + alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC; 724 + alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX; 725 + alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC; 726 + alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC; 727 + alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC; 728 + alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC; 729 + alias CPINFOEXW CPINFOEX; 730 + alias LPCPINFOEXW LPCPINFOEX; 731 + alias CURRENCYFMTW CURRENCYFMT; 732 + alias LPCURRENCYFMTW LPCURRENCYFMT; 733 + alias NUMBERFMTW NUMBERFMT; 734 + alias LPNUMBERFMTW LPNUMBERFMT; 735 + alias CompareStringW CompareString; 736 + alias EnumCalendarInfoW EnumCalendarInfo; 737 + alias EnumSystemCodePagesW EnumSystemCodePages; 738 + alias EnumSystemLocalesW EnumSystemLocales; 739 + alias EnumTimeFormatsW EnumTimeFormats; 740 + alias FoldStringW FoldString; 741 + alias GetCalendarInfoW GetCalendarInfo; 742 + alias GetCPInfoExW GetCPInfoEx; 743 + alias GetCurrencyFormatW GetCurrencyFormat; 744 + alias GetDateFormatW GetDateFormat; 745 + alias GetGeoInfoW GetGeoInfo; 746 + alias GetLocaleInfoW GetLocaleInfo; 747 + alias GetNumberFormatW GetNumberFormat; 748 + alias GetStringTypeExW GetStringTypeEx; 749 + alias GetTimeFormatW GetTimeFormat; 750 + alias LCMapStringW LCMapString; 751 + alias SetCalendarInfoW SetCalendarInfo; 752 + alias SetLocaleInfoW SetLocaleInfo; 648 753 649 -alias FARPROC LANGUAGEGROUP_ENUMPROCW; 650 -alias FARPROC LANGGROUPLOCALE_ENUMPROCW; 651 -alias FARPROC UILANGUAGE_ENUMPROCW; 652 -alias FARPROC LOCALE_ENUMPROCW; 653 -alias FARPROC CODEPAGE_ENUMPROCW; 654 -alias FARPROC DATEFMT_ENUMPROCW; 655 -alias FARPROC DATEFMT_ENUMPROCEXW; 656 -alias FARPROC TIMEFMT_ENUMPROCW; 657 -alias FARPROC CALINFO_ENUMPROCW; 658 -alias FARPROC CALINFO_ENUMPROCEXW; 754 + static if (WINVER >= 0x410) { 755 + alias EnumCalendarInfoExW EnumCalendarInfoEx; 756 + alias EnumDateFormatsExW EnumDateFormatsEx; 757 + } 659 758 660 -// #endif // !STRICT 661 - 662 -// #ifdef UNICODE 663 - 664 -alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC; 665 -alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC; 666 -alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC; 667 -alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; 668 -alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC; 669 -alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC; 670 -alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX; 671 -alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC; 672 -alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; 673 -alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; 674 - 675 -// #else 676 - 677 -// #... 678 -// #... 679 -// #... 680 -// #... 681 -// #... 682 -// #... 683 -// #... 684 -// #... 685 -// #... 686 -// #... 759 + static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) { 760 + alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 761 + alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; 762 + alias EnumUILanguagesW EnumUILanguages; 763 + } 687 764 688 -// #endif // !UNICODE 689 - 690 -extern(Windows) export BOOL IsValidCodePage( 691 - UINT CodePage); 692 - 693 -extern(Windows) export UINT GetACP(); 694 - 695 -extern(Windows) export UINT GetOEMCP(); 696 - 697 -extern(Windows) export BOOL GetCPInfo( 698 - UINT CodePage, 699 - LPCPINFO lpCPInfo); 700 - 701 -extern(Windows) export BOOL GetCPInfoExA( 702 - UINT CodePage, 703 - DWORD dwFlags, 704 - LPCPINFOEXA lpCPInfoEx); 705 -extern(Windows) export BOOL GetCPInfoExW( 706 - UINT CodePage, 707 - DWORD dwFlags, 708 - LPCPINFOEXW lpCPInfoEx); 709 -// #ifdef UNICODE 710 -alias GetCPInfoExW GetCPInfoEx; 711 -// #else 712 -// #... 713 -// #endif // !UNICODE 714 - 715 -extern(Windows) export BOOL IsDBCSLeadByte( 716 - BYTE TestChar); 717 - 718 -extern(Windows) export BOOL IsDBCSLeadByteEx( 719 - UINT CodePage, 720 - BYTE TestChar); 721 - 722 -extern(Windows) export int MultiByteToWideChar( 723 - UINT CodePage, 724 - DWORD dwFlags, 725 - LPCSTR lpMultiByteStr, 726 - int cbMultiByte, 727 - LPWSTR lpWideCharStr, 728 - int cchWideChar); 729 - 730 -extern(Windows) export int WideCharToMultiByte( 731 - UINT CodePage, 732 - DWORD dwFlags, 733 - LPCWSTR lpWideCharStr, 734 - int cchWideChar, 735 - LPSTR lpMultiByteStr, 736 - int cbMultiByte, 737 - LPCSTR lpDefaultChar, 738 - LPBOOL lpUsedDefaultChar); 739 - 740 -extern(Windows) export int CompareStringA( 741 - LCID Locale, 742 - DWORD dwCmpFlags, 743 - LPCSTR lpString1, 744 - int cchCount1, 745 - LPCSTR lpString2, 746 - int cchCount2); 747 -extern(Windows) export int CompareStringW( 748 - LCID Locale, 749 - DWORD dwCmpFlags, 750 - LPCWSTR lpString1, 751 - int cchCount1, 752 - LPCWSTR lpString2, 753 - int cchCount2); 754 -// #ifdef UNICODE 755 -alias CompareStringW CompareString; 756 -// #else 757 -// #... 758 -// #endif // !UNICODE 765 +} else { 766 + alias CALINFO_ENUMPROCA CALINFO_ENUMPROC; 767 + alias CALINFO_ENUMPROCEXA CALINFO_ENUMPROCEX; 768 + alias LOCALE_ENUMPROCA LOCALE_ENUMPROC; 769 + alias CODEPAGE_ENUMPROCA CODEPAGE_ENUMPROC; 770 + alias DATEFMT_ENUMPROCA DATEFMT_ENUMPROC; 771 + alias DATEFMT_ENUMPROCEXA DATEFMT_ENUMPROCEX; 772 + alias TIMEFMT_ENUMPROCA TIMEFMT_ENUMPROC; 773 + alias LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROC; 774 + alias LANGGROUPLOCALE_ENUMPROCA LANGGROUPLOCALE_ENUMPROC; 775 + alias UILANGUAGE_ENUMPROCA UILANGUAGE_ENUMPROC; 776 + alias CPINFOEXA CPINFOEX; 777 + alias LPCPINFOEXA LPCPINFOEX; 778 + alias CURRENCYFMTA CURRENCYFMT; 779 + alias LPCURRENCYFMTA LPCURRENCYFMT; 780 + alias NUMBERFMTA NUMBERFMT; 781 + alias LPNUMBERFMTA LPNUMBERFMT; 782 + alias CompareStringA CompareString; 783 + alias EnumCalendarInfoA EnumCalendarInfo; 784 + alias EnumSystemCodePagesA EnumSystemCodePages; 785 + alias EnumSystemLocalesA EnumSystemLocales; 786 + alias EnumTimeFormatsA EnumTimeFormats; 787 + alias FoldStringA FoldString; 788 + alias GetCalendarInfoA GetCalendarInfo; 789 + alias GetCPInfoExA GetCPInfoEx; 790 + alias GetCurrencyFormatA GetCurrencyFormat; 791 + alias GetDateFormatA GetDateFormat; 792 + alias GetGeoInfoA GetGeoInfo; 793 + alias GetLocaleInfoA GetLocaleInfo; 794 + alias GetNumberFormatA GetNumberFormat; 795 + alias GetStringTypeExA GetStringTypeEx; 796 + alias GetTimeFormatA GetTimeFormat; 797 + alias LCMapStringA LCMapString; 798 + alias SetCalendarInfoA SetCalendarInfo; 799 + alias SetLocaleInfoA SetLocaleInfo; 759 800 760 -extern(Windows) export int LCMapStringA( 761 - LCID Locale, 762 - DWORD dwMapFlags, 763 - LPCSTR lpSrcStr, 764 - int cchSrc, 765 - LPSTR lpDestStr, 766 - int cchDest); 767 -extern(Windows) export int LCMapStringW( 768 - LCID Locale, 769 - DWORD dwMapFlags, 770 - LPCWSTR lpSrcStr, 771 - int cchSrc, 772 - LPWSTR lpDestStr, 773 - int cchDest); 774 -// #ifdef UNICODE 775 -alias LCMapStringW LCMapString; 776 -// #else 777 -// #... 778 -// #endif // !UNICODE 779 - 780 -extern(Windows) export int GetLocaleInfoA( 781 - LCID Locale, 782 - LCTYPE LCType, 783 - LPSTR lpLCData, 784 - int cchData); 785 -extern(Windows) export int GetLocaleInfoW( 786 - LCID Locale, 787 - LCTYPE LCType, 788 - LPWSTR lpLCData, 789 - int cchData); 790 -// #ifdef UNICODE 791 -alias GetLocaleInfoW GetLocaleInfo; 792 -// #else 793 -// #... 794 -// #endif // !UNICODE 795 - 796 -extern(Windows) export BOOL SetLocaleInfoA( 797 - LCID Locale, 798 - LCTYPE LCType, 799 - LPCSTR lpLCData); 800 -extern(Windows) export BOOL SetLocaleInfoW( 801 - LCID Locale, 802 - LCTYPE LCType, 803 - LPCWSTR lpLCData); 804 -// #ifdef UNICODE 805 -alias SetLocaleInfoW SetLocaleInfo; 806 -// #else 807 -// #... 808 -// #endif // !UNICODE 809 - 810 -// #if (WINVER >= 0x040A) 811 -extern(Windows) export int GetCalendarInfoA( 812 - LCID Locale, 813 - CALID Calendar, 814 - CALTYPE CalType, 815 - LPSTR lpCalData, 816 - int cchData, 817 - LPDWORD lpValue); 818 -extern(Windows) export int GetCalendarInfoW( 819 - LCID Locale, 820 - CALID Calendar, 821 - CALTYPE CalType, 822 - LPWSTR lpCalData, 823 - int cchData, 824 - LPDWORD lpValue); 825 -// #ifdef UNICODE 826 -alias GetCalendarInfoW GetCalendarInfo; 827 -// #else 828 -// #... 829 -// #endif // !UNICODE 830 - 831 -extern(Windows) export BOOL SetCalendarInfoA( 832 - LCID Locale, 833 - CALID Calendar, 834 - CALTYPE CalType, 835 - LPCSTR lpCalData); 836 -extern(Windows) export BOOL SetCalendarInfoW( 837 - LCID Locale, 838 - CALID Calendar, 839 - CALTYPE CalType, 840 - LPCWSTR lpCalData); 841 -// #ifdef UNICODE 842 -alias SetCalendarInfoW SetCalendarInfo; 843 -// #else 844 -// #... 845 -// #endif // !UNICODE 846 -// #endif 847 - 848 -extern(Windows) export int GetTimeFormatA( 849 - LCID Locale, 850 - DWORD dwFlags, 851 - SYSTEMTIME *lpTime, 852 - LPCSTR lpFormat, 853 - LPSTR lpTimeStr, 854 - int cchTime); 855 -extern(Windows) export int GetTimeFormatW( 856 - LCID Locale, 857 - DWORD dwFlags, 858 - SYSTEMTIME *lpTime, 859 - LPCWSTR lpFormat, 860 - LPWSTR lpTimeStr, 861 - int cchTime); 862 -// #ifdef UNICODE 863 -alias GetTimeFormatW GetTimeFormat; 864 -// #else 865 -// #... 866 -// #endif // !UNICODE 867 - 868 -extern(Windows) export int GetDateFormatA( 869 - LCID Locale, 870 - DWORD dwFlags, 871 - SYSTEMTIME *lpDate, 872 - LPCSTR lpFormat, 873 - LPSTR lpDateStr, 874 - int cchDate); 875 -extern(Windows) export int GetDateFormatW( 876 - LCID Locale, 877 - DWORD dwFlags, 878 - SYSTEMTIME *lpDate, 879 - LPCWSTR lpFormat, 880 - LPWSTR lpDateStr, 881 - int cchDate); 882 -// #ifdef UNICODE 883 -alias GetDateFormatW GetDateFormat; 884 -// #else 885 -// #... 886 -// #endif // !UNICODE 801 + static if (WINVER >= 0x410) { 802 + alias EnumCalendarInfoExA EnumCalendarInfoEx; 803 + alias EnumDateFormatsExA EnumDateFormatsEx; 804 + } 887 805 888 -extern(Windows) export int GetNumberFormatA( 889 - LCID Locale, 890 - DWORD dwFlags, 891 - LPCSTR lpValue, 892 - NUMBERFMTA *lpFormat, 893 - LPSTR lpNumberStr, 894 - int cchNumber); 895 -extern(Windows) export int GetNumberFormatW( 896 - LCID Locale, 897 - DWORD dwFlags, 898 - LPCWSTR lpValue, 899 - NUMBERFMTW *lpFormat, 900 - LPWSTR lpNumberStr, 901 - int cchNumber); 902 -// #ifdef UNICODE 903 -alias GetNumberFormatW GetNumberFormat; 904 -// #else 905 -// #... 906 -// #endif // !UNICODE 907 - 908 -extern(Windows) export int GetCurrencyFormatA( 909 - LCID Locale, 910 - DWORD dwFlags, 911 - LPCSTR lpValue, 912 - CURRENCYFMTA *lpFormat, 913 - LPSTR lpCurrencyStr, 914 - int cchCurrency); 915 -extern(Windows) export int GetCurrencyFormatW( 916 - LCID Locale, 917 - DWORD dwFlags, 918 - LPCWSTR lpValue, 919 - CURRENCYFMTW *lpFormat, 920 - LPWSTR lpCurrencyStr, 921 - int cchCurrency); 922 -// #ifdef UNICODE 923 -alias GetCurrencyFormatW GetCurrencyFormat; 924 -// #else 925 -// #... 926 -// #endif // !UNICODE 927 - 928 -extern(Windows) export BOOL EnumCalendarInfoA( 929 - CALINFO_ENUMPROCA lpCalInfoEnumProc, 930 - LCID Locale, 931 - CALID Calendar, 932 - CALTYPE CalType); 933 -extern(Windows) export BOOL EnumCalendarInfoW( 934 - CALINFO_ENUMPROCW lpCalInfoEnumProc, 935 - LCID Locale, 936 - CALID Calendar, 937 - CALTYPE CalType); 938 -// #ifdef UNICODE 939 -alias EnumCalendarInfoW EnumCalendarInfo; 940 -// #else 941 -// #... 942 -// #endif // !UNICODE 943 - 944 -// #if(WINVER >= 0x0500) 945 -extern(Windows) export BOOL EnumCalendarInfoExA( 946 - CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, 947 - LCID Locale, 948 - CALID Calendar, 949 - CALTYPE CalType); 950 -extern(Windows) export BOOL EnumCalendarInfoExW( 951 - CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, 952 - LCID Locale, 953 - CALID Calendar, 954 - CALTYPE CalType); 955 -// #ifdef UNICODE 956 -alias EnumCalendarInfoExW EnumCalendarInfoEx; 957 -// #else 958 -// #... 959 -// #endif // !UNICODE 960 -// #endif /* WINVER >= 0x0500 */ 961 - 962 -extern(Windows) export BOOL EnumTimeFormatsA( 963 - TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, 964 - LCID Locale, 965 - DWORD dwFlags); 966 -extern(Windows) export BOOL EnumTimeFormatsW( 967 - TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, 968 - LCID Locale, 969 - DWORD dwFlags); 970 -// #ifdef UNICODE 971 -alias EnumTimeFormatsW EnumTimeFormats; 972 -// #else 973 -// #... 974 -// #endif // !UNICODE 975 - 976 -extern(Windows) export BOOL EnumDateFormatsA( 977 - DATEFMT_ENUMPROCA lpDateFmtEnumProc, 978 - LCID Locale, 979 - DWORD dwFlags); 980 -extern(Windows) export BOOL EnumDateFormatsW( 981 - DATEFMT_ENUMPROCW lpDateFmtEnumProc, 982 - LCID Locale, 983 - DWORD dwFlags); 984 -// #ifdef UNICODE 985 -alias EnumDateFormatsW EnumDateFormats; 986 -// #else 987 -// #... 988 -// #endif // !UNICODE 989 - 990 -// #if(WINVER >= 0x0500) 991 -extern(Windows) export BOOL EnumDateFormatsExA( 992 - DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, 993 - LCID Locale, 994 - DWORD dwFlags); 995 -extern(Windows) export BOOL EnumDateFormatsExW( 996 - DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, 997 - LCID Locale, 998 - DWORD dwFlags); 999 -// #ifdef UNICODE 1000 -alias EnumDateFormatsExW EnumDateFormatsEx; 1001 -// #else 1002 -// #... 1003 -// #endif // !UNICODE 1004 -// #endif /* WINVER >= 0x0500 */ 1005 - 1006 -// #if(WINVER >= 0x0500) 1007 -extern(Windows) export BOOL IsValidLanguageGroup( 1008 - LGRPID LanguageGroup, 1009 - DWORD dwFlags); 1010 -// #endif /* WINVER >= 0x0500 */ 1011 - 1012 -extern(Windows) export BOOL IsValidLocale( 1013 - LCID Locale, 1014 - DWORD dwFlags); 1015 - 1016 -extern(Windows) export int GetGeoInfoA( 1017 - GEOID Location, 1018 - GEOTYPE GeoType, 1019 - LPSTR lpGeoData, 1020 - int cchData, 1021 - LANGID LangId); 1022 -extern(Windows) export int GetGeoInfoW( 1023 - GEOID Location, 1024 - GEOTYPE GeoType, 1025 - LPWSTR lpGeoData, 1026 - int cchData, 1027 - LANGID LangId); 1028 -// #ifdef UNICODE 1029 -alias GetGeoInfoW GetGeoInfo; 1030 -// #else 1031 -// #... 1032 -// #endif // !UNICODE 1033 - 1034 -extern(Windows) export BOOL EnumSystemGeoID( 1035 - GEOCLASS GeoClass, 1036 - GEOID ParentGeoId, 1037 - GEO_ENUMPROC lpGeoEnumProc); 1038 - 1039 -extern(Windows) export GEOID GetUserGeoID( 1040 - GEOCLASS GeoClass); 1041 - 1042 -extern(Windows) export BOOL SetUserGeoID( 1043 - GEOID GeoId); 1044 - 1045 -extern(Windows) export LCID ConvertDefaultLocale( 1046 - LCID Locale); 1047 - 1048 -extern(Windows) export LCID GetThreadLocale(); 1049 - 1050 -extern(Windows) export BOOL SetThreadLocale( 1051 - LCID Locale 1052 - ); 1053 - 1054 -// #if(WINVER >= 0x0500) 1055 -extern(Windows) export LANGID GetSystemDefaultUILanguage(); 1056 - 1057 -extern(Windows) export LANGID GetUserDefaultUILanguage(); 1058 -// #endif /* WINVER >= 0x0500 */ 1059 - 1060 -extern(Windows) export LANGID GetSystemDefaultLangID(); 1061 - 1062 -extern(Windows) export LANGID GetUserDefaultLangID(); 1063 - 1064 -extern(Windows) export LCID GetSystemDefaultLCID(); 1065 - 1066 -extern(Windows) export LCID GetUserDefaultLCID(); 1067 - 1068 -extern(Windows) export BOOL GetStringTypeExA( 1069 - LCID Locale, 1070 - DWORD dwInfoType, 1071 - LPCSTR lpSrcStr, 1072 - int cchSrc, 1073 - LPWORD lpCharType); 1074 -extern(Windows) export BOOL GetStringTypeExW( 1075 - LCID Locale, 1076 - DWORD dwInfoType, 1077 - LPCWSTR lpSrcStr, 1078 - int cchSrc, 1079 - LPWORD lpCharType); 1080 -// #ifdef UNICODE 1081 -alias GetStringTypeExW GetStringTypeEx; 1082 -// #else 1083 -// #... 1084 -// #endif // !UNICODE 1085 - 1086 -extern(Windows) export BOOL GetStringTypeA( 1087 - LCID Locale, 1088 - DWORD dwInfoType, 1089 - LPCSTR lpSrcStr, 1090 - int cchSrc, 1091 - LPWORD lpCharType); 1092 - 1093 -extern(Windows) export BOOL GetStringTypeW( 1094 - DWORD dwInfoType, 1095 - LPCWSTR lpSrcStr, 1096 - int cchSrc, 1097 - LPWORD lpCharType); 1098 - 1099 -extern(Windows) export int FoldStringA( 1100 - DWORD dwMapFlags, 1101 - LPCSTR lpSrcStr, 1102 - int cchSrc, 1103 - LPSTR lpDestStr, 1104 - int cchDest); 1105 -extern(Windows) export int FoldStringW( 1106 - DWORD dwMapFlags, 1107 - LPCWSTR lpSrcStr, 1108 - int cchSrc, 1109 - LPWSTR lpDestStr, 1110 - int cchDest); 1111 -// #ifdef UNICODE 1112 -alias FoldStringW FoldString; 1113 -// #else 1114 -// #... 1115 -// #endif // !UNICODE 1116 - 1117 -// #if(WINVER >= 0x0500) 1118 -extern(Windows) export BOOL EnumSystemLanguageGroupsA( 1119 - LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, 1120 - DWORD dwFlags, 1121 - LONG_PTR lParam); 1122 -extern(Windows) export BOOL EnumSystemLanguageGroupsW( 1123 - LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, 1124 - DWORD dwFlags, 1125 - LONG_PTR lParam); 1126 -// #ifdef UNICODE 1127 -alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 1128 -// #else 1129 -// #... 1130 -// #endif // !UNICODE 1131 - 1132 -extern(Windows) export BOOL EnumLanguageGroupLocalesA( 1133 - LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, 1134 - LGRPID LanguageGroup, 1135 - DWORD dwFlags, 1136 - LONG_PTR lParam); 1137 -extern(Windows) export BOOL EnumLanguageGroupLocalesW( 1138 - LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, 1139 - LGRPID LanguageGroup, 1140 - DWORD dwFlags, 1141 - LONG_PTR lParam); 1142 -// #ifdef UNICODE 1143 -alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; 1144 -// #else 1145 -// #... 1146 -// #endif // !UNICODE 1147 - 1148 -extern(Windows) export BOOL EnumUILanguagesA( 1149 - UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, 1150 - DWORD dwFlags, 1151 - LONG_PTR lParam); 1152 -extern(Windows) export BOOL EnumUILanguagesW( 1153 - UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, 1154 - DWORD dwFlags, 1155 - LONG_PTR lParam); 1156 -// #ifdef UNICODE 1157 -alias EnumUILanguagesW EnumUILanguages; 1158 -// #else 1159 -// #... 1160 -// #endif // !UNICODE 1161 -// #endif /* WINVER >= 0x0500 */ 1162 - 1163 -extern(Windows) export BOOL EnumSystemLocalesA( 1164 - LOCALE_ENUMPROCA lpLocaleEnumProc, 1165 - DWORD dwFlags); 1166 -extern(Windows) export BOOL EnumSystemLocalesW( 1167 - LOCALE_ENUMPROCW lpLocaleEnumProc, 1168 - DWORD dwFlags); 1169 -// #ifdef UNICODE 1170 -alias EnumSystemLocalesW EnumSystemLocales; 1171 -// #else 1172 -// #... 1173 -// #endif // !UNICODE 1174 - 1175 -extern(Windows) export BOOL EnumSystemCodePagesA( 1176 - CODEPAGE_ENUMPROCA lpCodePageEnumProc, 1177 - DWORD dwFlags); 1178 -extern(Windows) export BOOL EnumSystemCodePagesW( 1179 - CODEPAGE_ENUMPROCW lpCodePageEnumProc, 1180 - DWORD dwFlags); 1181 -// #ifdef UNICODE 1182 -alias EnumSystemCodePagesW EnumSystemCodePages; 1183 -// #else 1184 -// #... 1185 -// #endif // !UNICODE 1186 - 1187 -// #endif // NONLS 1188 - 1189 -// #ifdef __cplusplus 1190 -// } 1191 -// #endif 1192 - 1193 -// #endif // _WINNLS_ 806 + static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) { 807 + alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups; 808 + alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales; 809 + alias EnumUILanguagesA EnumUILanguages; 810 + } 811 +}