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)
489#define CAL_SRELATIVELONGDATE 58
492#define CAL_SENGLISHERANAME 59
493#define CAL_SENGLISHABBREVERANAME 60
495#define CAL_GREGORIAN 1
496#define CAL_GREGORIAN_US 2
503#define CAL_GREGORIAN_ME_FRENCH 9
504#define CAL_GREGORIAN_ARABIC 10
505#define CAL_GREGORIAN_XLIT_ENGLISH 11
506#define CAL_GREGORIAN_XLIT_FRENCH 12
507#define CAL_PERSIAN 22
508#define CAL_UMALQURA 23
509#define CSTR_LESS_THAN 1
511#define CSTR_GREATER_THAN 3
512#define LGRPID_INSTALLED 1
513#define LGRPID_SUPPORTED 2
514#define LGRPID_WESTERN_EUROPE 1
515#define LGRPID_CENTRAL_EUROPE 2
516#define LGRPID_BALTIC 3
517#define LGRPID_GREEK 4
518#define LGRPID_CYRILLIC 5
519#define LGRPID_TURKISH 6
520#define LGRPID_JAPANESE 7
521#define LGRPID_KOREAN 8
522#define LGRPID_TRADITIONAL_CHINESE 9
523#define LGRPID_SIMPLIFIED_CHINESE 10
524#define LGRPID_THAI 11
525#define LGRPID_HEBREW 12
526#define LGRPID_ARABIC 13
527#define LGRPID_VIETNAMESE 14
528#define LGRPID_INDIC 15
529#define LGRPID_GEORGIAN 16
530#define LGRPID_ARMENIAN 17
532#if (WINVER >= 0x0500)
533#define LOCALE_SYEARMONTH 0x1006
534#define LOCALE_SENGCURRNAME 0x1007
535#define LOCALE_SNATIVECURRNAME 0x1008
536#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
537#define LOCALE_SSORTNAME 0x1013
538#define LOCALE_IDIGITSUBSTITUTION 0x1014
539#define LOCALE_IPAPERSIZE 0x100A
540#define DATE_YEARMONTH 8
541#define DATE_LTRREADING 16
542#define DATE_RTLREADING 32
543#define MAP_EXPAND_LIGATURES 0x2000
544#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
545#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
546#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
547#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES
551#define IDN_ALLOW_UNASSIGNED 0x1
552#define IDN_USE_STD3_ASCII_RULES 0x2
553#define VS_ALLOW_LATIN 0x1
554#define GSS_ALLOW_INHERITED_COMMON 0x1
560#if (WINVER >= 0x0600)
561#define MUI_FULL_LANGUAGE 0x0001
562#define MUI_LANGUAGE_ID 0x0004
563#define MUI_LANGUAGE_NAME 0x0008
564#define MUI_MERGE_SYSTEM_FALLBACK 0x0010
565#define MUI_MERGE_USER_FALLBACK 0x0020
566#define MUI_UI_FALLBACK MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK
567#define MUI_THREAD_LANGUAGES 0x0040
568#define MUI_CONSOLE_FILTER 0x0100
569#define MUI_COMPLEX_SCRIPT_FILTER 0x0200
570#define MUI_RESET_FILTERS 0x0001
571#define MUI_USER_PREFERRED_UI_LANGUAGES 0x0010
572#define MUI_USE_INSTALLED_LANGUAGES 0x0020
573#define MUI_USE_SEARCH_ALL_LANGUAGES 0x0040
574#define MUI_LANG_NEUTRAL_PE_FILE 0x0100
575#define MUI_NON_LANG_NEUTRAL_FILE 0x0200
576#define MUI_MACHINE_LANGUAGE_SETTINGS 0x0400
577#define MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL 0x0001
578#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN 0x0002
579#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI 0x0004
580#define MUI_QUERY_TYPE 0x0001
581#define MUI_QUERY_CHECKSUM 0x0002
582#define MUI_QUERY_LANGUAGE_NAME 0x0004
583#define MUI_QUERY_RESOURCE_TYPES 0x0008
584#define MUI_FILEINFO_VERSION 0x0001
585#define MUI_FULL_LANGUAGE 0x0001
586#define MUI_PARTIAL_LANGUAGE 0x0002
587#define MUI_LIP_LANGUAGE 0x0004
588#define MUI_LANGUAGE_INSTALLED 0x0020
589#define MUI_LANGUAGE_LICENSED 0x0040
655#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
706#if (WINVER >= _WIN32_WINNT_WIN8)
759#define HIGH_SURROGATE_START 0xd800
760#define HIGH_SURROGATE_END 0xdbff
761#define LOW_SURROGATE_START 0xdc00
762#define LOW_SURROGATE_END 0xdfff
764#define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END)
765#define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END)
766#define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low))
892 _In_ int cchCurrency);
902 _In_ int cchCurrency);
1026#if (WINVER >= 0x0600)
1033 _In_ int cchUnicodeChar,
1035 _In_ int cchASCIIChar);
1042 _In_ int cchASCIIChar,
1044 _In_ int cchUnicodeChar);
1110#if (WINVER >= 0x0500)
1211 _In_ int cchUnicodeChar,
1213 _In_ int cchASCIIChar);
1220 _In_ int cchUnicodeChar,
1222 _In_ int cchNameprepChar);
1229 _In_ int cchASCIIChar,
1231 _In_ int cchUnicodeChar);
1245 _In_ int cwSrcLength,
1247 _In_ int cwDstLength);
1256 _In_ int cchScripts);
1262#if (WINVER >= _WIN32_WINNT_WIN8)
1299#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
1300#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
1301#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
1302#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
1303#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
1304#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
1305#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
1306#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
1307#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
1308#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
1315#define CompareString CompareStringW
1316#define EnumCalendarInfo EnumCalendarInfoW
1317#define EnumDateFormats EnumDateFormatsW
1318#define EnumSystemCodePages EnumSystemCodePagesW
1319#define EnumSystemLocales EnumSystemLocalesW
1320#define EnumTimeFormats EnumTimeFormatsW
1321#define FoldString FoldStringW
1322#define GetCalendarInfo GetCalendarInfoW
1323#define GetCPInfoEx GetCPInfoExW
1324#define GetCurrencyFormat GetCurrencyFormatW
1325#define GetDateFormat GetDateFormatW
1326#define GetGeoInfo GetGeoInfoW
1327#define GetLocaleInfo GetLocaleInfoW
1328#define GetNumberFormat GetNumberFormatW
1329#define GetStringTypeEx GetStringTypeExW
1330#define GetTimeFormat GetTimeFormatW
1331#define LCMapString LCMapStringW
1332#define SetCalendarInfo SetCalendarInfoW
1333#define SetLocaleInfo SetLocaleInfoW
1334#if (WINVER >= 0x0500)
1335#define EnumCalendarInfoEx EnumCalendarInfoExW
1336#define EnumDateFormatsEx EnumDateFormatsExW
1337#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
1338#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
1339#define EnumUILanguages EnumUILanguagesW
1342#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
1343#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
1344#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
1345#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
1346#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
1347#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
1348#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
1349#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
1350#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
1351#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
1358#define CompareString CompareStringA
1359#define EnumCalendarInfo EnumCalendarInfoA
1360#define EnumDateFormats EnumDateFormatsA
1361#define EnumSystemCodePages EnumSystemCodePagesA
1362#define EnumSystemLocales EnumSystemLocalesA
1363#define EnumTimeFormats EnumTimeFormatsA
1364#define FoldString FoldStringA
1365#define GetCalendarInfo GetCalendarInfoA
1366#define GetCPInfoEx GetCPInfoExA
1367#define GetCurrencyFormat GetCurrencyFormatA
1368#define GetDateFormat GetDateFormatA
1369#define GetGeoInfo GetGeoInfoA
1370#define GetLocaleInfo GetLocaleInfoA
1371#define GetNumberFormat GetNumberFormatA
1372#define GetStringTypeEx GetStringTypeExA
1373#define GetTimeFormat GetTimeFormatA
1374#define LCMapString LCMapStringA
1375#define SetCalendarInfo SetCalendarInfoA
1376#define SetLocaleInfo SetLocaleInfoA
1377#if (WINVER >= 0x0500)
1378#define EnumCalendarInfoEx EnumCalendarInfoExA
1379#define EnumDateFormatsEx EnumDateFormatsExA
1380#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
1381#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
1382#define EnumUILanguages EnumUILanguagesA
_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)
INT WINAPI GetSystemDefaultLocaleName(LPWSTR localename, INT len)
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)