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_SABBREVLANGNAME 3
35#define LOCALE_SNATIVELANGNAME 4
36#define LOCALE_ICOUNTRY 5
37#define LOCALE_SCOUNTRY 6
38#define LOCALE_SENGCOUNTRY 0x1002
39#define LOCALE_SENGLISHCOUNTRYNAME 0x1002
40#define LOCALE_SABBREVCTRYNAME 7
41#define LOCALE_SNATIVECTRYNAME 8
42#define LOCALE_IDEFAULTLANGUAGE 9
43#define LOCALE_IDEFAULTCOUNTRY 10
44#define LOCALE_IDEFAULTCODEPAGE 11
45#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
46#define LOCALE_IDEFAULTMACCODEPAGE 0x1011
47#define LOCALE_SLIST 12
48#define LOCALE_IMEASURE 13
49#define LOCALE_SDECIMAL 14
50#define LOCALE_STHOUSAND 15
51#define LOCALE_SGROUPING 16
52#define LOCALE_IDIGITS 17
53#define LOCALE_ILZERO 18
54#define LOCALE_INEGNUMBER 0x1010
55#define LOCALE_SNATIVEDIGITS 19
56#define LOCALE_SCURRENCY 20
57#define LOCALE_SINTLSYMBOL 21
58#define LOCALE_SMONDECIMALSEP 22
59#define LOCALE_SMONTHOUSANDSEP 23
60#define LOCALE_SMONGROUPING 24
61#define LOCALE_ICURRDIGITS 25
62#define LOCALE_IINTLCURRDIGITS 26
63#define LOCALE_ICURRENCY 27
64#define LOCALE_INEGCURR 28
65#define LOCALE_SDATE 29
66#define LOCALE_STIME 30
67#define LOCALE_SSHORTDATE 31
68#define LOCALE_SLONGDATE 32
69#define LOCALE_STIMEFORMAT 0x1003
70#define LOCALE_IDATE 33
71#define LOCALE_ILDATE 34
72#define LOCALE_ITIME 35
73#define LOCALE_ITIMEMARKPOSN 0x1005
74#define LOCALE_ICENTURY 36
75#define LOCALE_ITLZERO 37
76#define LOCALE_IDAYLZERO 38
77#define LOCALE_IMONLZERO 39
78#define LOCALE_S1159 40
79#define LOCALE_S2359 41
80#define LOCALE_ICALENDARTYPE 0x1009
81#define LOCALE_IOPTIONALCALENDAR 0x100B
82#define LOCALE_IFIRSTDAYOFWEEK 0x100C
83#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
84#define LOCALE_SDAYNAME1 42
85#define LOCALE_SDAYNAME2 43
86#define LOCALE_SDAYNAME3 44
87#define LOCALE_SDAYNAME4 45
88#define LOCALE_SDAYNAME5 46
89#define LOCALE_SDAYNAME6 47
90#define LOCALE_SDAYNAME7 48
91#define LOCALE_SABBREVDAYNAME1 49
92#define LOCALE_SABBREVDAYNAME2 50
93#define LOCALE_SABBREVDAYNAME3 51
94#define LOCALE_SABBREVDAYNAME4 52
95#define LOCALE_SABBREVDAYNAME5 53
96#define LOCALE_SABBREVDAYNAME6 54
97#define LOCALE_SABBREVDAYNAME7 55
98#define LOCALE_SMONTHNAME1 56
99#define LOCALE_SMONTHNAME2 57
100#define LOCALE_SMONTHNAME3 58
101#define LOCALE_SMONTHNAME4 59
102#define LOCALE_SMONTHNAME5 60
103#define LOCALE_SMONTHNAME6 61
104#define LOCALE_SMONTHNAME7 62
105#define LOCALE_SMONTHNAME8 63
106#define LOCALE_SMONTHNAME9 64
107#define LOCALE_SMONTHNAME10 65
108#define LOCALE_SMONTHNAME11 66
109#define LOCALE_SMONTHNAME12 67
110#define LOCALE_SMONTHNAME13 0x100E
111#define LOCALE_SABBREVMONTHNAME1 68
112#define LOCALE_SABBREVMONTHNAME2 69
113#define LOCALE_SABBREVMONTHNAME3 70
114#define LOCALE_SABBREVMONTHNAME4 71
115#define LOCALE_SABBREVMONTHNAME5 72
116#define LOCALE_SABBREVMONTHNAME6 73
117#define LOCALE_SABBREVMONTHNAME7 74
118#define LOCALE_SABBREVMONTHNAME8 75
119#define LOCALE_SABBREVMONTHNAME9 76
120#define LOCALE_SABBREVMONTHNAME10 77
121#define LOCALE_SABBREVMONTHNAME11 78
122#define LOCALE_SABBREVMONTHNAME12 79
123#define LOCALE_SABBREVMONTHNAME13 0x100F
124#define LOCALE_SPOSITIVESIGN 80
125#define LOCALE_SNEGATIVESIGN 81
126#define LOCALE_IPOSSIGNPOSN 82
127#define LOCALE_INEGSIGNPOSN 83
128#define LOCALE_IPOSSYMPRECEDES 84
129#define LOCALE_IPOSSEPBYSPACE 85
130#define LOCALE_INEGSYMPRECEDES 86
131#define LOCALE_INEGSEPBYSPACE 87
132#define LOCALE_FONTSIGNATURE 88
133#define LOCALE_SISO639LANGNAME 89
134#define LOCALE_SISO3166CTRYNAME 90
137#define LOCALE_SNAME 92
139#if (WINVER >= 0x0600) || (defined(__REACTOS__) && defined(_KERNEL32_))
140#define LOCALE_IGEOID 91
141#define LOCALE_SNAME 92
142#define LOCALE_SDURATION 93
143#define LOCALE_SKEYBOARDSTOINSTALL 94
144#define LOCALE_SSHORTESTDAYNAME1 96
145#define LOCALE_SSHORTESTDAYNAME2 97
146#define LOCALE_SSHORTESTDAYNAME3 98
147#define LOCALE_SSHORTESTDAYNAME4 99
148#define LOCALE_SSHORTESTDAYNAME5 100
149#define LOCALE_SSHORTESTDAYNAME6 101
150#define LOCALE_SSHORTESTDAYNAME7 102
151#define LOCALE_SISO639LANGNAME2 103
152#define LOCALE_SISO3166CTRYNAME2 104
153#define LOCALE_SNAN 105
154#define LOCALE_SPOSINFINITY 106
155#define LOCALE_SNEGINFINITY 107
156#define LOCALE_SSCRIPTS 108
157#define LOCALE_SPARENT 109
158#define LOCALE_SCONSOLEFALLBACKNAME 110
162#define LOCALE_IREADINGLAYOUT 0x0070
163#define LOCALE_INEUTRAL 0x0071
164#define LOCALE_SNATIVEDISPLAYNAME 0x0073
165#define LOCALE_INEGATIVEPERCENT 0x0074
166#define LOCALE_IPOSITIVEPERCENT 0x0075
167#define LOCALE_SPERCENT 0x0076
168#define LOCALE_SPERMILLE 0x0077
169#define LOCALE_SMONTHDAY 0x0078
170#define LOCALE_SSHORTTIME 0x0079
171#define LOCALE_SOPENTYPELANGUAGETAG 0x007a
172#define LOCALE_SSORTLOCALE 0x007b
174#define LOCALE_SRELATIVELONGDATE 0x007C
175#define LOCALE_SSHORTESTAM 0x007E
176#define LOCALE_SSHORTESTPM 0x007F
179#if (WINVER >= 0x0600)
180#define LOCALE_NAME_USER_DEFAULT NULL
181#define LOCALE_NAME_INVARIANT L""
182#define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
185#define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030
187#define NORM_IGNORECASE 1
188#define NORM_IGNOREKANATYPE 65536
189#define NORM_IGNORENONSPACE 2
190#define NORM_IGNORESYMBOLS 4
191#define NORM_IGNOREWIDTH 131072
192#define LINGUISTIC_IGNORECASE 0x00000010
193#define LINGUISTIC_IGNOREDIACRITIC 0x00000020
194#define NORM_LINGUISTIC_CASING 0x08000000
195#define SORT_STRINGSORT 4096
196#define SORT_DIGITSASNUMBERS 0x00000008
197#define LCMAP_LOWERCASE 0x00000100
198#define LCMAP_UPPERCASE 0x00000200
199#define LCMAP_SORTKEY 0x00000400
200#define LCMAP_BYTEREV 0x00000800
201#define LCMAP_HIRAGANA 0x00100000
202#define LCMAP_KATAKANA 0x00200000
203#define LCMAP_HALFWIDTH 0x00400000
204#define LCMAP_FULLWIDTH 0x00800000
205#define LCMAP_LINGUISTIC_CASING 0x01000000
206#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
207#define LCMAP_TRADITIONAL_CHINESE 0x04000000
208#define ENUM_ALL_CALENDARS (-1)
209#define DATE_SHORTDATE 1
210#define DATE_LONGDATE 2
211#define DATE_USE_ALT_CALENDAR 4
212#define CP_INSTALLED 1
213#define CP_SUPPORTED 2
214#define LCID_INSTALLED 1
215#define LCID_SUPPORTED 2
216#define LCID_ALTERNATE_SORTS 4
218#define FIND_STARTSWITH 0x00100000
219#define FIND_ENDSWITH 0x00200000
220#define FIND_FROMSTART 0x00400000
221#define FIND_FROMEND 0x00800000
223#define LOCALE_ALL 0x00
224#define LOCALE_WINDOWS 0x01
225#define LOCALE_SUPPLEMENTAL 0x02
226#define LOCALE_ALTERNATE_SORTS 0x04
227#define LOCALE_REPLACEMENT 0x08
228#define LOCALE_NEUTRALDATA 0x10
229#define LOCALE_SPECIFICDATA 0x20
231#define MAP_FOLDCZONE 16
232#define MAP_FOLDDIGITS 128
233#define MAP_PRECOMPOSED 32
234#define MAP_COMPOSITE 64
236#define WC_DISCARDNS 0x0010
237#define WC_SEPCHARS 0x0020
238#define WC_DEFAULTCHAR 0x0040
239#define WC_ERR_INVALID_CHARS 0x0080
240#define WC_COMPOSITECHECK 0x0200
241#if (WINVER >= 0x0500)
242#define WC_NO_BEST_FIT_CHARS 0x0400
247#define CP_UNIXCP CP_ACP
251#define CP_THREAD_ACP 3
267#define C1_DEFINED 512
268#define C2_LEFTTORIGHT 1
269#define C2_RIGHTTOLEFT 2
270#define C2_EUROPENUMBER 3
271#define C2_EUROPESEPARATOR 4
272#define C2_EUROPETERMINATOR 5
273#define C2_ARABICNUMBER 6
274#define C2_COMMONSEPARATOR 7
275#define C2_BLOCKSEPARATOR 8
276#define C2_SEGMENTSEPARATOR 9
277#define C2_WHITESPACE 10
278#define C2_OTHERNEUTRAL 11
279#define C2_NOTAPPLICABLE 0
280#define C3_NONSPACING 1
281#define C3_DIACRITIC 2
282#define C3_VOWELMARK 4
284#define C3_KATAKANA 16
285#define C3_HIRAGANA 32
286#define C3_HALFWIDTH 64
287#define C3_FULLWIDTH 128
288#define C3_IDEOGRAPH 256
289#define C3_KASHIDA 512
290#define C3_LEXICAL 1024
291#define C3_ALPHA 32768
292#define C3_NOTAPPLICABLE 0
293#define C3_HIGHSURROGATE 0x0800
294#define C3_LOWSURROGATE 0x1000
295#define TIME_NOMINUTESORSECONDS 1
296#define TIME_NOSECONDS 2
297#define TIME_NOTIMEMARKER 4
298#define TIME_FORCE24HOURFORMAT 8
299#define MB_PRECOMPOSED 1
300#define MB_COMPOSITE 2
301#define MB_ERR_INVALID_CHARS 8
302#define MB_USEGLYPHCHARS 4
303#define CTRY_DEFAULT 0
304#define CTRY_ALBANIA 355
305#define CTRY_ALGERIA 213
306#define CTRY_ARGENTINA 54
307#define CTRY_ARMENIA 374
308#define CTRY_AUSTRALIA 61
309#define CTRY_AUSTRIA 43
310#define CTRY_AZERBAIJAN 994
311#define CTRY_BAHRAIN 973
312#define CTRY_BELARUS 375
313#define CTRY_BELGIUM 32
314#define CTRY_BELIZE 501
315#define CTRY_BOLIVIA 591
316#define CTRY_BRAZIL 55
317#define CTRY_BRUNEI_DARUSSALAM 673
318#define CTRY_BULGARIA 359
320#define CTRY_CARIBBEAN 1
322#define CTRY_COLOMBIA 57
323#define CTRY_COSTA_RICA 506
324#define CTRY_CROATIA 385
325#define CTRY_CZECH 420
326#define CTRY_DENMARK 45
327#define CTRY_DOMINICAN_REPUBLIC 1
328#define CTRY_ECUADOR 593
330#define CTRY_EL_SALVADOR 503
331#define CTRY_ESTONIA 372
332#define CTRY_FAEROE_ISLANDS 298
333#define CTRY_FINLAND 358
334#define CTRY_FRANCE 33
335#define CTRY_GEORGIA 995
336#define CTRY_GERMANY 49
337#define CTRY_GREECE 30
338#define CTRY_GUATEMALA 502
339#define CTRY_HONDURAS 504
340#define CTRY_HONG_KONG 852
341#define CTRY_HUNGARY 36
342#define CTRY_ICELAND 354
344#define CTRY_INDONESIA 62
347#define CTRY_IRELAND 353
348#define CTRY_ISRAEL 972
350#define CTRY_JAMAICA 1
352#define CTRY_JORDAN 962
353#define CTRY_KAZAKSTAN 7
354#define CTRY_KENYA 254
355#define CTRY_KUWAIT 965
356#define CTRY_KYRGYZSTAN 996
357#define CTRY_LATVIA 371
358#define CTRY_LEBANON 961
359#define CTRY_LIBYA 218
360#define CTRY_LIECHTENSTEIN 41
361#define CTRY_LITHUANIA 370
362#define CTRY_LUXEMBOURG 352
363#define CTRY_MACAU 853
364#define CTRY_MACEDONIA 389
365#define CTRY_MALAYSIA 60
366#define CTRY_MALDIVES 960
367#define CTRY_MEXICO 52
368#define CTRY_MONACO 33
369#define CTRY_MONGOLIA 976
370#define CTRY_MOROCCO 212
371#define CTRY_NETHERLANDS 31
372#define CTRY_NEW_ZEALAND 64
373#define CTRY_NICARAGUA 505
374#define CTRY_NORWAY 47
376#define CTRY_PAKISTAN 92
377#define CTRY_PANAMA 507
378#define CTRY_PARAGUAY 595
380#define CTRY_PHILIPPINES 63
381#define CTRY_POLAND 48
382#define CTRY_PORTUGAL 351
383#define CTRY_PRCHINA 86
384#define CTRY_PUERTO_RICO 1
385#define CTRY_QATAR 974
386#define CTRY_ROMANIA 40
388#define CTRY_SAUDI_ARABIA 966
389#define CTRY_SERBIA 381
390#define CTRY_SINGAPORE 65
391#define CTRY_SLOVAK 421
392#define CTRY_SLOVENIA 386
393#define CTRY_SOUTH_AFRICA 27
394#define CTRY_SOUTH_KOREA 82
396#define CTRY_SWEDEN 46
397#define CTRY_SWITZERLAND 41
398#define CTRY_SYRIA 963
399#define CTRY_TAIWAN 886
400#define CTRY_TATARSTAN 7
401#define CTRY_THAILAND 66
402#define CTRY_TRINIDAD_Y_TOBAGO 1
403#define CTRY_TUNISIA 216
404#define CTRY_TURKEY 90
406#define CTRY_UKRAINE 380
407#define CTRY_UNITED_KINGDOM 44
408#define CTRY_UNITED_STATES 1
409#define CTRY_URUGUAY 598
410#define CTRY_UZBEKISTAN 7
411#define CTRY_VENEZUELA 58
412#define CTRY_VIET_NAM 84
413#define CTRY_YEMEN 967
414#define CTRY_ZIMBABWE 263
415#define CAL_ICALINTVALUE 1
416#define CAL_SCALNAME 2
417#define CAL_IYEAROFFSETRANGE 3
418#define CAL_SERASTRING 4
419#define CAL_SSHORTDATE 5
420#define CAL_SLONGDATE 6
421#define CAL_SDAYNAME1 7
422#define CAL_SDAYNAME2 8
423#define CAL_SDAYNAME3 9
424#define CAL_SDAYNAME4 10
425#define CAL_SDAYNAME5 11
426#define CAL_SDAYNAME6 12
427#define CAL_SDAYNAME7 13
428#define CAL_SABBREVDAYNAME1 14
429#define CAL_SABBREVDAYNAME2 15
430#define CAL_SABBREVDAYNAME3 16
431#define CAL_SABBREVDAYNAME4 17
432#define CAL_SABBREVDAYNAME5 18
433#define CAL_SABBREVDAYNAME6 19
434#define CAL_SABBREVDAYNAME7 20
435#define CAL_SMONTHNAME1 21
436#define CAL_SMONTHNAME2 22
437#define CAL_SMONTHNAME3 23
438#define CAL_SMONTHNAME4 24
439#define CAL_SMONTHNAME5 25
440#define CAL_SMONTHNAME6 26
441#define CAL_SMONTHNAME7 27
442#define CAL_SMONTHNAME8 28
443#define CAL_SMONTHNAME9 29
444#define CAL_SMONTHNAME10 30
445#define CAL_SMONTHNAME11 31
446#define CAL_SMONTHNAME12 32
447#define CAL_SMONTHNAME13 33
448#define CAL_SABBREVMONTHNAME1 34
449#define CAL_SABBREVMONTHNAME2 35
450#define CAL_SABBREVMONTHNAME3 36
451#define CAL_SABBREVMONTHNAME4 37
452#define CAL_SABBREVMONTHNAME5 38
453#define CAL_SABBREVMONTHNAME6 39
454#define CAL_SABBREVMONTHNAME7 40
455#define CAL_SABBREVMONTHNAME8 41
456#define CAL_SABBREVMONTHNAME9 42
457#define CAL_SABBREVMONTHNAME10 43
458#define CAL_SABBREVMONTHNAME11 44
459#define CAL_SABBREVMONTHNAME12 45
460#define CAL_SABBREVMONTHNAME13 46
461#if (WINVER >= _WIN32_WINNT_WIN2K)
462#define CAL_SYEARMONTH 47
463#define CAL_ITWODIGITYEARMAX 48
465#if (WINVER >= _WIN32_WINNT_VISTA)
466#define CAL_SSHORTESTDAYNAME1 49
467#define CAL_SSHORTESTDAYNAME2 50
468#define CAL_SSHORTESTDAYNAME3 51
469#define CAL_SSHORTESTDAYNAME4 52
470#define CAL_SSHORTESTDAYNAME5 53
471#define CAL_SSHORTESTDAYNAME6 54
472#define CAL_SSHORTESTDAYNAME7 55
474#if (WINVER >= _WIN32_WINNT_WIN7)
475#define CAL_SMONTHDAY 56
476#define CAL_SABBREVERASTRING 57
478#if (WINVER >= _WIN32_WINNT_WIN8)
479#define CAL_SRELATIVELONGDATE 58
481#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
482#define CAL_SENGLISHERANAME 59
483#define CAL_SENGLISHABBREVERANAME 60
485#define CAL_GREGORIAN 1
486#define CAL_GREGORIAN_US 2
493#define CAL_GREGORIAN_ME_FRENCH 9
494#define CAL_GREGORIAN_ARABIC 10
495#define CAL_GREGORIAN_XLIT_ENGLISH 11
496#define CAL_GREGORIAN_XLIT_FRENCH 12
497#define CAL_PERSIAN 22
498#define CAL_UMALQURA 23
499#define CSTR_LESS_THAN 1
501#define CSTR_GREATER_THAN 3
502#define LGRPID_INSTALLED 1
503#define LGRPID_SUPPORTED 2
504#define LGRPID_WESTERN_EUROPE 1
505#define LGRPID_CENTRAL_EUROPE 2
506#define LGRPID_BALTIC 3
507#define LGRPID_GREEK 4
508#define LGRPID_CYRILLIC 5
509#define LGRPID_TURKISH 6
510#define LGRPID_JAPANESE 7
511#define LGRPID_KOREAN 8
512#define LGRPID_TRADITIONAL_CHINESE 9
513#define LGRPID_SIMPLIFIED_CHINESE 10
514#define LGRPID_THAI 11
515#define LGRPID_HEBREW 12
516#define LGRPID_ARABIC 13
517#define LGRPID_VIETNAMESE 14
518#define LGRPID_INDIC 15
519#define LGRPID_GEORGIAN 16
520#define LGRPID_ARMENIAN 17
522#if (WINVER >= 0x0500)
523#define LOCALE_SYEARMONTH 0x1006
524#define LOCALE_SENGCURRNAME 0x1007
525#define LOCALE_SNATIVECURRNAME 0x1008
526#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
527#define LOCALE_SSORTNAME 0x1013
528#define LOCALE_IDIGITSUBSTITUTION 0x1014
529#define LOCALE_IPAPERSIZE 0x100A
530#define DATE_YEARMONTH 8
531#define DATE_LTRREADING 16
532#define DATE_RTLREADING 32
533#define MAP_EXPAND_LIGATURES 0x2000
534#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
535#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
536#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
539#define IDN_ALLOW_UNASSIGNED 0x1
540#define IDN_USE_STD3_ASCII_RULES 0x2
541#define VS_ALLOW_LATIN 0x1
542#define GSS_ALLOW_INHERITED_COMMON 0x1
548#if (WINVER >= 0x0600)
549#define MUI_FULL_LANGUAGE 0x0001
550#define MUI_LANGUAGE_ID 0x0004
551#define MUI_LANGUAGE_NAME 0x0008
552#define MUI_MERGE_SYSTEM_FALLBACK 0x0010
553#define MUI_MERGE_USER_FALLBACK 0x0020
554#define MUI_UI_FALLBACK MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK
555#define MUI_THREAD_LANGUAGES 0x0040
556#define MUI_CONSOLE_FILTER 0x0100
557#define MUI_COMPLEX_SCRIPT_FILTER 0x0200
558#define MUI_RESET_FILTERS 0x0001
559#define MUI_USER_PREFERRED_UI_LANGUAGES 0x0010
560#define MUI_USE_INSTALLED_LANGUAGES 0x0020
561#define MUI_USE_SEARCH_ALL_LANGUAGES 0x0040
562#define MUI_LANG_NEUTRAL_PE_FILE 0x0100
563#define MUI_NON_LANG_NEUTRAL_FILE 0x0200
564#define MUI_MACHINE_LANGUAGE_SETTINGS 0x0400
565#define MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL 0x0001
566#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN 0x0002
567#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI 0x0004
568#define MUI_QUERY_TYPE 0x0001
569#define MUI_QUERY_CHECKSUM 0x0002
570#define MUI_QUERY_LANGUAGE_NAME 0x0004
571#define MUI_QUERY_RESOURCE_TYPES 0x0008
572#define MUI_FILEINFO_VERSION 0x0001
573#define MUI_FULL_LANGUAGE 0x0001
574#define MUI_PARTIAL_LANGUAGE 0x0002
575#define MUI_LIP_LANGUAGE 0x0004
576#define MUI_LANGUAGE_INSTALLED 0x0020
577#define MUI_LANGUAGE_LICENSED 0x0040
643#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
694#if (WINVER >= _WIN32_WINNT_WIN8)
747#define HIGH_SURROGATE_START 0xd800
748#define HIGH_SURROGATE_END 0xdbff
749#define LOW_SURROGATE_START 0xdc00
750#define LOW_SURROGATE_END 0xdfff
752#define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END)
753#define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END)
754#define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low))
880 _In_ int cchCurrency);
890 _In_ int cchCurrency);
1014#if (WINVER >= 0x0600)
1021 _In_ int cchUnicodeChar,
1023 _In_ int cchASCIIChar);
1030 _In_ int cchASCIIChar,
1032 _In_ int cchUnicodeChar);
1098#if (WINVER >= 0x0500)
1199 _In_ int cchUnicodeChar,
1201 _In_ int cchASCIIChar);
1208 _In_ int cchUnicodeChar,
1210 _In_ int cchNameprepChar);
1217 _In_ int cchASCIIChar,
1219 _In_ int cchUnicodeChar);
1233 _In_ int cwSrcLength,
1235 _In_ int cwDstLength);
1244 _In_ int cchScripts);
1250#if (WINVER >= _WIN32_WINNT_WIN8)
1287#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
1288#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
1289#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
1290#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
1291#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
1292#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
1293#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
1294#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
1295#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
1296#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
1303#define CompareString CompareStringW
1304#define EnumCalendarInfo EnumCalendarInfoW
1305#define EnumDateFormats EnumDateFormatsW
1306#define EnumSystemCodePages EnumSystemCodePagesW
1307#define EnumSystemLocales EnumSystemLocalesW
1308#define EnumTimeFormats EnumTimeFormatsW
1309#define FoldString FoldStringW
1310#define GetCalendarInfo GetCalendarInfoW
1311#define GetCPInfoEx GetCPInfoExW
1312#define GetCurrencyFormat GetCurrencyFormatW
1313#define GetDateFormat GetDateFormatW
1314#define GetGeoInfo GetGeoInfoW
1315#define GetLocaleInfo GetLocaleInfoW
1316#define GetNumberFormat GetNumberFormatW
1317#define GetStringTypeEx GetStringTypeExW
1318#define GetTimeFormat GetTimeFormatW
1319#define LCMapString LCMapStringW
1320#define SetCalendarInfo SetCalendarInfoW
1321#define SetLocaleInfo SetLocaleInfoW
1322#if (WINVER >= 0x0500)
1323#define EnumCalendarInfoEx EnumCalendarInfoExW
1324#define EnumDateFormatsEx EnumDateFormatsExW
1325#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
1326#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
1327#define EnumUILanguages EnumUILanguagesW
1330#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
1331#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
1332#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
1333#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
1334#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
1335#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
1336#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
1337#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
1338#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
1339#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
1346#define CompareString CompareStringA
1347#define EnumCalendarInfo EnumCalendarInfoA
1348#define EnumDateFormats EnumDateFormatsA
1349#define EnumSystemCodePages EnumSystemCodePagesA
1350#define EnumSystemLocales EnumSystemLocalesA
1351#define EnumTimeFormats EnumTimeFormatsA
1352#define FoldString FoldStringA
1353#define GetCalendarInfo GetCalendarInfoA
1354#define GetCPInfoEx GetCPInfoExA
1355#define GetCurrencyFormat GetCurrencyFormatA
1356#define GetDateFormat GetDateFormatA
1357#define GetGeoInfo GetGeoInfoA
1358#define GetLocaleInfo GetLocaleInfoA
1359#define GetNumberFormat GetNumberFormatA
1360#define GetStringTypeEx GetStringTypeExA
1361#define GetTimeFormat GetTimeFormatA
1362#define LCMapString LCMapStringA
1363#define SetCalendarInfo SetCalendarInfoA
1364#define SetLocaleInfo SetLocaleInfoA
1365#if (WINVER >= 0x0500)
1366#define EnumCalendarInfoEx EnumCalendarInfoExA
1367#define EnumDateFormatsEx EnumDateFormatsExA
1368#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
1369#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
1370#define EnumUILanguages EnumUILanguagesA
_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)
_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)