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
22#define LOCALE_RETURN_NUMBER 0x20000000
24#define LOCALE_RETURN_GENITIVE_NAMES 0x10000000
25#define LOCALE_ALLOW_NEUTRAL_NAMES 0x08000000
26#define LOCALE_SLOCALIZEDDISPLAYNAME 0x00000002
27#if (WINVER >= _WIN32_WINNT_VISTA)
28#define LOCALE_SLOCALIZEDLANGUAGENAME 0x0000006f
30#define LOCALE_ILANGUAGE 1
31#define LOCALE_SLANGUAGE 2
32#define LOCALE_SENGLANGUAGE 0x1001
33#define LOCALE_SENGLISHLANGUAGENAME 0x1001
34#define LOCALE_SNATIVELANGUAGENAME 0x00000004
35#define LOCALE_SLOCALIZEDCOUNTRYNAME 0x00000006
36#define LOCALE_SNATIVECOUNTRYNAME 0x00000008
37#define LOCALE_SABBREVLANGNAME 3
38#define LOCALE_SNATIVELANGNAME 4
39#define LOCALE_ICOUNTRY 5
40#define LOCALE_SCOUNTRY 6
41#define LOCALE_SENGCOUNTRY 0x1002
42#define LOCALE_SENGLISHCOUNTRYNAME 0x1002
43#define LOCALE_SABBREVCTRYNAME 7
44#define LOCALE_SNATIVECTRYNAME 8
45#define LOCALE_IDEFAULTLANGUAGE 9
46#define LOCALE_IDEFAULTCOUNTRY 10
47#define LOCALE_IDEFAULTCODEPAGE 11
48#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
49#define LOCALE_IDEFAULTMACCODEPAGE 0x1011
50#define LOCALE_SLIST 12
51#define LOCALE_IMEASURE 13
52#define LOCALE_SDECIMAL 14
53#define LOCALE_STHOUSAND 15
54#define LOCALE_SGROUPING 16
55#define LOCALE_IDIGITS 17
56#define LOCALE_ILZERO 18
57#define LOCALE_INEGNUMBER 0x1010
58#define LOCALE_SNATIVEDIGITS 19
59#define LOCALE_SCURRENCY 20
60#define LOCALE_SINTLSYMBOL 21
61#define LOCALE_SMONDECIMALSEP 22
62#define LOCALE_SMONTHOUSANDSEP 23
63#define LOCALE_SMONGROUPING 24
64#define LOCALE_ICURRDIGITS 25
65#define LOCALE_IINTLCURRDIGITS 26
66#define LOCALE_ICURRENCY 27
67#define LOCALE_INEGCURR 28
68#define LOCALE_SDATE 29
69#define LOCALE_STIME 30
70#define LOCALE_SSHORTDATE 31
71#define LOCALE_SLONGDATE 32
72#define LOCALE_STIMEFORMAT 0x1003
73#define LOCALE_IDATE 33
74#define LOCALE_ILDATE 34
75#define LOCALE_ITIME 35
76#define LOCALE_ITIMEMARKPOSN 0x1005
77#define LOCALE_ICENTURY 36
78#define LOCALE_ITLZERO 37
79#define LOCALE_IDAYLZERO 38
80#define LOCALE_IMONLZERO 39
81#define LOCALE_S1159 40
82#define LOCALE_S2359 41
83#define LOCALE_ICALENDARTYPE 0x1009
84#define LOCALE_IOPTIONALCALENDAR 0x100B
85#define LOCALE_IFIRSTDAYOFWEEK 0x100C
86#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
87#define LOCALE_SDAYNAME1 42
88#define LOCALE_SDAYNAME2 43
89#define LOCALE_SDAYNAME3 44
90#define LOCALE_SDAYNAME4 45
91#define LOCALE_SDAYNAME5 46
92#define LOCALE_SDAYNAME6 47
93#define LOCALE_SDAYNAME7 48
94#define LOCALE_SABBREVDAYNAME1 49
95#define LOCALE_SABBREVDAYNAME2 50
96#define LOCALE_SABBREVDAYNAME3 51
97#define LOCALE_SABBREVDAYNAME4 52
98#define LOCALE_SABBREVDAYNAME5 53
99#define LOCALE_SABBREVDAYNAME6 54
100#define LOCALE_SABBREVDAYNAME7 55
101#define LOCALE_SMONTHNAME1 56
102#define LOCALE_SMONTHNAME2 57
103#define LOCALE_SMONTHNAME3 58
104#define LOCALE_SMONTHNAME4 59
105#define LOCALE_SMONTHNAME5 60
106#define LOCALE_SMONTHNAME6 61
107#define LOCALE_SMONTHNAME7 62
108#define LOCALE_SMONTHNAME8 63
109#define LOCALE_SMONTHNAME9 64
110#define LOCALE_SMONTHNAME10 65
111#define LOCALE_SMONTHNAME11 66
112#define LOCALE_SMONTHNAME12 67
113#define LOCALE_SMONTHNAME13 0x100E
114#define LOCALE_SABBREVMONTHNAME1 68
115#define LOCALE_SABBREVMONTHNAME2 69
116#define LOCALE_SABBREVMONTHNAME3 70
117#define LOCALE_SABBREVMONTHNAME4 71
118#define LOCALE_SABBREVMONTHNAME5 72
119#define LOCALE_SABBREVMONTHNAME6 73
120#define LOCALE_SABBREVMONTHNAME7 74
121#define LOCALE_SABBREVMONTHNAME8 75
122#define LOCALE_SABBREVMONTHNAME9 76
123#define LOCALE_SABBREVMONTHNAME10 77
124#define LOCALE_SABBREVMONTHNAME11 78
125#define LOCALE_SABBREVMONTHNAME12 79
126#define LOCALE_SABBREVMONTHNAME13 0x100F
127#define LOCALE_SPOSITIVESIGN 80
128#define LOCALE_SNEGATIVESIGN 81
129#define LOCALE_IPOSSIGNPOSN 82
130#define LOCALE_INEGSIGNPOSN 83
131#define LOCALE_IPOSSYMPRECEDES 84
132#define LOCALE_IPOSSEPBYSPACE 85
133#define LOCALE_INEGSYMPRECEDES 86
134#define LOCALE_INEGSEPBYSPACE 87
135#define LOCALE_FONTSIGNATURE 88
136#define LOCALE_SISO639LANGNAME 89
137#define LOCALE_SISO3166CTRYNAME 90
140#define LOCALE_SNAME 92
142#if (WINVER >= 0x0600) || (defined(__REACTOS__) && defined(_KERNEL32_))
143#define LOCALE_IGEOID 91
144#define LOCALE_SNAME 92
145#define LOCALE_SDURATION 93
146#define LOCALE_SKEYBOARDSTOINSTALL 94
147#define LOCALE_SSHORTESTDAYNAME1 96
148#define LOCALE_SSHORTESTDAYNAME2 97
149#define LOCALE_SSHORTESTDAYNAME3 98
150#define LOCALE_SSHORTESTDAYNAME4 99
151#define LOCALE_SSHORTESTDAYNAME5 100
152#define LOCALE_SSHORTESTDAYNAME6 101
153#define LOCALE_SSHORTESTDAYNAME7 102
154#define LOCALE_SISO639LANGNAME2 103
155#define LOCALE_SISO3166CTRYNAME2 104
156#define LOCALE_SNAN 105
157#define LOCALE_SPOSINFINITY 106
158#define LOCALE_SNEGINFINITY 107
159#define LOCALE_SSCRIPTS 108
160#define LOCALE_SPARENT 109
161#define LOCALE_SCONSOLEFALLBACKNAME 110
165#define LOCALE_IREADINGLAYOUT 0x0070
166#define LOCALE_INEUTRAL 0x0071
167#define LOCALE_SENGLISHDISPLAYNAME 0x0072
168#define LOCALE_SNATIVEDISPLAYNAME 0x0073
169#define LOCALE_INEGATIVEPERCENT 0x0074
170#define LOCALE_IPOSITIVEPERCENT 0x0075
171#define LOCALE_SPERCENT 0x0076
172#define LOCALE_SPERMILLE 0x0077
173#define LOCALE_SMONTHDAY 0x0078
174#define LOCALE_SSHORTTIME 0x0079
175#define LOCALE_SOPENTYPELANGUAGETAG 0x007a
176#define LOCALE_SSORTLOCALE 0x007b
178#define LOCALE_SRELATIVELONGDATE 0x007C
179#define LOCALE_SSHORTESTAM 0x007E
180#define LOCALE_SSHORTESTPM 0x007F
183#if (WINVER >= 0x0600)
184#define LOCALE_NAME_USER_DEFAULT NULL
185#define LOCALE_NAME_INVARIANT L""
186#define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
189#define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030
191#define NORM_IGNORECASE 1
192#define NORM_IGNOREKANATYPE 65536
193#define NORM_IGNORENONSPACE 2
194#define NORM_IGNORESYMBOLS 4
195#define NORM_IGNOREWIDTH 131072
196#define LINGUISTIC_IGNORECASE 0x00000010
197#define LINGUISTIC_IGNOREDIACRITIC 0x00000020
198#define NORM_LINGUISTIC_CASING 0x08000000
199#define SORT_STRINGSORT 4096
200#define SORT_DIGITSASNUMBERS 0x00000008
201#define LCMAP_LOWERCASE 0x00000100
202#define LCMAP_UPPERCASE 0x00000200
203#define LCMAP_TITLECASE 0x00000300
204#define LCMAP_SORTKEY 0x00000400
205#define LCMAP_BYTEREV 0x00000800
206#define LCMAP_HASH 0x00040000
207#define LCMAP_HIRAGANA 0x00100000
208#define LCMAP_KATAKANA 0x00200000
209#define LCMAP_HALFWIDTH 0x00400000
210#define LCMAP_FULLWIDTH 0x00800000
211#define LCMAP_LINGUISTIC_CASING 0x01000000
212#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
213#define LCMAP_TRADITIONAL_CHINESE 0x04000000
214#define LCMAP_SORTHANDLE 0x20000000
215#define ENUM_ALL_CALENDARS (-1)
216#define DATE_SHORTDATE 0x01
217#define DATE_LONGDATE 0x02
218#define DATE_USE_ALT_CALENDAR 0x04
219#define DATE_AUTOLAYOUT 0x40
220#define DATE_MONTHDAY 0x80
222#define CP_INSTALLED 1
223#define CP_SUPPORTED 2
224#define LCID_INSTALLED 1
225#define LCID_SUPPORTED 2
226#define LCID_ALTERNATE_SORTS 4
228#define FIND_STARTSWITH 0x00100000
229#define FIND_ENDSWITH 0x00200000
230#define FIND_FROMSTART 0x00400000
231#define FIND_FROMEND 0x00800000
233#define LOCALE_ALL 0x00
234#define LOCALE_WINDOWS 0x01
235#define LOCALE_SUPPLEMENTAL 0x02
236#define LOCALE_ALTERNATE_SORTS 0x04
237#define LOCALE_REPLACEMENT 0x08
238#define LOCALE_NEUTRALDATA 0x10
239#define LOCALE_SPECIFICDATA 0x20
241#define MAP_FOLDCZONE 16
242#define MAP_FOLDDIGITS 128
243#define MAP_PRECOMPOSED 32
244#define MAP_COMPOSITE 64
246#define WC_DISCARDNS 0x0010
247#define WC_SEPCHARS 0x0020
248#define WC_DEFAULTCHAR 0x0040
249#define WC_ERR_INVALID_CHARS 0x0080
250#define WC_COMPOSITECHECK 0x0200
251#if (WINVER >= 0x0500)
252#define WC_NO_BEST_FIT_CHARS 0x0400
257#define CP_UNIXCP CP_ACP
261#define CP_THREAD_ACP 3
277#define C1_DEFINED 512
278#define C2_LEFTTORIGHT 1
279#define C2_RIGHTTOLEFT 2
280#define C2_EUROPENUMBER 3
281#define C2_EUROPESEPARATOR 4
282#define C2_EUROPETERMINATOR 5
283#define C2_ARABICNUMBER 6
284#define C2_COMMONSEPARATOR 7
285#define C2_BLOCKSEPARATOR 8
286#define C2_SEGMENTSEPARATOR 9
287#define C2_WHITESPACE 10
288#define C2_OTHERNEUTRAL 11
289#define C2_NOTAPPLICABLE 0
290#define C3_NONSPACING 1
291#define C3_DIACRITIC 2
292#define C3_VOWELMARK 4
294#define C3_KATAKANA 16
295#define C3_HIRAGANA 32
296#define C3_HALFWIDTH 64
297#define C3_FULLWIDTH 128
298#define C3_IDEOGRAPH 256
299#define C3_KASHIDA 512
300#define C3_LEXICAL 1024
301#define C3_ALPHA 32768
302#define C3_NOTAPPLICABLE 0
303#define C3_HIGHSURROGATE 0x0800
304#define C3_LOWSURROGATE 0x1000
305#define TIME_NOMINUTESORSECONDS 1
306#define TIME_NOSECONDS 2
307#define TIME_NOTIMEMARKER 4
308#define TIME_FORCE24HOURFORMAT 8
309#define MB_PRECOMPOSED 1
310#define MB_COMPOSITE 2
311#define MB_ERR_INVALID_CHARS 8
312#define MB_USEGLYPHCHARS 4
313#define CTRY_DEFAULT 0
314#define CTRY_ALBANIA 355
315#define CTRY_ALGERIA 213
316#define CTRY_ARGENTINA 54
317#define CTRY_ARMENIA 374
318#define CTRY_AUSTRALIA 61
319#define CTRY_AUSTRIA 43
320#define CTRY_AZERBAIJAN 994
321#define CTRY_BAHRAIN 973
322#define CTRY_BELARUS 375
323#define CTRY_BELGIUM 32
324#define CTRY_BELIZE 501
325#define CTRY_BOLIVIA 591
326#define CTRY_BRAZIL 55
327#define CTRY_BRUNEI_DARUSSALAM 673
328#define CTRY_BULGARIA 359
330#define CTRY_CARIBBEAN 1
332#define CTRY_COLOMBIA 57
333#define CTRY_COSTA_RICA 506
334#define CTRY_CROATIA 385
335#define CTRY_CZECH 420
336#define CTRY_DENMARK 45
337#define CTRY_DOMINICAN_REPUBLIC 1
338#define CTRY_ECUADOR 593
340#define CTRY_EL_SALVADOR 503
341#define CTRY_ESTONIA 372
342#define CTRY_FAEROE_ISLANDS 298
343#define CTRY_FINLAND 358
344#define CTRY_FRANCE 33
345#define CTRY_GEORGIA 995
346#define CTRY_GERMANY 49
347#define CTRY_GREECE 30
348#define CTRY_GUATEMALA 502
349#define CTRY_HONDURAS 504
350#define CTRY_HONG_KONG 852
351#define CTRY_HUNGARY 36
352#define CTRY_ICELAND 354
354#define CTRY_INDONESIA 62
357#define CTRY_IRELAND 353
358#define CTRY_ISRAEL 972
360#define CTRY_JAMAICA 1
362#define CTRY_JORDAN 962
363#define CTRY_KAZAKSTAN 7
364#define CTRY_KENYA 254
365#define CTRY_KUWAIT 965
366#define CTRY_KYRGYZSTAN 996
367#define CTRY_LATVIA 371
368#define CTRY_LEBANON 961
369#define CTRY_LIBYA 218
370#define CTRY_LIECHTENSTEIN 41
371#define CTRY_LITHUANIA 370
372#define CTRY_LUXEMBOURG 352
373#define CTRY_MACAU 853
374#define CTRY_MACEDONIA 389
375#define CTRY_MALAYSIA 60
376#define CTRY_MALDIVES 960
377#define CTRY_MEXICO 52
378#define CTRY_MONACO 33
379#define CTRY_MONGOLIA 976
380#define CTRY_MOROCCO 212
381#define CTRY_NETHERLANDS 31
382#define CTRY_NEW_ZEALAND 64
383#define CTRY_NICARAGUA 505
384#define CTRY_NORWAY 47
386#define CTRY_PAKISTAN 92
387#define CTRY_PANAMA 507
388#define CTRY_PARAGUAY 595
390#define CTRY_PHILIPPINES 63
391#define CTRY_POLAND 48
392#define CTRY_PORTUGAL 351
393#define CTRY_PRCHINA 86
394#define CTRY_PUERTO_RICO 1
395#define CTRY_QATAR 974
396#define CTRY_ROMANIA 40
398#define CTRY_SAUDI_ARABIA 966
399#define CTRY_SERBIA 381
400#define CTRY_SINGAPORE 65
401#define CTRY_SLOVAK 421
402#define CTRY_SLOVENIA 386
403#define CTRY_SOUTH_AFRICA 27
404#define CTRY_SOUTH_KOREA 82
406#define CTRY_SWEDEN 46
407#define CTRY_SWITZERLAND 41
408#define CTRY_SYRIA 963
409#define CTRY_TAIWAN 886
410#define CTRY_TATARSTAN 7
411#define CTRY_THAILAND 66
412#define CTRY_TRINIDAD_Y_TOBAGO 1
413#define CTRY_TUNISIA 216
414#define CTRY_TURKEY 90
416#define CTRY_UKRAINE 380
417#define CTRY_UNITED_KINGDOM 44
418#define CTRY_UNITED_STATES 1
419#define CTRY_URUGUAY 598
420#define CTRY_UZBEKISTAN 7
421#define CTRY_VENEZUELA 58
422#define CTRY_VIET_NAM 84
423#define CTRY_YEMEN 967
424#define CTRY_ZIMBABWE 263
425#define CAL_ICALINTVALUE 1
426#define CAL_SCALNAME 2
427#define CAL_IYEAROFFSETRANGE 3
428#define CAL_SERASTRING 4
429#define CAL_SSHORTDATE 5
430#define CAL_SLONGDATE 6
431#define CAL_SDAYNAME1 7
432#define CAL_SDAYNAME2 8
433#define CAL_SDAYNAME3 9
434#define CAL_SDAYNAME4 10
435#define CAL_SDAYNAME5 11
436#define CAL_SDAYNAME6 12
437#define CAL_SDAYNAME7 13
438#define CAL_SABBREVDAYNAME1 14
439#define CAL_SABBREVDAYNAME2 15
440#define CAL_SABBREVDAYNAME3 16
441#define CAL_SABBREVDAYNAME4 17
442#define CAL_SABBREVDAYNAME5 18
443#define CAL_SABBREVDAYNAME6 19
444#define CAL_SABBREVDAYNAME7 20
445#define CAL_SMONTHNAME1 21
446#define CAL_SMONTHNAME2 22
447#define CAL_SMONTHNAME3 23
448#define CAL_SMONTHNAME4 24
449#define CAL_SMONTHNAME5 25
450#define CAL_SMONTHNAME6 26
451#define CAL_SMONTHNAME7 27
452#define CAL_SMONTHNAME8 28
453#define CAL_SMONTHNAME9 29
454#define CAL_SMONTHNAME10 30
455#define CAL_SMONTHNAME11 31
456#define CAL_SMONTHNAME12 32
457#define CAL_SMONTHNAME13 33
458#define CAL_SABBREVMONTHNAME1 34
459#define CAL_SABBREVMONTHNAME2 35
460#define CAL_SABBREVMONTHNAME3 36
461#define CAL_SABBREVMONTHNAME4 37
462#define CAL_SABBREVMONTHNAME5 38
463#define CAL_SABBREVMONTHNAME6 39
464#define CAL_SABBREVMONTHNAME7 40
465#define CAL_SABBREVMONTHNAME8 41
466#define CAL_SABBREVMONTHNAME9 42
467#define CAL_SABBREVMONTHNAME10 43
468#define CAL_SABBREVMONTHNAME11 44
469#define CAL_SABBREVMONTHNAME12 45
470#define CAL_SABBREVMONTHNAME13 46
471#if (WINVER >= _WIN32_WINNT_WIN2K)
472#define CAL_SYEARMONTH 47
473#define CAL_ITWODIGITYEARMAX 48
475#if (WINVER >= _WIN32_WINNT_VISTA)
476#define CAL_SSHORTESTDAYNAME1 49
477#define CAL_SSHORTESTDAYNAME2 50
478#define CAL_SSHORTESTDAYNAME3 51
479#define CAL_SSHORTESTDAYNAME4 52
480#define CAL_SSHORTESTDAYNAME5 53
481#define CAL_SSHORTESTDAYNAME6 54
482#define CAL_SSHORTESTDAYNAME7 55
484#if (WINVER >= _WIN32_WINNT_WIN7)
485#define CAL_SMONTHDAY 56
486#define CAL_SABBREVERASTRING 57
488#if (WINVER >= _WIN32_WINNT_WIN8) || defined(_KERNELBASE_)
489#define CAL_SRELATIVELONGDATE 58
490#define CAL_SENGLISHERANAME 59
491#define CAL_SENGLISHABBREVERANAME 60
493#define CAL_GREGORIAN 1
494#define CAL_GREGORIAN_US 2
501#define CAL_GREGORIAN_ME_FRENCH 9
502#define CAL_GREGORIAN_ARABIC 10
503#define CAL_GREGORIAN_XLIT_ENGLISH 11
504#define CAL_GREGORIAN_XLIT_FRENCH 12
505#define CAL_PERSIAN 22
506#define CAL_UMALQURA 23
507#define CSTR_LESS_THAN 1
509#define CSTR_GREATER_THAN 3
510#define LGRPID_INSTALLED 1
511#define LGRPID_SUPPORTED 2
512#define LGRPID_WESTERN_EUROPE 1
513#define LGRPID_CENTRAL_EUROPE 2
514#define LGRPID_BALTIC 3
515#define LGRPID_GREEK 4
516#define LGRPID_CYRILLIC 5
517#define LGRPID_TURKISH 6
518#define LGRPID_JAPANESE 7
519#define LGRPID_KOREAN 8
520#define LGRPID_TRADITIONAL_CHINESE 9
521#define LGRPID_SIMPLIFIED_CHINESE 10
522#define LGRPID_THAI 11
523#define LGRPID_HEBREW 12
524#define LGRPID_ARABIC 13
525#define LGRPID_VIETNAMESE 14
526#define LGRPID_INDIC 15
527#define LGRPID_GEORGIAN 16
528#define LGRPID_ARMENIAN 17
530#if (WINVER >= 0x0500)
531#define LOCALE_SYEARMONTH 0x1006
532#define LOCALE_SENGCURRNAME 0x1007
533#define LOCALE_SNATIVECURRNAME 0x1008
534#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
535#define LOCALE_SSORTNAME 0x1013
536#define LOCALE_IDIGITSUBSTITUTION 0x1014
537#define LOCALE_IPAPERSIZE 0x100A
538#define DATE_YEARMONTH 8
539#define DATE_LTRREADING 16
540#define DATE_RTLREADING 32
541#define MAP_EXPAND_LIGATURES 0x2000
542#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
543#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
544#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES
545#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
546#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES
550#define IDN_ALLOW_UNASSIGNED 0x1
551#define IDN_USE_STD3_ASCII_RULES 0x2
552#define VS_ALLOW_LATIN 0x1
553#define GSS_ALLOW_INHERITED_COMMON 0x1
559#if (WINVER >= 0x0600)
560#define MUI_FULL_LANGUAGE 0x0001
561#define MUI_LANGUAGE_ID 0x0004
562#define MUI_LANGUAGE_NAME 0x0008
563#define MUI_MERGE_SYSTEM_FALLBACK 0x0010
564#define MUI_MERGE_USER_FALLBACK 0x0020
565#define MUI_UI_FALLBACK MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK
566#define MUI_THREAD_LANGUAGES 0x0040
567#define MUI_CONSOLE_FILTER 0x0100
568#define MUI_COMPLEX_SCRIPT_FILTER 0x0200
569#define MUI_RESET_FILTERS 0x0001
570#define MUI_USER_PREFERRED_UI_LANGUAGES 0x0010
571#define MUI_USE_INSTALLED_LANGUAGES 0x0020
572#define MUI_USE_SEARCH_ALL_LANGUAGES 0x0040
573#define MUI_LANG_NEUTRAL_PE_FILE 0x0100
574#define MUI_NON_LANG_NEUTRAL_FILE 0x0200
575#define MUI_MACHINE_LANGUAGE_SETTINGS 0x0400
576#define MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL 0x0001
577#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN 0x0002
578#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI 0x0004
579#define MUI_QUERY_TYPE 0x0001
580#define MUI_QUERY_CHECKSUM 0x0002
581#define MUI_QUERY_LANGUAGE_NAME 0x0004
582#define MUI_QUERY_RESOURCE_TYPES 0x0008
583#define MUI_FILEINFO_VERSION 0x0001
584#define MUI_FULL_LANGUAGE 0x0001
585#define MUI_PARTIAL_LANGUAGE 0x0002
586#define MUI_LIP_LANGUAGE 0x0004
587#define MUI_LANGUAGE_INSTALLED 0x0020
588#define MUI_LANGUAGE_LICENSED 0x0040
654#if (NTDDI_VERSION >= NTDDI_WIN10_RS3) || defined(_KERNELBASE_)
705#if (WINVER >= _WIN32_WINNT_WIN8) || defined(_KERNELBASE_)
758#define HIGH_SURROGATE_START 0xd800
759#define HIGH_SURROGATE_END 0xdbff
760#define LOW_SURROGATE_START 0xdc00
761#define LOW_SURROGATE_END 0xdfff
763#define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END)
764#define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END)
765#define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low))
891 _In_ int cchCurrency);
901 _In_ int cchCurrency);
1025#if (WINVER >= 0x0600) || defined(__REACTOS__)
1032 _In_ int cchUnicodeChar,
1034 _In_ int cchASCIIChar);
1041 _In_ int cchASCIIChar,
1043 _In_ int cchUnicodeChar);
1109#if (WINVER >= 0x0500)
1210 _In_ int cchUnicodeChar,
1212 _In_ int cchASCIIChar);
1219 _In_ int cchUnicodeChar,
1221 _In_ int cchNameprepChar);
1228 _In_ int cchASCIIChar,
1230 _In_ int cchUnicodeChar);
1244 _In_ int cwSrcLength,
1246 _In_ int cwDstLength);
1255 _In_ int cchScripts);
1261#if (WINVER >= _WIN32_WINNT_WIN8)
1298#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
1299#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
1300#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
1301#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
1302#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
1303#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
1304#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
1305#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
1306#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
1307#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
1314#define CompareString CompareStringW
1315#define EnumCalendarInfo EnumCalendarInfoW
1316#define EnumDateFormats EnumDateFormatsW
1317#define EnumSystemCodePages EnumSystemCodePagesW
1318#define EnumSystemLocales EnumSystemLocalesW
1319#define EnumTimeFormats EnumTimeFormatsW
1320#define FoldString FoldStringW
1321#define GetCalendarInfo GetCalendarInfoW
1322#define GetCPInfoEx GetCPInfoExW
1323#define GetCurrencyFormat GetCurrencyFormatW
1324#define GetDateFormat GetDateFormatW
1325#define GetGeoInfo GetGeoInfoW
1326#define GetLocaleInfo GetLocaleInfoW
1327#define GetNumberFormat GetNumberFormatW
1328#define GetStringTypeEx GetStringTypeExW
1329#define GetTimeFormat GetTimeFormatW
1330#define LCMapString LCMapStringW
1331#define SetCalendarInfo SetCalendarInfoW
1332#define SetLocaleInfo SetLocaleInfoW
1333#if (WINVER >= 0x0500)
1334#define EnumCalendarInfoEx EnumCalendarInfoExW
1335#define EnumDateFormatsEx EnumDateFormatsExW
1336#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
1337#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
1338#define EnumUILanguages EnumUILanguagesW
1341#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
1342#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
1343#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
1344#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
1345#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
1346#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
1347#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
1348#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
1349#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
1350#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
1357#define CompareString CompareStringA
1358#define EnumCalendarInfo EnumCalendarInfoA
1359#define EnumDateFormats EnumDateFormatsA
1360#define EnumSystemCodePages EnumSystemCodePagesA
1361#define EnumSystemLocales EnumSystemLocalesA
1362#define EnumTimeFormats EnumTimeFormatsA
1363#define FoldString FoldStringA
1364#define GetCalendarInfo GetCalendarInfoA
1365#define GetCPInfoEx GetCPInfoExA
1366#define GetCurrencyFormat GetCurrencyFormatA
1367#define GetDateFormat GetDateFormatA
1368#define GetGeoInfo GetGeoInfoA
1369#define GetLocaleInfo GetLocaleInfoA
1370#define GetNumberFormat GetNumberFormatA
1371#define GetStringTypeEx GetStringTypeExA
1372#define GetTimeFormat GetTimeFormatA
1373#define LCMapString LCMapStringA
1374#define SetCalendarInfo SetCalendarInfoA
1375#define SetLocaleInfo SetLocaleInfoA
1376#if (WINVER >= 0x0500)
1377#define EnumCalendarInfoEx EnumCalendarInfoExA
1378#define EnumDateFormatsEx EnumDateFormatsExA
1379#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
1380#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
1381#define EnumUILanguages EnumUILanguagesA
INT WINAPI GetSystemDefaultLocaleName(LPWSTR localename, INT len)
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
#define WideCharToMultiByte
#define MultiByteToWideChar
BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW pLangGrpEnumProc, DWORD dwFlags, LONG_PTR lParam)
BOOL WINAPI IsValidLanguageGroup(LGRPID lgrpid, DWORD dwFlags)
LANGID WINAPI GetUserDefaultUILanguage(void)
BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW pUILangEnumProc, DWORD dwFlags, LONG_PTR lParam)
INT WINAPI LCMapStringEx(LPCWSTR locale, DWORD flags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen, LPNLSVERSIONINFO version, LPVOID reserved, LPARAM handle)
LANGID WINAPI GetSystemDefaultUILanguage(void)
BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW pLangGrpLcEnumProc, LGRPID lgrpid, DWORD dwFlags, LONG_PTR lParam)
BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA pUILangEnumProc, DWORD dwFlags, LONG_PTR lParam)
BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA pLangGrpLcEnumProc, LGRPID lgrpid, DWORD dwFlags, LONG_PTR lParam)
BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA pLangGrpEnumProc, DWORD dwFlags, LONG_PTR lParam)
BOOL WINAPI DECLSPEC_HOTPATCH EnumDateFormatsExEx(DATEFMT_ENUMPROCEXEX proc, const WCHAR *locale, DWORD flags, LPARAM lparam)
BOOL WINAPI GetFileMUIInfo(DWORD dwFlags, PCWSTR pcwszFilePath, PFILEMUIINFO pFileMUIInfo, DWORD *pcbFileMUIInfo)
static LPCWSTR lpStringSource
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
#define _Out_writes_opt_(s)
#define _Out_writes_bytes_opt_(s)
#define _Inout_updates_bytes_to_opt_(s, c)
#define _Inout_updates_opt_(s)
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
_NullNull_terminated_ WCHAR * PZZWSTR
_NullNull_terminated_ CONST WCHAR * PCZZWSTR
DWORD dwTypeNameMainOffset
DWORD dwTypeNameMUIOffset
DWORD dwLanguageNameOffset
BYTE pServiceChecksum[16]
BYTE LeadByte[MAX_LEADBYTES]
BYTE DefaultChar[MAX_DEFAULTCHAR]
BYTE DefaultChar[MAX_DEFAULTCHAR]
BYTE LeadByte[MAX_LEADBYTES]
CHAR CodePageName[MAX_PATH]
BYTE DefaultChar[MAX_DEFAULTCHAR]
WCHAR CodePageName[MAX_PATH]
BYTE LeadByte[MAX_LEADBYTES]
DWORD dwNLSVersionInfoSize
DWORD dwNLSVersionInfoSize
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
BOOL WINAPI GetThreadPreferredUILanguages(_In_ DWORD dwFlags, _Out_ PULONG pulNumLanguages, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Inout_ PULONG pcchLanguagesBuffer)
LCID WINAPI GetThreadLocale(void)
struct _currencyfmtA CURRENCYFMTA
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved
BOOL WINAPI GetProcessPreferredUILanguages(_In_ DWORD dwFlags, _Out_ PULONG pulNumLanguages, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Inout_ PULONG pcchLanguagesBuffer)
struct _numberfmtW NUMBERFMTW
BOOL(CALLBACK * LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM)
BOOL WINAPI EnumCalendarInfoW(_In_ CALINFO_ENUMPROCW, _In_ LCID, _In_ CALID, _In_ CALTYPE)
BOOL(CALLBACK * LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR)
enum _NORM_FORM NORM_FORM
int WINAPI GetStringScripts(_In_ DWORD dwFlags, _In_ LPCWSTR lpString, _In_ int cchString, _Out_writes_opt_(cchScripts) LPWSTR lpScripts, _In_ int cchScripts)
BOOL WINAPI IsNormalizedString(_In_ NORM_FORM NormForm, _In_reads_(cwLength) LPCWSTR lpString, _In_ int cwLength)
int WINAPI GetCalendarInfoA(_In_ LCID Locale, _In_ CALID Calendar, _In_ CALTYPE CalType, _Out_writes_opt_(cchData) LPSTR lpCalData, _In_ int cchData, _Out_opt_ LPDWORD lpValue)
BOOL WINAPI EnumSystemCodePagesW(_In_ CODEPAGE_ENUMPROCW, _In_ DWORD)
WINBASEAPI int WINAPI FindNLSStringEx(_In_opt_ LPCWSTR lpLocaleName, _In_ DWORD dwFindNLSStringFlags, _In_reads_(cchSource) LPCWSTR lpStringSource, _In_ int cchSource, _In_reads_(cchValue) LPCWSTR lpStringValue, _In_ int cchValue, _Out_opt_ LPINT pcchFound, _In_opt_ LPNLSVERSIONINFO lpVersionInformation, _In_opt_ LPVOID lpReserved, _In_opt_ LPARAM sortHandle)
BOOL WINAPI GetStringTypeExW(_In_ LCID Locale, _In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_writes_(cchSrc) LPWORD lpCharType)
int WINAPI GetCalendarInfoW(_In_ LCID Locale, _In_ CALID Calendar, _In_ CALTYPE CalType, _Out_writes_opt_(cchData) LPWSTR lpCalData, _In_ int cchData, _Out_opt_ LPDWORD lpValue)
WINBASEAPI int WINAPI LCIDToLocaleName(_In_ LCID Locale, _Out_writes_opt_(cchName) LPWSTR lpName, _In_ int cchName, _In_ DWORD dwFlags)
struct _numberfmtA * LPNUMBERFMTA
int WINAPI IdnToNameprepUnicode(_In_ DWORD dwFlags, _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, _In_ int cchUnicodeChar, _Out_writes_opt_(cchNameprepChar) LPWSTR lpNameprepCharStr, _In_ int cchNameprepChar)
BOOL WINAPI VerifyScripts(_In_ DWORD, _In_ LPCWSTR, _In_ int, _In_ LPCWSTR, _In_ int)
BOOL WINAPI GetNLSVersion(_In_ NLS_FUNCTION, _In_ LCID, _Inout_ LPNLSVERSIONINFO)
int WINAPI SetCalendarInfoW(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCWSTR)
struct _FILEMUIINFO * PFILEMUIINFO
BOOL(CALLBACK * CALINFO_ENUMPROCW)(LPWSTR)
struct _cpinfoexA CPINFOEXA
struct _cpinfoexA * LPCPINFOEXA
BOOL WINAPI SetLocaleInfoA(_In_ LCID, _In_ LCTYPE, _In_ LPCSTR)
struct _cpinfoexW * LPCPINFOEXW
int WINAPI GetNumberFormatA(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCSTR lpValue, _In_opt_ const NUMBERFMTA *lpFormat, _Out_writes_opt_(cchNumber) LPSTR lpNumberStr, _In_ int cchNumber)
int WINAPI GetNumberFormatW(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCWSTR lpValue, _In_opt_ const NUMBERFMTW *lpFormat, _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr, _In_ int cchNumber)
LANGID WINAPI SetThreadUILanguage(_In_ LANGID)
struct _currencyfmtW * LPCURRENCYFMTW
BOOL(CALLBACK * TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM)
BOOL(CALLBACK * UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR)
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID _In_opt_ LPARAM sortHandle
_In_ PCWSTR _Inout_updates_bytes_to_opt_ pcbFileMUIInfo PFILEMUIINFO _Inout_ DWORD * pcbFileMUIInfo
LANGID WINAPI GetSystemDefaultLangID(void)
int WINAPI LCMapStringA(_In_ LCID Locale, _In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(_Inexpressible_(cchDest)) LPSTR lpDestStr, _In_ int cchDest)
LCID WINAPI ConvertDefaultLocale(_In_ LCID)
BOOL WINAPI EnumTimeFormatsA(_In_ TIMEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD)
int WINAPI GetGeoInfoA(_In_ GEOID Location, _In_ GEOTYPE GeoType, _Out_writes_opt_(cchData) LPSTR lpGeoData, _In_ int cchData, _In_ LANGID LangId)
struct _numberfmtW * LPNUMBERFMTW
struct _currencyfmtA * LPCURRENCYFMTA
BOOL WINAPI GetFileMUIPath(_In_ DWORD dwFlags, _In_ PCWSTR pcwszFilePath, _Inout_updates_opt_(*pcchLanguage) PWSTR pwszLanguage, _Inout_ PULONG pcchLanguage, _Out_writes_opt_(*pcchFileMUIPath) PWSTR pwszFileMUIPath, _Inout_ PULONG pcchFileMUIPath, _Inout_ PULONGLONG pululEnumerator)
LPCURRENCYFMTA LPCURRENCYFMT
struct _nlsversioninfoex * LPNLSVERSIONINFOEX
BOOL(CALLBACK * DATEFMT_ENUMPROCW)(LPWSTR)
BOOL WINAPI IsValidCodePage(_In_ UINT)
BOOL WINAPI GetCPInfoExW(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXW)
_In_ PCWSTR _Inout_updates_bytes_to_opt_ pcbFileMUIInfo PFILEMUIINFO pFileMUIInfo
int WINAPI GetGeoInfoW(_In_ GEOID Location, _In_ GEOTYPE GeoType, _Out_writes_opt_(cchData) LPWSTR lpGeoData, _In_ int cchData, _In_ LANGID LangId)
BOOL WINAPI EnumSystemGeoID(_In_ GEOCLASS, _In_ GEOID, _In_ GEO_ENUMPROC)
struct _numberfmtA NUMBERFMTA
BOOL(CALLBACK * DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM)
struct _currencyfmtW CURRENCYFMTW
BOOL WINAPI EnumCalendarInfoA(_In_ CALINFO_ENUMPROCA, _In_ LCID, _In_ CALID, _In_ CALTYPE)
WINBASEAPI BOOL WINAPI EnumSystemLocalesEx(_In_ LOCALE_ENUMPROCEX lpLocaleEnumProcEx, _In_ DWORD dwFlags, _In_ LPARAM lParam, _In_opt_ LPVOID lpReserved)
BOOL WINAPI GetCPInfo(_In_ UINT, _Out_ LPCPINFO)
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO lpVersionInformation
int WINAPI GetDateFormatEx(LPCWSTR, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int, LPCWSTR)
BOOL(CALLBACK * CALINFO_ENUMPROCA)(LPSTR)
BOOL(CALLBACK * GEO_ENUMPROC)(GEOID)
BOOL(CALLBACK * LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR)
BOOL(CALLBACK * CODEPAGE_ENUMPROCA)(LPSTR)
BOOL(CALLBACK * TIMEFMT_ENUMPROCA)(LPSTR)
BOOL(CALLBACK * LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR)
_In_ DWORD _In_ int _In_ int cchDest
BOOL WINAPI EnumDateFormatsW(_In_ DATEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD)
int WINAPI GetLocaleInfoW(_In_ LCID Locale, _In_ LCTYPE LCType, _Out_writes_opt_(cchData) LPWSTR lpLCData, _In_ int cchData)
BOOL(CALLBACK * CALINFO_ENUMPROCEXA)(LPSTR, CALID)
BOOL WINAPI SetUserGeoID(_In_ GEOID)
int WINAPI GetTimeFormatW(LCID, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int)
BOOL WINAPI EnumTimeFormatsW(_In_ TIMEFMT_ENUMPROCW, _In_ LCID, _In_ DWORD)
BOOL WINAPI IsDBCSLeadByteEx(_In_ UINT, _In_ BYTE)
struct _nlsversioninfo * LPNLSVERSIONINFO
WINBASEAPI INT WINAPI CompareStringOrdinal(const WCHAR *, INT, const WCHAR *, INT, BOOL)
BOOL WINAPI GetCPInfoExA(_In_ UINT, _In_ DWORD, _Out_ LPCPINFOEXA)
BOOL WINAPI EnumDateFormatsA(_In_ DATEFMT_ENUMPROCA, _In_ LCID, _In_ DWORD)
BOOL WINAPI SetThreadPreferredUILanguages(_In_ DWORD, _In_opt_ PCZZWSTR, _Out_opt_ PULONG)
BOOL(CALLBACK * LOCALE_ENUMPROCA)(LPSTR)
int WINAPI SetCalendarInfoA(_In_ LCID, _In_ CALID, _In_ CALTYPE, _In_ LPCSTR)
int WINAPI FoldStringA(_In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(cchDest) LPSTR lpDestStr, _In_ int cchDest)
BOOL WINAPI GetSystemPreferredUILanguages(_In_ DWORD dwFlags, _Out_ PULONG pulNumLanguages, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Inout_ PULONG pcchLanguagesBuffer)
struct _nlsversioninfo NLSVERSIONINFO
int WINAPI GetDateFormatA(LCID, DWORD, const SYSTEMTIME *, LPCSTR, LPSTR, int)
BOOL WINAPI GetUserPreferredUILanguages(_In_ DWORD dwFlags, _Out_ PULONG pulNumLanguages, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Inout_ PULONG pcchLanguagesBuffer)
GEOID WINAPI GetUserGeoID(_In_ GEOCLASS)
BOOL WINAPI SetThreadLocale(_In_ LCID)
int WINAPI CompareStringA(_In_ LCID Locale, _In_ DWORD dwCmpFlags, _In_reads_(cchCount1) LPCSTR lpString1, _In_ int cchCount1, _In_reads_(cchCount2) LPCSTR lpString2, _In_ int cchCount2)
WINBASEAPI int WINAPI GetUserDefaultLocaleName(_Out_writes_(cchLocaleName) LPWSTR lpLocaleName, _In_ int cchLocaleName)
int WINAPI GetCurrencyFormatA(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCSTR lpValue, _In_opt_ const CURRENCYFMTA *lpFormat, _Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr, _In_ int cchCurrency)
struct _cpinfo * LPCPINFO
int WINAPI LCMapStringW(_In_ LCID Locale, _In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(_Inexpressible_(cchDest)) LPWSTR lpDestStr, _In_ int cchDest)
BOOL WINAPI SetUserDefaultUILanguage(LANGID)
BOOL WINAPI GetNLSVersionEx(_In_ NLS_FUNCTION function, _In_ LPCWSTR lpLocaleName, _Inout_ LPNLSVERSIONINFOEX lpVersionInformation)
LCID WINAPI GetUserDefaultLCID(void)
BOOL WINAPI SetLocaleInfoW(_In_ LCID, _In_ LCTYPE, _In_ LPCWSTR)
BOOL WINAPI GetStringTypeA(_In_ LCID Locale, _In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_ LPWORD lpCharType)
BOOL WINAPI GetStringTypeW(_In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_ LPWORD lpCharType)
BOOL WINAPI GetUILanguageInfo(_In_ DWORD dwFlags, _In_ PCZZWSTR pwmszLanguage, _Out_writes_opt_(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages, _Inout_opt_ PDWORD pcchFallbackLanguages, _Out_ PDWORD pAttributes)
_In_ PCWSTR pcwszFilePath
BOOL(CALLBACK * LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR)
LANGID WINAPI GetUserDefaultLangID(void)
LCID WINAPI GetSystemDefaultLCID(void)
WINBASEAPI BOOL WINAPI IsValidLocaleName(_In_ LPCWSTR lpLocaleName)
WINBASEAPI int WINAPI FindNLSString(_In_ LCID Locale, _In_ DWORD dwFindNLSStringFlags, _In_reads_(cchSource) LPCWSTR lpStringSource, _In_ int cchSource, _In_reads_(cchValue) LPCWSTR lpStringValue, _In_ int cchValue, _Out_opt_ LPINT pcchFound)
BOOL WINAPI EnumSystemLocalesA(_In_ LOCALE_ENUMPROCA, _In_ DWORD)
BOOL WINAPI IsValidLocale(_In_ LCID, _In_ DWORD)
struct _nlsversioninfoex NLSVERSIONINFOEX
int WINAPI GetTimeFormatEx(LPCWSTR, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int)
BOOL WINAPI IsNLSDefinedString(_In_ NLS_FUNCTION Function, _In_ DWORD dwFlags, _In_ LPNLSVERSIONINFO lpVersionInformation, _In_reads_(cchStr) LPCWSTR lpString, _In_ int cchStr)
BOOL(CALLBACK * DATEFMT_ENUMPROCEXW)(LPWSTR, CALID)
BOOL(CALLBACK * UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR)
int WINAPI IdnToAscii(_In_ DWORD dwFlags, _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, _In_ int cchUnicodeChar, _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr, _In_ int cchASCIIChar)
_In_ DWORD _In_ int cchSrc
BOOL WINAPI GetStringTypeExA(_In_ LCID Locale, _In_ DWORD dwInfoType, _In_reads_(cchSrc) LPCSTR lpSrcStr, _In_ int cchSrc, _Out_writes_(cchSrc) LPWORD lpCharType)
BOOL(CALLBACK * TIMEFMT_ENUMPROCW)(LPWSTR)
int WINAPI IdnToUnicode(_In_ DWORD dwFlags, _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr, _In_ int cchASCIIChar, _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr, _In_ int cchUnicodeChar)
int WINAPI GetLocaleInfoA(_In_ LCID Locale, _In_ LCTYPE LCType, _Out_writes_opt_(cchData) LPSTR lpLCData, _In_ int cchData)
int WINAPI FoldStringW(_In_ DWORD dwMapFlags, _In_reads_(cchSrc) LPCWSTR lpSrcStr, _In_ int cchSrc, _Out_writes_opt_(cchDest) LPWSTR lpDestStr, _In_ int cchDest)
int WINAPI GetDateFormatW(LCID, DWORD, const SYSTEMTIME *, LPCWSTR, LPWSTR, int)
BOOL(CALLBACK * CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM)
int WINAPI GetTimeFormatA(LCID, DWORD, const SYSTEMTIME *, LPCSTR, LPSTR, int)
BOOL(CALLBACK * DATEFMT_ENUMPROCA)(LPSTR)
WINBASEAPI int WINAPI GetLocaleInfoEx(_In_opt_ LPCWSTR lpLocaleName, _In_ LCTYPE LCType, _Out_writes_opt_(cchData) LPWSTR lpLCData, _In_ int cchData)
BOOL(CALLBACK * DATEFMT_ENUMPROCEXA)(LPSTR, CALID)
BOOL(CALLBACK * LOCALE_ENUMPROCW)(LPWSTR)
BOOL WINAPI IsDBCSLeadByte(_In_ BYTE)
UINT WINAPI GetOEMCP(void)
int WINAPI CompareStringW(_In_ LCID Locale, _In_ DWORD dwCmpFlags, _In_reads_(cchCount1) LPCWSTR lpString1, _In_ int cchCount1, _In_reads_(cchCount2) LPCWSTR lpString2, _In_ int cchCount2)
BOOL WINAPI SetUserDefaultLCID(LCID)
struct _FILEMUIINFO FILEMUIINFO
BOOL(CALLBACK * CALINFO_ENUMPROCEXW)(LPWSTR, CALID)
BOOL(CALLBACK * CODEPAGE_ENUMPROCW)(LPWSTR)
int WINAPI NormalizeString(_In_ NORM_FORM NormForm, _In_reads_(cwSrcLength) LPCWSTR lpSrcString, _In_ int cwSrcLength, _Out_writes_opt_(cwDstLength) LPWSTR lpDstString, _In_ int cwDstLength)
BOOL WINAPI EnumSystemCodePagesA(_In_ CODEPAGE_ENUMPROCA, _In_ DWORD)
BOOL WINAPI SetProcessPreferredUILanguages(_In_ DWORD, _In_opt_ PCZZWSTR, _Out_opt_ PULONG)
LANGID WINAPI GetThreadUILanguage(void)
struct _cpinfoexW CPINFOEXW
int WINAPI GetCurrencyFormatW(_In_ LCID Locale, _In_ DWORD dwFlags, _In_ LPCWSTR lpValue, _In_opt_ const CURRENCYFMTW *lpFormat, _Out_writes_opt_(cchCurrency) LPWSTR lpCurrencyStr, _In_ int cchCurrency)
LCID WINAPI LocaleNameToLCID(_In_ LPCWSTR, _In_ DWORD)
BOOL WINAPI EnumSystemLocalesW(_In_ LOCALE_ENUMPROCW, _In_ DWORD)