10 #pragma warning(disable:4820)
13 #define GEOID_NOT_AVAILABLE (-1)
14 #define MAX_LEADBYTES 12
15 #define MAX_DEFAULTCHAR 2
17 #define LOCALE_ALL 0x00
19 #define LOCALE_NOUSEROVERRIDE 0x80000000
20 #define LOCALE_USE_CP_ACP 0x40000000
21 #if (WINVER >= 0x0400)
22 #define LOCALE_RETURN_NUMBER 0x20000000
24 #define LOCALE_RETURN_GENITIVE_NAMES 0x10000000
25 #define LOCALE_ILANGUAGE 1
26 #define LOCALE_SLANGUAGE 2
27 #define LOCALE_SENGLANGUAGE 0x1001
28 #define LOCALE_SABBREVLANGNAME 3
29 #define LOCALE_SNATIVELANGNAME 4
30 #define LOCALE_ICOUNTRY 5
31 #define LOCALE_SCOUNTRY 6
32 #define LOCALE_SENGCOUNTRY 0x1002
33 #define LOCALE_SABBREVCTRYNAME 7
34 #define LOCALE_SNATIVECTRYNAME 8
35 #define LOCALE_IDEFAULTLANGUAGE 9
36 #define LOCALE_IDEFAULTCOUNTRY 10
37 #define LOCALE_IDEFAULTCODEPAGE 11
38 #define LOCALE_IDEFAULTANSICODEPAGE 0x1004
39 #define LOCALE_IDEFAULTMACCODEPAGE 0x1011
40 #define LOCALE_SLIST 12
41 #define LOCALE_IMEASURE 13
42 #define LOCALE_SDECIMAL 14
43 #define LOCALE_STHOUSAND 15
44 #define LOCALE_SGROUPING 16
45 #define LOCALE_IDIGITS 17
46 #define LOCALE_ILZERO 18
47 #define LOCALE_INEGNUMBER 0x1010
48 #define LOCALE_SNATIVEDIGITS 19
49 #define LOCALE_SCURRENCY 20
50 #define LOCALE_SINTLSYMBOL 21
51 #define LOCALE_SMONDECIMALSEP 22
52 #define LOCALE_SMONTHOUSANDSEP 23
53 #define LOCALE_SMONGROUPING 24
54 #define LOCALE_ICURRDIGITS 25
55 #define LOCALE_IINTLCURRDIGITS 26
56 #define LOCALE_ICURRENCY 27
57 #define LOCALE_INEGCURR 28
58 #define LOCALE_SDATE 29
59 #define LOCALE_STIME 30
60 #define LOCALE_SSHORTDATE 31
61 #define LOCALE_SLONGDATE 32
62 #define LOCALE_STIMEFORMAT 0x1003
63 #define LOCALE_IDATE 33
64 #define LOCALE_ILDATE 34
65 #define LOCALE_ITIME 35
66 #define LOCALE_ITIMEMARKPOSN 0x1005
67 #define LOCALE_ICENTURY 36
68 #define LOCALE_ITLZERO 37
69 #define LOCALE_IDAYLZERO 38
70 #define LOCALE_IMONLZERO 39
71 #define LOCALE_S1159 40
72 #define LOCALE_S2359 41
73 #define LOCALE_ICALENDARTYPE 0x1009
74 #define LOCALE_IOPTIONALCALENDAR 0x100B
75 #define LOCALE_IFIRSTDAYOFWEEK 0x100C
76 #define LOCALE_IFIRSTWEEKOFYEAR 0x100D
77 #define LOCALE_SDAYNAME1 42
78 #define LOCALE_SDAYNAME2 43
79 #define LOCALE_SDAYNAME3 44
80 #define LOCALE_SDAYNAME4 45
81 #define LOCALE_SDAYNAME5 46
82 #define LOCALE_SDAYNAME6 47
83 #define LOCALE_SDAYNAME7 48
84 #define LOCALE_SABBREVDAYNAME1 49
85 #define LOCALE_SABBREVDAYNAME2 50
86 #define LOCALE_SABBREVDAYNAME3 51
87 #define LOCALE_SABBREVDAYNAME4 52
88 #define LOCALE_SABBREVDAYNAME5 53
89 #define LOCALE_SABBREVDAYNAME6 54
90 #define LOCALE_SABBREVDAYNAME7 55
91 #define LOCALE_SMONTHNAME1 56
92 #define LOCALE_SMONTHNAME2 57
93 #define LOCALE_SMONTHNAME3 58
94 #define LOCALE_SMONTHNAME4 59
95 #define LOCALE_SMONTHNAME5 60
96 #define LOCALE_SMONTHNAME6 61
97 #define LOCALE_SMONTHNAME7 62
98 #define LOCALE_SMONTHNAME8 63
99 #define LOCALE_SMONTHNAME9 64
100 #define LOCALE_SMONTHNAME10 65
101 #define LOCALE_SMONTHNAME11 66
102 #define LOCALE_SMONTHNAME12 67
103 #define LOCALE_SMONTHNAME13 0x100E
104 #define LOCALE_SABBREVMONTHNAME1 68
105 #define LOCALE_SABBREVMONTHNAME2 69
106 #define LOCALE_SABBREVMONTHNAME3 70
107 #define LOCALE_SABBREVMONTHNAME4 71
108 #define LOCALE_SABBREVMONTHNAME5 72
109 #define LOCALE_SABBREVMONTHNAME6 73
110 #define LOCALE_SABBREVMONTHNAME7 74
111 #define LOCALE_SABBREVMONTHNAME8 75
112 #define LOCALE_SABBREVMONTHNAME9 76
113 #define LOCALE_SABBREVMONTHNAME10 77
114 #define LOCALE_SABBREVMONTHNAME11 78
115 #define LOCALE_SABBREVMONTHNAME12 79
116 #define LOCALE_SABBREVMONTHNAME13 0x100F
117 #define LOCALE_SPOSITIVESIGN 80
118 #define LOCALE_SNEGATIVESIGN 81
119 #define LOCALE_SSCRIPTS 108 // FIXME
120 #define LOCALE_IPOSSIGNPOSN 82
121 #define LOCALE_INEGSIGNPOSN 83
122 #define LOCALE_IPOSSYMPRECEDES 84
123 #define LOCALE_IPOSSEPBYSPACE 85
124 #define LOCALE_INEGSYMPRECEDES 86
125 #define LOCALE_INEGSEPBYSPACE 87
126 #define LOCALE_FONTSIGNATURE 88
127 #define LOCALE_SISO639LANGNAME 89
128 #define LOCALE_SISO3166CTRYNAME 90
129 #define LOCALE_SNAME 92 // FIXME
131 #if (WINVER >= 0x0600)
132 #define LOCALE_SNAME 92
133 #define LOCALE_SDURATION 93
134 #define LOCALE_SKEYBOARDSTOINSTALL 94
135 #define LOCALE_SSHORTESTDAYNAME1 96
136 #define LOCALE_SSHORTESTDAYNAME2 97
137 #define LOCALE_SSHORTESTDAYNAME3 98
138 #define LOCALE_SSHORTESTDAYNAME4 99
139 #define LOCALE_SSHORTESTDAYNAME5 100
140 #define LOCALE_SSHORTESTDAYNAME6 101
141 #define LOCALE_SSHORTESTDAYNAME7 102
142 #define LOCALE_SISO639LANGNAME2 103
143 #define LOCALE_SISO3166CTRYNAME2 104
144 #define LOCALE_SNAN 105
145 #define LOCALE_SPOSINFINITY 106
146 #define LOCALE_SNEGINFINITY 107
147 #define LOCALE_SSCRIPTS 108
148 #define LOCALE_SPARENT 109
149 #define LOCALE_SCONSOLEFALLBACKNAME 110
150 #endif /* (WINVER >= 0x0600) */
152 //#if (WINVER >= _WIN32_WINNT_WIN7)
153 #define LOCALE_IREADINGLAYOUT 0x0070
154 #define LOCALE_INEUTRAL 0x0071
155 #define LOCALE_INEGATIVEPERCENT 0x0074
156 #define LOCALE_IPOSITIVEPERCENT 0x0075
157 #define LOCALE_SPERCENT 0x0076
158 #define LOCALE_SPERMILLE 0x0077
159 #define LOCALE_SMONTHDAY 0x0078
160 #define LOCALE_SSHORTTIME 0x0079
161 #define LOCALE_SOPENTYPELANGUAGETAG 0x007a
162 #define LOCALE_SSORTLOCALE 0x007b
163 //#endif /* (WINVER >= _WIN32_WINNT_WIN7) */
165 #if (WINVER >= 0x0600)
166 #define LOCALE_NAME_USER_DEFAULT NULL
167 #define LOCALE_NAME_INVARIANT L""
168 #define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
171 #define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 /* Wine extension */
173 #define NORM_IGNORECASE 1
174 #define NORM_IGNOREKANATYPE 65536
175 #define NORM_IGNORENONSPACE 2
176 #define NORM_IGNORESYMBOLS 4
177 #define NORM_IGNOREWIDTH 131072
178 #define LINGUISTIC_IGNORECASE 0x00000010
179 #define NORM_LINGUISTIC_CASING 0x08000000
180 #define SORT_STRINGSORT 4096
181 #define LCMAP_LOWERCASE 0x00000100
182 #define LCMAP_UPPERCASE 0x00000200
183 #define LCMAP_SORTKEY 0x00000400
184 #define LCMAP_BYTEREV 0x00000800
185 #define LCMAP_HIRAGANA 0x00100000
186 #define LCMAP_KATAKANA 0x00200000
187 #define LCMAP_HALFWIDTH 0x00400000
188 #define LCMAP_FULLWIDTH 0x00800000
189 #define LCMAP_LINGUISTIC_CASING 0x01000000
190 #define LCMAP_SIMPLIFIED_CHINESE 0x02000000
191 #define LCMAP_TRADITIONAL_CHINESE 0x04000000
192 #define ENUM_ALL_CALENDARS (-1)
193 #define DATE_SHORTDATE 1
194 #define DATE_LONGDATE 2
195 #define DATE_USE_ALT_CALENDAR 4
196 #define CP_INSTALLED 1
197 #define CP_SUPPORTED 2
198 #define LCID_INSTALLED 1
199 #define LCID_SUPPORTED 2
200 #define LCID_ALTERNATE_SORTS 4
201 #define MAP_FOLDCZONE 16
202 #define MAP_FOLDDIGITS 128
203 #define MAP_PRECOMPOSED 32
204 #define MAP_COMPOSITE 64
206 #define WC_DISCARDNS 0x0010
207 #define WC_SEPCHARS 0x0020
208 #define WC_DEFAULTCHAR 0x0040
209 #define WC_ERR_INVALID_CHARS 0x0080
210 #define WC_COMPOSITECHECK 0x0200
211 #if (WINVER >= 0x0500)
212 #define WC_NO_BEST_FIT_CHARS 0x0400
217 #define CP_UNIXCP CP_ACP
221 #define CP_THREAD_ACP 3
223 #define CP_UTF7 65000
224 #define CP_UTF8 65001
235 #define C1_XDIGIT 128
237 #define C1_DEFINED 512
238 #define C2_LEFTTORIGHT 1
239 #define C2_RIGHTTOLEFT 2
240 #define C2_EUROPENUMBER 3
241 #define C2_EUROPESEPARATOR 4
242 #define C2_EUROPETERMINATOR 5
243 #define C2_ARABICNUMBER 6
244 #define C2_COMMONSEPARATOR 7
245 #define C2_BLOCKSEPARATOR 8
246 #define C2_SEGMENTSEPARATOR 9
247 #define C2_WHITESPACE 10
248 #define C2_OTHERNEUTRAL 11
249 #define C2_NOTAPPLICABLE 0
250 #define C3_NONSPACING 1
251 #define C3_DIACRITIC 2
252 #define C3_VOWELMARK 4
254 #define C3_KATAKANA 16
255 #define C3_HIRAGANA 32
256 #define C3_HALFWIDTH 64
257 #define C3_FULLWIDTH 128
258 #define C3_IDEOGRAPH 256
259 #define C3_KASHIDA 512
260 #define C3_LEXICAL 1024
261 #define C3_ALPHA 32768
262 #define C3_NOTAPPLICABLE 0
263 #define C3_HIGHSURROGATE 0x0800
264 #define C3_LOWSURROGATE 0x1000
265 #define TIME_NOMINUTESORSECONDS 1
266 #define TIME_NOSECONDS 2
267 #define TIME_NOTIMEMARKER 4
268 #define TIME_FORCE24HOURFORMAT 8
269 #define MB_PRECOMPOSED 1
270 #define MB_COMPOSITE 2
271 #define MB_ERR_INVALID_CHARS 8
272 #define MB_USEGLYPHCHARS 4
273 #define CTRY_DEFAULT 0
274 #define CTRY_ALBANIA 355
275 #define CTRY_ALGERIA 213
276 #define CTRY_ARGENTINA 54
277 #define CTRY_ARMENIA 374
278 #define CTRY_AUSTRALIA 61
279 #define CTRY_AUSTRIA 43
280 #define CTRY_AZERBAIJAN 994
281 #define CTRY_BAHRAIN 973
282 #define CTRY_BELARUS 375
283 #define CTRY_BELGIUM 32
284 #define CTRY_BELIZE 501
285 #define CTRY_BOLIVIA 591
286 #define CTRY_BRAZIL 55
287 #define CTRY_BRUNEI_DARUSSALAM 673
288 #define CTRY_BULGARIA 359
289 #define CTRY_CANADA 2
290 #define CTRY_CARIBBEAN 1
291 #define CTRY_CHILE 56
292 #define CTRY_COLOMBIA 57
293 #define CTRY_COSTA_RICA 506
294 #define CTRY_CROATIA 385
295 #define CTRY_CZECH 420
296 #define CTRY_DENMARK 45
297 #define CTRY_DOMINICAN_REPUBLIC 1
298 #define CTRY_ECUADOR 593
299 #define CTRY_EGYPT 20
300 #define CTRY_EL_SALVADOR 503
301 #define CTRY_ESTONIA 372
302 #define CTRY_FAEROE_ISLANDS 298
303 #define CTRY_FINLAND 358
304 #define CTRY_FRANCE 33
305 #define CTRY_GEORGIA 995
306 #define CTRY_GERMANY 49
307 #define CTRY_GREECE 30
308 #define CTRY_GUATEMALA 502
309 #define CTRY_HONDURAS 504
310 #define CTRY_HONG_KONG 852
311 #define CTRY_HUNGARY 36
312 #define CTRY_ICELAND 354
313 #define CTRY_INDIA 91
314 #define CTRY_INDONESIA 62
315 #define CTRY_IRAN 981
316 #define CTRY_IRAQ 964
317 #define CTRY_IRELAND 353
318 #define CTRY_ISRAEL 972
319 #define CTRY_ITALY 39
320 #define CTRY_JAMAICA 1
321 #define CTRY_JAPAN 81
322 #define CTRY_JORDAN 962
323 #define CTRY_KAZAKSTAN 7
324 #define CTRY_KENYA 254
325 #define CTRY_KUWAIT 965
326 #define CTRY_KYRGYZSTAN 996
327 #define CTRY_LATVIA 371
328 #define CTRY_LEBANON 961
329 #define CTRY_LIBYA 218
330 #define CTRY_LIECHTENSTEIN 41
331 #define CTRY_LITHUANIA 370
332 #define CTRY_LUXEMBOURG 352
333 #define CTRY_MACAU 853
334 #define CTRY_MACEDONIA 389
335 #define CTRY_MALAYSIA 60
336 #define CTRY_MALDIVES 960
337 #define CTRY_MEXICO 52
338 #define CTRY_MONACO 33
339 #define CTRY_MONGOLIA 976
340 #define CTRY_MOROCCO 212
341 #define CTRY_NETHERLANDS 31
342 #define CTRY_NEW_ZEALAND 64
343 #define CTRY_NICARAGUA 505
344 #define CTRY_NORWAY 47
345 #define CTRY_OMAN 968
346 #define CTRY_PAKISTAN 92
347 #define CTRY_PANAMA 507
348 #define CTRY_PARAGUAY 595
350 #define CTRY_PHILIPPINES 63
351 #define CTRY_POLAND 48
352 #define CTRY_PORTUGAL 351
353 #define CTRY_PRCHINA 86
354 #define CTRY_PUERTO_RICO 1
355 #define CTRY_QATAR 974
356 #define CTRY_ROMANIA 40
357 #define CTRY_RUSSIA 7
358 #define CTRY_SAUDI_ARABIA 966
359 #define CTRY_SERBIA 381
360 #define CTRY_SINGAPORE 65
361 #define CTRY_SLOVAK 421
362 #define CTRY_SLOVENIA 386
363 #define CTRY_SOUTH_AFRICA 27
364 #define CTRY_SOUTH_KOREA 82
365 #define CTRY_SPAIN 34
366 #define CTRY_SWEDEN 46
367 #define CTRY_SWITZERLAND 41
368 #define CTRY_SYRIA 963
369 #define CTRY_TAIWAN 886
370 #define CTRY_TATARSTAN 7
371 #define CTRY_THAILAND 66
372 #define CTRY_TRINIDAD_Y_TOBAGO 1
373 #define CTRY_TUNISIA 216
374 #define CTRY_TURKEY 90
376 #define CTRY_UKRAINE 380
377 #define CTRY_UNITED_KINGDOM 44
378 #define CTRY_UNITED_STATES 1
379 #define CTRY_URUGUAY 598
380 #define CTRY_UZBEKISTAN 7
381 #define CTRY_VENEZUELA 58
382 #define CTRY_VIET_NAM 84
383 #define CTRY_YEMEN 967
384 #define CTRY_ZIMBABWE 263
385 #define CAL_ICALINTVALUE 1
386 #define CAL_SCALNAME 2
387 #define CAL_IYEAROFFSETRANGE 3
388 #define CAL_SERASTRING 4
389 #define CAL_SSHORTDATE 5
390 #define CAL_SLONGDATE 6
391 #define CAL_SDAYNAME1 7
392 #define CAL_SDAYNAME2 8
393 #define CAL_SDAYNAME3 9
394 #define CAL_SDAYNAME4 10
395 #define CAL_SDAYNAME5 11
396 #define CAL_SDAYNAME6 12
397 #define CAL_SDAYNAME7 13
398 #define CAL_SABBREVDAYNAME1 14
399 #define CAL_SABBREVDAYNAME2 15
400 #define CAL_SABBREVDAYNAME3 16
401 #define CAL_SABBREVDAYNAME4 17
402 #define CAL_SABBREVDAYNAME5 18
403 #define CAL_SABBREVDAYNAME6 19
404 #define CAL_SABBREVDAYNAME7 20
405 #define CAL_SMONTHNAME1 21
406 #define CAL_SMONTHNAME2 22
407 #define CAL_SMONTHNAME3 23
408 #define CAL_SMONTHNAME4 24
409 #define CAL_SMONTHNAME5 25
410 #define CAL_SMONTHNAME6 26
411 #define CAL_SMONTHNAME7 27
412 #define CAL_SMONTHNAME8 28
413 #define CAL_SMONTHNAME9 29
414 #define CAL_SMONTHNAME10 30
415 #define CAL_SMONTHNAME11 31
416 #define CAL_SMONTHNAME12 32
417 #define CAL_SMONTHNAME13 33
418 #define CAL_SABBREVMONTHNAME1 34
419 #define CAL_SABBREVMONTHNAME2 35
420 #define CAL_SABBREVMONTHNAME3 36
421 #define CAL_SABBREVMONTHNAME4 37
422 #define CAL_SABBREVMONTHNAME5 38
423 #define CAL_SABBREVMONTHNAME6 39
424 #define CAL_SABBREVMONTHNAME7 40
425 #define CAL_SABBREVMONTHNAME8 41
426 #define CAL_SABBREVMONTHNAME9 42
427 #define CAL_SABBREVMONTHNAME10 43
428 #define CAL_SABBREVMONTHNAME11 44
429 #define CAL_SABBREVMONTHNAME12 45
430 #define CAL_SABBREVMONTHNAME13 46
431 #define CAL_GREGORIAN 1
432 #define CAL_GREGORIAN_US 2
439 #define CAL_GREGORIAN_ME_FRENCH 9
440 #define CAL_GREGORIAN_ARABIC 10
441 #define CAL_GREGORIAN_XLIT_ENGLISH 11
442 #define CAL_GREGORIAN_XLIT_FRENCH 12
443 #define CSTR_LESS_THAN 1
445 #define CSTR_GREATER_THAN 3
446 #define LGRPID_INSTALLED 1
447 #define LGRPID_SUPPORTED 2
448 #define LGRPID_WESTERN_EUROPE 1
449 #define LGRPID_CENTRAL_EUROPE 2
450 #define LGRPID_BALTIC 3
451 #define LGRPID_GREEK 4
452 #define LGRPID_CYRILLIC 5
453 #define LGRPID_TURKISH 6
454 #define LGRPID_JAPANESE 7
455 #define LGRPID_KOREAN 8
456 #define LGRPID_TRADITIONAL_CHINESE 9
457 #define LGRPID_SIMPLIFIED_CHINESE 10
458 #define LGRPID_THAI 11
459 #define LGRPID_HEBREW 12
460 #define LGRPID_ARABIC 13
461 #define LGRPID_VIETNAMESE 14
462 #define LGRPID_INDIC 15
463 #define LGRPID_GEORGIAN 16
464 #define LGRPID_ARMENIAN 17
466 #if (WINVER >= 0x0500)
467 #define LOCALE_SYEARMONTH 0x1006
468 #define LOCALE_SENGCURRNAME 0x1007
469 #define LOCALE_SNATIVECURRNAME 0x1008
470 #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
471 #define LOCALE_SSORTNAME 0x1013
472 #define LOCALE_IDIGITSUBSTITUTION 0x1014
473 #define LOCALE_IPAPERSIZE 0x100A
474 #define DATE_YEARMONTH 8
475 #define DATE_LTRREADING 16
476 #define DATE_RTLREADING 32
477 #define MAP_EXPAND_LIGATURES 0x2000
478 #define CAL_SYEARMONTH 47
479 #define CAL_ITWODIGITYEARMAX 48
480 #define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
481 #define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
482 #define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
483 #endif /* (WINVER >= 0x0500) */
485 #define IDN_ALLOW_UNASSIGNED 0x1
486 #define IDN_USE_STD3_ASCII_RULES 0x2
487 #define VS_ALLOW_LATIN 0x1
488 #define GSS_ALLOW_INHERITED_COMMON 0x1
491 typedef long LONG_PTR
;
495 typedef DWORD LCTYPE
;
496 typedef DWORD CALTYPE
;
498 typedef DWORD LGRPID
;
500 typedef DWORD GEOTYPE
;
501 typedef DWORD GEOCLASS
;
502 typedef BOOL (CALLBACK
*CALINFO_ENUMPROCA
)(LPSTR
);
503 typedef BOOL (CALLBACK
*CALINFO_ENUMPROCW
)(LPWSTR
);
504 typedef BOOL (CALLBACK
*CALINFO_ENUMPROCEXA
)(LPSTR
, CALID
);
505 typedef BOOL (CALLBACK
*CALINFO_ENUMPROCEXW
)(LPWSTR
, CALID
);
506 typedef BOOL (CALLBACK
*LANGUAGEGROUP_ENUMPROCA
)(LGRPID
, LPSTR
, LPSTR
, DWORD
, LONG_PTR
);
507 typedef BOOL (CALLBACK
*LANGUAGEGROUP_ENUMPROCW
)(LGRPID
, LPWSTR
, LPWSTR
, DWORD
, LONG_PTR
);
508 typedef BOOL (CALLBACK
*LANGGROUPLOCALE_ENUMPROCA
)(LGRPID
, LCID
, LPSTR
, LONG_PTR
);
509 typedef BOOL (CALLBACK
*LANGGROUPLOCALE_ENUMPROCW
)(LGRPID
, LCID
, LPWSTR
, LONG_PTR
);
510 typedef BOOL (CALLBACK
*UILANGUAGE_ENUMPROCW
)(LPWSTR
, LONG_PTR
);
511 typedef BOOL (CALLBACK
*UILANGUAGE_ENUMPROCA
)(LPSTR
, LONG_PTR
);
512 typedef BOOL (CALLBACK
*LOCALE_ENUMPROCA
)(LPSTR
);
513 typedef BOOL (CALLBACK
*LOCALE_ENUMPROCW
)(LPWSTR
);
514 typedef BOOL (CALLBACK
*LOCALE_ENUMPROCEX
)(LPWSTR
, DWORD
, LPARAM
);
515 typedef BOOL (CALLBACK
*CODEPAGE_ENUMPROCA
)(LPSTR
);
516 typedef BOOL (CALLBACK
*CODEPAGE_ENUMPROCW
)(LPWSTR
);
517 typedef BOOL (CALLBACK
*DATEFMT_ENUMPROCA
)(LPSTR
);
518 typedef BOOL (CALLBACK
*DATEFMT_ENUMPROCW
)(LPWSTR
);
519 typedef BOOL (CALLBACK
*DATEFMT_ENUMPROCEXA
)(LPSTR
, CALID
);
520 typedef BOOL (CALLBACK
*DATEFMT_ENUMPROCEXW
)(LPWSTR
, CALID
);
521 typedef BOOL (CALLBACK
*TIMEFMT_ENUMPROCA
)(LPSTR
);
522 typedef BOOL (CALLBACK
*TIMEFMT_ENUMPROCW
)(LPWSTR
);
523 typedef BOOL (CALLBACK
*GEO_ENUMPROC
)(GEOID
);
526 COMPARE_STRING
= 0x0001
528 typedef enum NLS_FUNCTION NLS_FUNCTION
;
530 GEOCLASS_NATION
= 16,
534 /* Geographic Information types */
547 GEO_OFFICIALLANGUAGES
,
552 typedef struct _cpinfo
{
554 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
555 BYTE LeadByte
[MAX_LEADBYTES
];
557 typedef struct _cpinfoexA
{
559 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
560 BYTE LeadByte
[MAX_LEADBYTES
];
561 WCHAR UnicodeDefaultChar
;
563 CHAR CodePageName
[MAX_PATH
];
564 } CPINFOEXA
,*LPCPINFOEXA
;
565 typedef struct _cpinfoexW
{
567 BYTE DefaultChar
[MAX_DEFAULTCHAR
];
568 BYTE LeadByte
[MAX_LEADBYTES
];
569 WCHAR UnicodeDefaultChar
;
571 WCHAR CodePageName
[MAX_PATH
];
572 } CPINFOEXW
,*LPCPINFOEXW
;
573 typedef struct _currencyfmtA
{
581 LPSTR lpCurrencySymbol
;
582 } CURRENCYFMTA
,*LPCURRENCYFMTA
;
583 typedef struct _currencyfmtW
{
588 LPWSTR lpThousandSep
;
591 LPWSTR lpCurrencySymbol
;
592 } CURRENCYFMTW
,*LPCURRENCYFMTW
;
593 typedef struct nlsversioninfo
{
594 DWORD dwNLSVersionInfoSize
;
596 DWORD dwDefinedVersion
;
597 } NLSVERSIONINFO
,*LPNLSVERSIONINFO
;
598 typedef struct _numberfmtA
{
605 } NUMBERFMTA
,*LPNUMBERFMTA
;
606 typedef struct _numberfmtW
{
611 LPWSTR lpThousandSep
;
613 } NUMBERFMTW
,*LPNUMBERFMTW
;
614 #if (WINVER >= 0x0600)
615 typedef enum _NORM_FORM
{
616 NormalizationOther
= 0,
617 NormalizationC
= 0x1,
618 NormalizationD
= 0x2,
619 NormalizationKC
= 0x5,
620 NormalizationKD
= 0x6
622 #endif /* (WINVER >= 0x0600) */
623 typedef struct _FILEMUIINFO
{
628 BYTE pServiceChecksum
[16];
629 DWORD dwLanguageNameOffset
;
630 DWORD dwTypeIDMainSize
;
631 DWORD dwTypeIDMainOffset
;
632 DWORD dwTypeNameMainOffset
;
633 DWORD dwTypeIDMUISize
;
634 DWORD dwTypeIDMUIOffset
;
635 DWORD dwTypeNameMUIOffset
;
637 } FILEMUIINFO
, *PFILEMUIINFO
;
639 #define HIGH_SURROGATE_START 0xd800
640 #define HIGH_SURROGATE_END 0xdbff
641 #define LOW_SURROGATE_START 0xdc00
642 #define LOW_SURROGATE_END 0xdfff
644 #define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END)
645 #define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END)
646 #define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low))
652 _In_ DWORD dwCmpFlags
,
653 _In_reads_(cchCount1
) LPCSTR lpString1
,
655 _In_reads_(cchCount2
) LPCSTR lpString2
,
662 _In_ DWORD dwCmpFlags
,
663 _In_reads_(cchCount1
) LPCWSTR lpString1
,
665 _In_reads_(cchCount2
) LPCWSTR lpString2
,
668 LCID WINAPI
ConvertDefaultLocale(_In_ LCID
);
669 BOOL WINAPI
EnumCalendarInfoA(_In_ CALINFO_ENUMPROCA
, _In_ LCID
, _In_ CALID
, _In_ CALTYPE
);
670 BOOL WINAPI
EnumCalendarInfoW(_In_ CALINFO_ENUMPROCW
, _In_ LCID
, _In_ CALID
, _In_ CALTYPE
);
671 BOOL WINAPI
EnumDateFormatsA(_In_ DATEFMT_ENUMPROCA
, _In_ LCID
, _In_ DWORD
);
672 BOOL WINAPI
EnumDateFormatsW(_In_ DATEFMT_ENUMPROCW
, _In_ LCID
, _In_ DWORD
);
673 BOOL WINAPI
EnumSystemCodePagesA(_In_ CODEPAGE_ENUMPROCA
, _In_ DWORD
);
674 BOOL WINAPI
EnumSystemCodePagesW(_In_ CODEPAGE_ENUMPROCW
, _In_ DWORD
);
675 BOOL WINAPI
EnumSystemGeoID(_In_ GEOCLASS
, _In_ GEOID
, _In_ GEO_ENUMPROC
);
676 BOOL WINAPI
EnumSystemLocalesA(_In_ LOCALE_ENUMPROCA
, _In_ DWORD
);
677 BOOL WINAPI
EnumSystemLocalesW(_In_ LOCALE_ENUMPROCW
, _In_ DWORD
);
678 BOOL WINAPI
EnumTimeFormatsA(_In_ TIMEFMT_ENUMPROCA
, _In_ LCID
, _In_ DWORD
);
679 BOOL WINAPI
EnumTimeFormatsW(_In_ TIMEFMT_ENUMPROCW
, _In_ LCID
, _In_ DWORD
);
684 _In_ DWORD dwMapFlags
,
685 _In_reads_(cchSrc
) LPCSTR lpSrcStr
,
687 _Out_writes_opt_(cchDest
) LPSTR lpDestStr
,
693 _In_ DWORD dwMapFlags
,
694 _In_reads_(cchSrc
) LPCWSTR lpSrcStr
,
696 _Out_writes_opt_(cchDest
) LPWSTR lpDestStr
,
699 UINT WINAPI
GetACP(void);
706 _In_ CALTYPE CalType
,
707 _Out_writes_opt_(cchData
) LPSTR lpCalData
,
709 _Out_opt_ LPDWORD lpValue
);
716 _In_ CALTYPE CalType
,
717 _Out_writes_opt_(cchData
) LPWSTR lpCalData
,
719 _Out_opt_ LPDWORD lpValue
);
721 BOOL WINAPI
GetCPInfo(_In_ UINT
, _Out_ LPCPINFO
);
722 BOOL WINAPI
GetCPInfoExA(_In_ UINT
, _In_ DWORD
, _Out_ LPCPINFOEXA
);
723 BOOL WINAPI
GetCPInfoExW(_In_ UINT
, _In_ DWORD
, _Out_ LPCPINFOEXW
);
731 _In_opt_
const CURRENCYFMTA
*lpFormat
,
732 _Out_writes_opt_(cchCurrency
) LPSTR lpCurrencyStr
,
733 _In_
int cchCurrency
);
740 _In_ LPCWSTR lpValue
,
741 _In_opt_
const CURRENCYFMTW
*lpFormat
,
742 _Out_writes_opt_(cchCurrency
) LPWSTR lpCurrencyStr
,
743 _In_
int cchCurrency
);
745 int WINAPI
GetDateFormatA(LCID
,DWORD
,const SYSTEMTIME
*,LPCSTR
,LPSTR
,int);
746 int WINAPI
GetDateFormatW(LCID
,DWORD
,const SYSTEMTIME
*,LPCWSTR
,LPWSTR
,int);
752 _In_ GEOTYPE GeoType
,
753 _Out_writes_opt_(cchData
) LPSTR lpGeoData
,
761 _In_ GEOTYPE GeoType
,
762 _Out_writes_opt_(cchData
) LPWSTR lpGeoData
,
771 _Out_writes_opt_(cchData
) LPSTR lpLCData
,
779 _Out_writes_opt_(cchData
) LPWSTR lpLCData
,
782 BOOL WINAPI
GetNLSVersion(_In_ NLS_FUNCTION
, _In_ LCID
, _Inout_ LPNLSVERSIONINFO
);
790 _In_opt_
const NUMBERFMTA
*lpFormat
,
791 _Out_writes_opt_(cchNumber
) LPSTR lpNumberStr
,
799 _In_ LPCWSTR lpValue
,
800 _In_opt_
const NUMBERFMTW
*lpFormat
,
801 _Out_writes_opt_(cchNumber
) LPWSTR lpNumberStr
,
804 UINT WINAPI
GetOEMCP(void);
810 _In_ DWORD dwInfoType
,
811 _In_reads_(cchSrc
) LPCSTR lpSrcStr
,
813 _Out_ LPWORD lpCharType
);
818 _In_ DWORD dwInfoType
,
819 _In_reads_(cchSrc
) LPCWSTR lpSrcStr
,
821 _Out_ LPWORD lpCharType
);
827 _In_ DWORD dwInfoType
,
828 _In_reads_(cchSrc
) LPCSTR lpSrcStr
,
830 _Out_writes_(cchSrc
) LPWORD lpCharType
);
836 _In_ DWORD dwInfoType
,
837 _In_reads_(cchSrc
) LPCWSTR lpSrcStr
,
839 _Out_writes_(cchSrc
) LPWORD lpCharType
);
841 LANGID WINAPI
GetSystemDefaultLangID(void);
842 LCID WINAPI
GetSystemDefaultLCID(void);
843 LCID WINAPI
GetThreadLocale(void);
844 int WINAPI
GetTimeFormatA(LCID
,DWORD
,const SYSTEMTIME
*,LPCSTR
,LPSTR
,int);
845 int WINAPI
GetTimeFormatW(LCID
,DWORD
,const SYSTEMTIME
*,LPCWSTR
,LPWSTR
,int);
846 LANGID WINAPI
GetUserDefaultLangID(void);
847 LCID WINAPI
GetUserDefaultLCID(void);
848 GEOID WINAPI
GetUserGeoID(_In_ GEOCLASS
);
849 BOOL WINAPI
IsDBCSLeadByte(_In_ BYTE
);
850 BOOL WINAPI
IsDBCSLeadByteEx(_In_ UINT
, _In_ BYTE
);
855 _In_ NLS_FUNCTION Function
,
857 _In_ LPNLSVERSIONINFO lpVersionInformation
,
858 _In_reads_(cchStr
) LPCWSTR lpString
,
861 BOOL WINAPI
IsValidCodePage(_In_ UINT
);
862 BOOL WINAPI
IsValidLocale(_In_ LCID
, _In_ DWORD
);
868 _In_ DWORD dwMapFlags
,
869 _In_reads_(cchSrc
) LPCSTR lpSrcStr
,
871 _Out_writes_opt_(_Inexpressible_(cchDest
)) LPSTR lpDestStr
,
878 _In_ DWORD dwMapFlags
,
879 _In_reads_(cchSrc
) LPCWSTR lpSrcStr
,
881 _Out_writes_opt_(_Inexpressible_(cchDest
)) LPWSTR lpDestStr
,
884 int WINAPI
MultiByteToWideChar(UINT
,DWORD
,LPCSTR
,int,LPWSTR
,int);
885 int WINAPI
SetCalendarInfoA(_In_ LCID
, _In_ CALID
, _In_ CALTYPE
, _In_ LPCSTR
);
886 int WINAPI
SetCalendarInfoW(_In_ LCID
, _In_ CALID
, _In_ CALTYPE
, _In_ LPCWSTR
);
887 BOOL WINAPI
SetLocaleInfoA(_In_ LCID
, _In_ LCTYPE
, _In_ LPCSTR
);
888 BOOL WINAPI
SetLocaleInfoW(_In_ LCID
, _In_ LCTYPE
, _In_ LPCWSTR
);
889 BOOL WINAPI
SetThreadLocale(_In_ LCID
);
890 LANGID WINAPI
SetThreadUILanguage(_In_ LANGID
);
891 BOOL WINAPI
SetUserDefaultLCID(LCID
);
892 BOOL WINAPI
SetUserDefaultUILanguage(LANGID
);
893 BOOL WINAPI
SetUserGeoID(_In_ GEOID
);
894 int WINAPI
WideCharToMultiByte(UINT
,DWORD
,LPCWSTR
,int,LPSTR
,int,LPCSTR
,LPBOOL
);
895 #if (WINVER >= 0x0500)
896 BOOL WINAPI
EnumCalendarInfoExA(_In_ CALINFO_ENUMPROCEXA
, _In_ LCID
, _In_ CALID
, _In_ CALTYPE
);
897 BOOL WINAPI
EnumCalendarInfoExW(_In_ CALINFO_ENUMPROCEXW
, _In_ LCID
, _In_ CALID
, _In_ CALTYPE
);
898 BOOL WINAPI
EnumDateFormatsExA(_In_ DATEFMT_ENUMPROCEXA
, _In_ LCID
, _In_ DWORD
);
899 BOOL WINAPI
EnumDateFormatsExW(_In_ DATEFMT_ENUMPROCEXW
, _In_ LCID
, _In_ DWORD
);
900 BOOL WINAPI
EnumSystemLanguageGroupsA(_In_ LANGUAGEGROUP_ENUMPROCA
, _In_ DWORD
, _In_ LONG_PTR
);
901 BOOL WINAPI
EnumSystemLanguageGroupsW(_In_ LANGUAGEGROUP_ENUMPROCW
, _In_ DWORD
, _In_ LONG_PTR
);
902 BOOL WINAPI
EnumLanguageGroupLocalesA(_In_ LANGGROUPLOCALE_ENUMPROCA
, _In_ LGRPID
, _In_ DWORD
, _In_ LONG_PTR
);
903 BOOL WINAPI
EnumLanguageGroupLocalesW(_In_ LANGGROUPLOCALE_ENUMPROCW
, _In_ LGRPID
, _In_ DWORD
, _In_ LONG_PTR
);
904 BOOL WINAPI
EnumUILanguagesA(_In_ UILANGUAGE_ENUMPROCA
, _In_ DWORD
, _In_ LONG_PTR
);
905 BOOL WINAPI
EnumUILanguagesW(_In_ UILANGUAGE_ENUMPROCW
, _In_ DWORD
, _In_ LONG_PTR
);
906 LANGID WINAPI
GetSystemDefaultUILanguage(void);
907 LANGID WINAPI
GetUserDefaultUILanguage(void);
908 BOOL WINAPI
IsValidLanguageGroup(_In_ LGRPID
, _In_ DWORD
);
909 #endif /* (WINVER >= 0x0500) */
911 #if (WINVER >= 0x0600)
913 _Success_(return != FALSE
)
918 _In_ PCWSTR pcwszFilePath
,
919 _Inout_updates_bytes_to_opt_(*pcbFileMUIInfo
, *pcbFileMUIInfo
) PFILEMUIINFO pFileMUIInfo
,
920 _Inout_ DWORD
*pcbFileMUIInfo
);
926 _In_ PCWSTR pcwszFilePath
,
927 _Inout_updates_opt_(*pcchLanguage
) PWSTR pwszLanguage
,
928 _Inout_ PULONG pcchLanguage
,
929 _Out_writes_opt_(*pcchFileMUIPath
) PWSTR pwszFileMUIPath
,
930 _Inout_ PULONG pcchFileMUIPath
,
931 _Inout_ PULONGLONG pululEnumerator
);
937 _In_opt_ LPCWSTR lpLocaleName
,
939 _Out_writes_opt_(cchData
) LPWSTR lpLCData
,
944 GetProcessPreferredUILanguages(
946 _Out_ PULONG pulNumLanguages
,
947 _Out_writes_opt_(*pcchLanguagesBuffer
) PZZWSTR pwszLanguagesBuffer
,
948 _Inout_ PULONG pcchLanguagesBuffer
);
952 GetSystemPreferredUILanguages(
954 _Out_ PULONG pulNumLanguages
,
955 _Out_writes_opt_(*pcchLanguagesBuffer
) PZZWSTR pwszLanguagesBuffer
,
956 _Inout_ PULONG pcchLanguagesBuffer
);
960 GetThreadPreferredUILanguages(
962 _Out_ PULONG pulNumLanguages
,
963 _Out_writes_opt_(*pcchLanguagesBuffer
) PZZWSTR pwszLanguagesBuffer
,
964 _Inout_ PULONG pcchLanguagesBuffer
);
966 LANGID WINAPI
GetThreadUILanguage(void);
972 _In_ PCZZWSTR pwmszLanguage
,
973 _Out_writes_opt_(*pcchFallbackLanguages
) PZZWSTR pwszFallbackLanguages
,
974 _Inout_opt_ PDWORD pcchFallbackLanguages
,
975 _Out_ PDWORD pAttributes
);
979 GetUserPreferredUILanguages(
981 _Out_ PULONG pulNumLanguages
,
982 _Out_writes_opt_(*pcchLanguagesBuffer
) PZZWSTR pwszLanguagesBuffer
,
983 _Inout_ PULONG pcchLanguagesBuffer
);
989 _In_reads_(cchUnicodeChar
) LPCWSTR lpUnicodeCharStr
,
990 _In_
int cchUnicodeChar
,
991 _Out_writes_opt_(cchASCIIChar
) LPWSTR lpASCIICharStr
,
992 _In_
int cchASCIIChar
);
996 IdnToNameprepUnicode(
998 _In_reads_(cchUnicodeChar
) LPCWSTR lpUnicodeCharStr
,
999 _In_
int cchUnicodeChar
,
1000 _Out_writes_opt_(cchNameprepChar
) LPWSTR lpNameprepCharStr
,
1001 _In_
int cchNameprepChar
);
1007 _In_reads_(cchASCIIChar
) LPCWSTR lpASCIICharStr
,
1008 _In_
int cchASCIIChar
,
1009 _Out_writes_opt_(cchUnicodeChar
) LPWSTR lpUnicodeCharStr
,
1010 _In_
int cchUnicodeChar
);
1015 _In_ NORM_FORM NormForm
,
1016 _In_reads_(cwLength
) LPCWSTR lpString
,
1022 _In_ NORM_FORM NormForm
,
1023 _In_reads_(cwSrcLength
) LPCWSTR lpSrcString
,
1024 _In_
int cwSrcLength
,
1025 _Out_writes_opt_(cwDstLength
) LPWSTR lpDstString
,
1026 _In_
int cwDstLength
);
1032 _In_ LPCWSTR lpString
,
1034 _Out_writes_opt_(cchScripts
) LPWSTR lpScripts
,
1035 _In_
int cchScripts
);
1037 BOOL WINAPI
SetProcessPreferredUILanguages(_In_ DWORD
, _In_opt_ PCZZWSTR
, _Out_opt_ PULONG
);
1038 BOOL WINAPI
SetThreadPreferredUILanguages(_In_ DWORD
, _In_opt_ PCZZWSTR
, _Out_opt_ PULONG
);
1039 BOOL WINAPI
VerifyScripts(_In_ DWORD
, _In_ LPCWSTR
, _In_
int, _In_ LPCWSTR
, _In_
int);
1041 #endif /* (WINVER >= 0x0600) */
1044 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
1045 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
1046 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
1047 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
1048 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
1049 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
1050 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
1051 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
1052 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
1053 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
1054 typedef CPINFOEXW CPINFOEX
;
1055 typedef LPCPINFOEXW LPCPINFOEX
;
1056 typedef CURRENCYFMTW CURRENCYFMT
;
1057 typedef LPCURRENCYFMTW LPCURRENCYFMT
;
1058 typedef NUMBERFMTW NUMBERFMT
;
1059 typedef LPNUMBERFMTW LPNUMBERFMT
;
1060 #define CompareString CompareStringW
1061 #define EnumCalendarInfo EnumCalendarInfoW
1062 #define EnumDateFormats EnumDateFormatsW
1063 #define EnumSystemCodePages EnumSystemCodePagesW
1064 #define EnumSystemLocales EnumSystemLocalesW
1065 #define EnumTimeFormats EnumTimeFormatsW
1066 #define FoldString FoldStringW
1067 #define GetCalendarInfo GetCalendarInfoW
1068 #define GetCPInfoEx GetCPInfoExW
1069 #define GetCurrencyFormat GetCurrencyFormatW
1070 #define GetDateFormat GetDateFormatW
1071 #define GetGeoInfo GetGeoInfoW
1072 #define GetLocaleInfo GetLocaleInfoW
1073 #define GetNumberFormat GetNumberFormatW
1074 #define GetStringTypeEx GetStringTypeExW
1075 #define GetTimeFormat GetTimeFormatW
1076 #define LCMapString LCMapStringW
1077 #define SetCalendarInfo SetCalendarInfoW
1078 #define SetLocaleInfo SetLocaleInfoW
1079 #if (WINVER >= 0x0500)
1080 #define EnumCalendarInfoEx EnumCalendarInfoExW
1081 #define EnumDateFormatsEx EnumDateFormatsExW
1082 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
1083 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
1084 #define EnumUILanguages EnumUILanguagesW
1085 #endif /* (WINVER >= 0x0500) */
1087 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
1088 #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
1089 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
1090 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
1091 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
1092 #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
1093 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
1094 #define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
1095 #define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
1096 #define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
1097 typedef CPINFOEXA CPINFOEX
;
1098 typedef LPCPINFOEXA LPCPINFOEX
;
1099 typedef CURRENCYFMTA CURRENCYFMT
;
1100 typedef LPCURRENCYFMTA LPCURRENCYFMT
;
1101 typedef NUMBERFMTA NUMBERFMT
;
1102 typedef LPNUMBERFMTA LPNUMBERFMT
;
1103 #define CompareString CompareStringA
1104 #define EnumCalendarInfo EnumCalendarInfoA
1105 #define EnumDateFormats EnumDateFormatsA
1106 #define EnumSystemCodePages EnumSystemCodePagesA
1107 #define EnumSystemLocales EnumSystemLocalesA
1108 #define EnumTimeFormats EnumTimeFormatsA
1109 #define FoldString FoldStringA
1110 #define GetCalendarInfo GetCalendarInfoA
1111 #define GetCPInfoEx GetCPInfoExA
1112 #define GetCurrencyFormat GetCurrencyFormatA
1113 #define GetDateFormat GetDateFormatA
1114 #define GetGeoInfo GetGeoInfoA
1115 #define GetLocaleInfo GetLocaleInfoA
1116 #define GetNumberFormat GetNumberFormatA
1117 #define GetStringTypeEx GetStringTypeExA
1118 #define GetTimeFormat GetTimeFormatA
1119 #define LCMapString LCMapStringA
1120 #define SetCalendarInfo SetCalendarInfoA
1121 #define SetLocaleInfo SetLocaleInfoA
1122 #if (WINVER >= 0x0500)
1123 #define EnumCalendarInfoEx EnumCalendarInfoExA
1124 #define EnumDateFormatsEx EnumDateFormatsExA
1125 #define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
1126 #define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
1127 #define EnumUILanguages EnumUILanguagesA
1128 #endif /* (WINVER >= 0x0500) */
1129 #endif /* UNICODE */
1130 #endif /* RC_INVOKED */
1133 #pragma warning(pop)