0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20 ********\.*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 77 69 6e 6e 6c winnl
0070: 73 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 s.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 *.*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 *.*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66 Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77 rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20 s headers
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01d0: 20 20 20 20 20 20 20 20 62 79 20 53 74 65 77 61 by Stewa
01e0: 72 74 20 47 6f 72 64 6f 6e 20 20 20 20 20 20 20 rt Gordon
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 *.*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69 Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 **/.module win32
02f0: 2e 77 69 6e 6e 6c 73 3b 0a 70 72 61 67 6d 61 28 .winnls;.pragma(
0300: 6c 69 62 2c 20 22 6b 65 72 6e 65 6c 33 32 2e 6c lib, "kernel32.l
0310: 69 62 22 29 3b 0a 0a 70 72 69 76 61 74 65 20 69 ib");..private i
0320: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 62 61 73 65 mport win32.base
0330: 74 73 64 2c 20 77 69 6e 33 32 2e 77 33 32 61 70 tsd, win32.w32ap
0340: 69 2c 20 77 69 6e 33 32 2e 77 69 6e 62 61 73 65 i, win32.winbase
0350: 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0a , win32.windef;.
0360: 0a 61 6c 69 61 73 20 44 57 4f 52 44 20 4c 43 54 .alias DWORD LCT
0370: 59 50 45 2c 20 43 41 4c 54 59 50 45 2c 20 43 41 YPE, CALTYPE, CA
0380: 4c 49 44 2c 20 4c 47 52 50 49 44 2c 20 47 45 4f LID, LGRPID, GEO
0390: 49 44 2c 20 47 45 4f 54 59 50 45 2c 20 47 45 4f ID, GEOTYPE, GEO
03a0: 43 4c 41 53 53 3b 0a 0a 63 6f 6e 73 74 20 73 69 CLASS;..const si
03b0: 7a 65 5f 74 0a 09 4d 41 58 5f 44 45 46 41 55 4c ze_t..MAX_DEFAUL
03c0: 54 43 48 41 52 20 3d 20 20 32 2c 0a 09 4d 41 58 TCHAR = 2,..MAX
03d0: 5f 4c 45 41 44 42 59 54 45 53 20 20 20 3d 20 31 _LEADBYTES = 1
03e0: 32 3b 0a 0a 63 6f 6e 73 74 20 4c 43 54 59 50 45 2;..const LCTYPE
03f0: 0a 09 4c 4f 43 41 4c 45 5f 55 53 45 5f 43 50 5f ..LOCALE_USE_CP_
0400: 41 43 50 20 20 20 20 3d 20 30 78 34 30 30 30 30 ACP = 0x40000
0410: 30 30 30 2c 0a 09 4c 4f 43 41 4c 45 5f 52 45 54 000,..LOCALE_RET
0420: 55 52 4e 5f 4e 55 4d 42 45 52 20 3d 20 30 78 32 URN_NUMBER = 0x2
0430: 30 30 30 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 3a 0000000;..enum :
0440: 20 4c 43 54 59 50 45 20 7b 0a 09 4c 4f 43 41 4c LCTYPE {..LOCAL
0450: 45 5f 49 4c 41 4e 47 55 41 47 45 20 3d 20 31 2c E_ILANGUAGE = 1,
0460: 0a 09 4c 4f 43 41 4c 45 5f 53 4c 41 4e 47 55 41 ..LOCALE_SLANGUA
0470: 47 45 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 42 GE,..LOCALE_SABB
0480: 52 45 56 4c 41 4e 47 4e 41 4d 45 2c 0a 09 4c 4f REVLANGNAME,..LO
0490: 43 41 4c 45 5f 53 4e 41 54 49 56 45 4c 41 4e 47 CALE_SNATIVELANG
04a0: 4e 41 4d 45 2c 0a 09 4c 4f 43 41 4c 45 5f 49 43 NAME,..LOCALE_IC
04b0: 4f 55 4e 54 52 59 2c 0a 09 4c 4f 43 41 4c 45 5f OUNTRY,..LOCALE_
04c0: 53 43 4f 55 4e 54 52 59 2c 0a 09 4c 4f 43 41 4c SCOUNTRY,..LOCAL
04d0: 45 5f 53 41 42 42 52 45 56 43 54 52 59 4e 41 4d E_SABBREVCTRYNAM
04e0: 45 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4e 41 54 49 E,..LOCALE_SNATI
04f0: 56 45 43 54 52 59 4e 41 4d 45 2c 0a 09 4c 4f 43 VECTRYNAME,..LOC
0500: 41 4c 45 5f 49 44 45 46 41 55 4c 54 4c 41 4e 47 ALE_IDEFAULTLANG
0510: 55 41 47 45 2c 0a 09 4c 4f 43 41 4c 45 5f 49 44 UAGE,..LOCALE_ID
0520: 45 46 41 55 4c 54 43 4f 55 4e 54 52 59 2c 0a 09 EFAULTCOUNTRY,..
0530: 4c 4f 43 41 4c 45 5f 49 44 45 46 41 55 4c 54 43 LOCALE_IDEFAULTC
0540: 4f 44 45 50 41 47 45 2c 0a 09 4c 4f 43 41 4c 45 ODEPAGE,..LOCALE
0550: 5f 53 4c 49 53 54 2c 0a 09 4c 4f 43 41 4c 45 5f _SLIST,..LOCALE_
0560: 49 4d 45 41 53 55 52 45 2c 0a 09 4c 4f 43 41 4c IMEASURE,..LOCAL
0570: 45 5f 53 44 45 43 49 4d 41 4c 2c 0a 09 4c 4f 43 E_SDECIMAL,..LOC
0580: 41 4c 45 5f 53 54 48 4f 55 53 41 4e 44 2c 0a 09 ALE_STHOUSAND,..
0590: 4c 4f 43 41 4c 45 5f 53 47 52 4f 55 50 49 4e 47 LOCALE_SGROUPING
05a0: 2c 0a 09 4c 4f 43 41 4c 45 5f 49 44 49 47 49 54 ,..LOCALE_IDIGIT
05b0: 53 2c 0a 09 4c 4f 43 41 4c 45 5f 49 4c 5a 45 52 S,..LOCALE_ILZER
05c0: 4f 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4e 41 54 49 O,..LOCALE_SNATI
05d0: 56 45 44 49 47 49 54 53 2c 0a 09 4c 4f 43 41 4c VEDIGITS,..LOCAL
05e0: 45 5f 53 43 55 52 52 45 4e 43 59 2c 0a 09 4c 4f E_SCURRENCY,..LO
05f0: 43 41 4c 45 5f 53 49 4e 54 4c 53 59 4d 42 4f 4c CALE_SINTLSYMBOL
0600: 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 44 45 ,..LOCALE_SMONDE
0610: 43 49 4d 41 4c 53 45 50 2c 0a 09 4c 4f 43 41 4c CIMALSEP,..LOCAL
0620: 45 5f 53 4d 4f 4e 54 48 4f 55 53 41 4e 44 53 45 E_SMONTHOUSANDSE
0630: 50 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 47 P,..LOCALE_SMONG
0640: 52 4f 55 50 49 4e 47 2c 0a 09 4c 4f 43 41 4c 45 ROUPING,..LOCALE
0650: 5f 49 43 55 52 52 44 49 47 49 54 53 2c 0a 09 4c _ICURRDIGITS,..L
0660: 4f 43 41 4c 45 5f 49 49 4e 54 4c 43 55 52 52 44 OCALE_IINTLCURRD
0670: 49 47 49 54 53 2c 0a 09 4c 4f 43 41 4c 45 5f 49 IGITS,..LOCALE_I
0680: 43 55 52 52 45 4e 43 59 2c 0a 09 4c 4f 43 41 4c CURRENCY,..LOCAL
0690: 45 5f 49 4e 45 47 43 55 52 52 2c 0a 09 4c 4f 43 E_INEGCURR,..LOC
06a0: 41 4c 45 5f 53 44 41 54 45 2c 0a 09 4c 4f 43 41 ALE_SDATE,..LOCA
06b0: 4c 45 5f 53 54 49 4d 45 2c 0a 09 4c 4f 43 41 4c LE_STIME,..LOCAL
06c0: 45 5f 53 53 48 4f 52 54 44 41 54 45 2c 0a 09 4c E_SSHORTDATE,..L
06d0: 4f 43 41 4c 45 5f 53 4c 4f 4e 47 44 41 54 45 2c OCALE_SLONGDATE,
06e0: 0a 09 4c 4f 43 41 4c 45 5f 49 44 41 54 45 2c 0a ..LOCALE_IDATE,.
06f0: 09 4c 4f 43 41 4c 45 5f 49 4c 44 41 54 45 2c 0a .LOCALE_ILDATE,.
0700: 09 4c 4f 43 41 4c 45 5f 49 54 49 4d 45 2c 0a 09 .LOCALE_ITIME,..
0710: 4c 4f 43 41 4c 45 5f 49 43 45 4e 54 55 52 59 2c LOCALE_ICENTURY,
0720: 0a 09 4c 4f 43 41 4c 45 5f 49 54 4c 5a 45 52 4f ..LOCALE_ITLZERO
0730: 2c 0a 09 4c 4f 43 41 4c 45 5f 49 44 41 59 4c 5a ,..LOCALE_IDAYLZ
0740: 45 52 4f 2c 0a 09 4c 4f 43 41 4c 45 5f 49 4d 4f ERO,..LOCALE_IMO
0750: 4e 4c 5a 45 52 4f 2c 0a 09 4c 4f 43 41 4c 45 5f NLZERO,..LOCALE_
0760: 53 31 31 35 39 2c 0a 09 4c 4f 43 41 4c 45 5f 53 S1159,..LOCALE_S
0770: 32 33 35 39 2c 0a 09 4c 4f 43 41 4c 45 5f 53 44 2359,..LOCALE_SD
0780: 41 59 4e 41 4d 45 31 2c 0a 09 4c 4f 43 41 4c 45 AYNAME1,..LOCALE
0790: 5f 53 44 41 59 4e 41 4d 45 32 2c 0a 09 4c 4f 43 _SDAYNAME2,..LOC
07a0: 41 4c 45 5f 53 44 41 59 4e 41 4d 45 33 2c 0a 09 ALE_SDAYNAME3,..
07b0: 4c 4f 43 41 4c 45 5f 53 44 41 59 4e 41 4d 45 34 LOCALE_SDAYNAME4
07c0: 2c 0a 09 4c 4f 43 41 4c 45 5f 53 44 41 59 4e 41 ,..LOCALE_SDAYNA
07d0: 4d 45 35 2c 0a 09 4c 4f 43 41 4c 45 5f 53 44 41 ME5,..LOCALE_SDA
07e0: 59 4e 41 4d 45 36 2c 0a 09 4c 4f 43 41 4c 45 5f YNAME6,..LOCALE_
07f0: 53 44 41 59 4e 41 4d 45 37 2c 0a 09 4c 4f 43 41 SDAYNAME7,..LOCA
0800: 4c 45 5f 53 41 42 42 52 45 56 44 41 59 4e 41 4d LE_SABBREVDAYNAM
0810: 45 31 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 42 E1,..LOCALE_SABB
0820: 52 45 56 44 41 59 4e 41 4d 45 32 2c 0a 09 4c 4f REVDAYNAME2,..LO
0830: 43 41 4c 45 5f 53 41 42 42 52 45 56 44 41 59 4e CALE_SABBREVDAYN
0840: 41 4d 45 33 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 AME3,..LOCALE_SA
0850: 42 42 52 45 56 44 41 59 4e 41 4d 45 34 2c 0a 09 BBREVDAYNAME4,..
0860: 4c 4f 43 41 4c 45 5f 53 41 42 42 52 45 56 44 41 LOCALE_SABBREVDA
0870: 59 4e 41 4d 45 35 2c 0a 09 4c 4f 43 41 4c 45 5f YNAME5,..LOCALE_
0880: 53 41 42 42 52 45 56 44 41 59 4e 41 4d 45 36 2c SABBREVDAYNAME6,
0890: 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 42 52 45 56 ..LOCALE_SABBREV
08a0: 44 41 59 4e 41 4d 45 37 2c 0a 09 4c 4f 43 41 4c DAYNAME7,..LOCAL
08b0: 45 5f 53 4d 4f 4e 54 48 4e 41 4d 45 31 2c 0a 09 E_SMONTHNAME1,..
08c0: 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 54 48 4e 41 4d LOCALE_SMONTHNAM
08d0: 45 32 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e E2,..LOCALE_SMON
08e0: 54 48 4e 41 4d 45 33 2c 0a 09 4c 4f 43 41 4c 45 THNAME3,..LOCALE
08f0: 5f 53 4d 4f 4e 54 48 4e 41 4d 45 34 2c 0a 09 4c _SMONTHNAME4,..L
0900: 4f 43 41 4c 45 5f 53 4d 4f 4e 54 48 4e 41 4d 45 OCALE_SMONTHNAME
0910: 35 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 54 5,..LOCALE_SMONT
0920: 48 4e 41 4d 45 36 2c 0a 09 4c 4f 43 41 4c 45 5f HNAME6,..LOCALE_
0930: 53 4d 4f 4e 54 48 4e 41 4d 45 37 2c 0a 09 4c 4f SMONTHNAME7,..LO
0940: 43 41 4c 45 5f 53 4d 4f 4e 54 48 4e 41 4d 45 38 CALE_SMONTHNAME8
0950: 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 54 48 ,..LOCALE_SMONTH
0960: 4e 41 4d 45 39 2c 0a 09 4c 4f 43 41 4c 45 5f 53 NAME9,..LOCALE_S
0970: 4d 4f 4e 54 48 4e 41 4d 45 31 30 2c 0a 09 4c 4f MONTHNAME10,..LO
0980: 43 41 4c 45 5f 53 4d 4f 4e 54 48 4e 41 4d 45 31 CALE_SMONTHNAME1
0990: 31 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 54 1,..LOCALE_SMONT
09a0: 48 4e 41 4d 45 31 32 2c 0a 09 4c 4f 43 41 4c 45 HNAME12,..LOCALE
09b0: 5f 53 41 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d _SABBREVMONTHNAM
09c0: 45 31 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 42 E1,..LOCALE_SABB
09d0: 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 32 2c 0a 09 REVMONTHNAME2,..
09e0: 4c 4f 43 41 4c 45 5f 53 41 42 42 52 45 56 4d 4f LOCALE_SABBREVMO
09f0: 4e 54 48 4e 41 4d 45 33 2c 0a 09 4c 4f 43 41 4c NTHNAME3,..LOCAL
0a00: 45 5f 53 41 42 42 52 45 56 4d 4f 4e 54 48 4e 41 E_SABBREVMONTHNA
0a10: 4d 45 34 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 ME4,..LOCALE_SAB
0a20: 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 35 2c 0a BREVMONTHNAME5,.
0a30: 09 4c 4f 43 41 4c 45 5f 53 41 42 42 52 45 56 4d .LOCALE_SABBREVM
0a40: 4f 4e 54 48 4e 41 4d 45 36 2c 0a 09 4c 4f 43 41 ONTHNAME6,..LOCA
0a50: 4c 45 5f 53 41 42 42 52 45 56 4d 4f 4e 54 48 4e LE_SABBREVMONTHN
0a60: 41 4d 45 37 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 AME7,..LOCALE_SA
0a70: 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 38 2c BBREVMONTHNAME8,
0a80: 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 42 52 45 56 ..LOCALE_SABBREV
0a90: 4d 4f 4e 54 48 4e 41 4d 45 39 2c 0a 09 4c 4f 43 MONTHNAME9,..LOC
0aa0: 41 4c 45 5f 53 41 42 42 52 45 56 4d 4f 4e 54 48 ALE_SABBREVMONTH
0ab0: 4e 41 4d 45 31 30 2c 0a 09 4c 4f 43 41 4c 45 5f NAME10,..LOCALE_
0ac0: 53 41 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 SABBREVMONTHNAME
0ad0: 31 31 2c 0a 09 4c 4f 43 41 4c 45 5f 53 41 42 42 11,..LOCALE_SABB
0ae0: 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 31 32 2c 0a REVMONTHNAME12,.
0af0: 09 4c 4f 43 41 4c 45 5f 53 50 4f 53 49 54 49 56 .LOCALE_SPOSITIV
0b00: 45 53 49 47 4e 2c 0a 09 4c 4f 43 41 4c 45 5f 53 ESIGN,..LOCALE_S
0b10: 4e 45 47 41 54 49 56 45 53 49 47 4e 2c 0a 09 4c NEGATIVESIGN,..L
0b20: 4f 43 41 4c 45 5f 49 50 4f 53 53 49 47 4e 50 4f OCALE_IPOSSIGNPO
0b30: 53 4e 2c 0a 09 4c 4f 43 41 4c 45 5f 49 4e 45 47 SN,..LOCALE_INEG
0b40: 53 49 47 4e 50 4f 53 4e 2c 0a 09 4c 4f 43 41 4c SIGNPOSN,..LOCAL
0b50: 45 5f 49 50 4f 53 53 59 4d 50 52 45 43 45 44 45 E_IPOSSYMPRECEDE
0b60: 53 2c 0a 09 4c 4f 43 41 4c 45 5f 49 50 4f 53 53 S,..LOCALE_IPOSS
0b70: 45 50 42 59 53 50 41 43 45 2c 0a 09 4c 4f 43 41 EPBYSPACE,..LOCA
0b80: 4c 45 5f 49 4e 45 47 53 59 4d 50 52 45 43 45 44 LE_INEGSYMPRECED
0b90: 45 53 2c 0a 09 4c 4f 43 41 4c 45 5f 49 4e 45 47 ES,..LOCALE_INEG
0ba0: 53 45 50 42 59 53 50 41 43 45 2c 0a 09 4c 4f 43 SEPBYSPACE,..LOC
0bb0: 41 4c 45 5f 46 4f 4e 54 53 49 47 4e 41 54 55 52 ALE_FONTSIGNATUR
0bc0: 45 2c 0a 09 4c 4f 43 41 4c 45 5f 53 49 53 4f 36 E,..LOCALE_SISO6
0bd0: 33 39 4c 41 4e 47 4e 41 4d 45 2c 0a 09 4c 4f 43 39LANGNAME,..LOC
0be0: 41 4c 45 5f 53 49 53 4f 33 31 36 36 43 54 52 59 ALE_SISO3166CTRY
0bf0: 4e 41 4d 45 2c 20 2f 2f 20 3d 20 39 30 0a 09 4c NAME, // = 90..L
0c00: 4f 43 41 4c 45 5f 53 45 4e 47 4c 41 4e 47 55 41 OCALE_SENGLANGUA
0c10: 47 45 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 GE = 0x1
0c20: 30 30 31 2c 0a 09 4c 4f 43 41 4c 45 5f 53 45 4e 001,..LOCALE_SEN
0c30: 47 43 4f 55 4e 54 52 59 20 20 20 20 20 20 20 20 GCOUNTRY
0c40: 20 20 3d 20 30 78 31 30 30 32 2c 0a 09 4c 4f 43 = 0x1002,..LOC
0c50: 41 4c 45 5f 49 44 45 46 41 55 4c 54 41 4e 53 49 ALE_IDEFAULTANSI
0c60: 43 4f 44 45 50 41 47 45 20 3d 20 30 78 31 30 30 CODEPAGE = 0x100
0c70: 34 2c 0a 09 4c 4f 43 41 4c 45 5f 49 4e 45 47 4e 4,..LOCALE_INEGN
0c80: 55 4d 42 45 52 20 20 20 20 20 20 20 20 20 20 20 UMBER
0c90: 3d 20 30 78 31 30 31 30 2c 0a 09 4c 4f 43 41 4c = 0x1010,..LOCAL
0ca0: 45 5f 53 54 49 4d 45 46 4f 52 4d 41 54 20 20 20 E_STIMEFORMAT
0cb0: 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 33 2c = 0x1003,
0cc0: 0a 09 4c 4f 43 41 4c 45 5f 49 54 49 4d 45 4d 41 ..LOCALE_ITIMEMA
0cd0: 52 4b 50 4f 53 4e 20 20 20 20 20 20 20 20 3d 20 RKPOSN =
0ce0: 30 78 31 30 30 35 2c 0a 09 4c 4f 43 41 4c 45 5f 0x1005,..LOCALE_
0cf0: 49 43 41 4c 45 4e 44 41 52 54 59 50 45 20 20 20 ICALENDARTYPE
0d00: 20 20 20 20 20 3d 20 30 78 31 30 30 39 2c 0a 09 = 0x1009,..
0d10: 4c 4f 43 41 4c 45 5f 49 4f 50 54 49 4f 4e 41 4c LOCALE_IOPTIONAL
0d20: 43 41 4c 45 4e 44 41 52 20 20 20 20 3d 20 30 78 CALENDAR = 0x
0d30: 31 30 30 42 2c 0a 09 4c 4f 43 41 4c 45 5f 49 46 100B,..LOCALE_IF
0d40: 49 52 53 54 44 41 59 4f 46 57 45 45 4b 20 20 20 IRSTDAYOFWEEK
0d50: 20 20 20 3d 20 30 78 31 30 30 43 2c 0a 09 4c 4f = 0x100C,..LO
0d60: 43 41 4c 45 5f 49 46 49 52 53 54 57 45 45 4b 4f CALE_IFIRSTWEEKO
0d70: 46 59 45 41 52 20 20 20 20 20 3d 20 30 78 31 30 FYEAR = 0x10
0d80: 30 44 2c 0a 09 4c 4f 43 41 4c 45 5f 53 4d 4f 4e 0D,..LOCALE_SMON
0d90: 54 48 4e 41 4d 45 31 33 20 20 20 20 20 20 20 20 THNAME13
0da0: 20 3d 20 30 78 31 30 30 45 2c 0a 09 4c 4f 43 41 = 0x100E,..LOCA
0db0: 4c 45 5f 53 41 42 42 52 45 56 4d 4f 4e 54 48 4e LE_SABBREVMONTHN
0dc0: 41 4d 45 31 33 20 20 20 3d 20 30 78 31 30 30 46 AME13 = 0x100F
0dd0: 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 4c 43 49 44 20 .}..enum : LCID
0de0: 7b 0a 09 4c 4f 43 41 4c 45 5f 55 53 45 52 5f 44 {..LOCALE_USER_D
0df0: 45 46 41 55 4c 54 20 20 20 3d 20 30 78 34 30 30 EFAULT = 0x400
0e00: 2c 0a 09 4c 4f 43 41 4c 45 5f 53 59 53 54 45 4d ,..LOCALE_SYSTEM
0e10: 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 38 30 30 _DEFAULT = 0x800
0e20: 0a 7d 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a .}..const DWORD.
0e30: 09 4e 4f 52 4d 5f 49 47 4e 4f 52 45 43 41 53 45 .NORM_IGNORECASE
0e40: 20 20 20 20 20 3d 20 20 20 20 20 20 20 31 2c 0a = 1,.
0e50: 09 4e 4f 52 4d 5f 49 47 4e 4f 52 45 4e 4f 4e 53 .NORM_IGNORENONS
0e60: 50 41 43 45 20 3d 20 20 20 20 20 20 20 32 2c 0a PACE = 2,.
0e70: 09 4e 4f 52 4d 5f 49 47 4e 4f 52 45 53 59 4d 42 .NORM_IGNORESYMB
0e80: 4f 4c 53 20 20 3d 20 20 20 20 20 20 20 34 2c 0a OLS = 4,.
0e90: 09 53 4f 52 54 5f 53 54 52 49 4e 47 53 4f 52 54 .SORT_STRINGSORT
0ea0: 20 20 20 20 20 3d 20 30 78 30 31 30 30 30 2c 0a = 0x01000,.
0eb0: 09 4e 4f 52 4d 5f 49 47 4e 4f 52 45 4b 41 4e 41 .NORM_IGNOREKANA
0ec0: 54 59 50 45 20 3d 20 30 78 31 30 30 30 30 2c 0a TYPE = 0x10000,.
0ed0: 09 4e 4f 52 4d 5f 49 47 4e 4f 52 45 57 49 44 54 .NORM_IGNOREWIDT
0ee0: 48 20 20 20 20 3d 20 30 78 32 30 30 30 30 3b 0a H = 0x20000;.
0ef0: 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 4c 43 .const DWORD..LC
0f00: 4d 41 50 5f 4c 4f 57 45 52 43 41 53 45 20 20 20 MAP_LOWERCASE
0f10: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
0f20: 30 31 30 30 2c 0a 09 4c 43 4d 41 50 5f 55 50 50 0100,..LCMAP_UPP
0f30: 45 52 43 41 53 45 20 20 20 20 20 20 20 20 20 20 ERCASE
0f40: 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c 0a 09 = 0x00000200,..
0f50: 4c 43 4d 41 50 5f 53 4f 52 54 4b 45 59 20 20 20 LCMAP_SORTKEY
0f60: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00
0f70: 30 30 30 34 30 30 2c 0a 09 4c 43 4d 41 50 5f 42 000400,..LCMAP_B
0f80: 59 54 45 52 45 56 20 20 20 20 20 20 20 20 20 20 YTEREV
0f90: 20 20 20 3d 20 30 78 30 30 30 30 30 38 30 30 2c = 0x00000800,
0fa0: 0a 09 4c 43 4d 41 50 5f 48 49 52 41 47 41 4e 41 ..LCMAP_HIRAGANA
0fb0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
0fc0: 30 30 31 30 30 30 30 30 2c 0a 09 4c 43 4d 41 50 00100000,..LCMAP
0fd0: 5f 4b 41 54 41 4b 41 4e 41 20 20 20 20 20 20 20 _KATAKANA
0fe0: 20 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 = 0x0020000
0ff0: 30 2c 0a 09 4c 43 4d 41 50 5f 48 41 4c 46 57 49 0,..LCMAP_HALFWI
1000: 44 54 48 20 20 20 20 20 20 20 20 20 20 20 3d 20 DTH =
1010: 30 78 30 30 34 30 30 30 30 30 2c 0a 09 4c 43 4d 0x00400000,..LCM
1020: 41 50 5f 46 55 4c 4c 57 49 44 54 48 20 20 20 20 AP_FULLWIDTH
1030: 20 20 20 20 20 20 20 3d 20 30 78 30 30 38 30 30 = 0x00800
1040: 30 30 30 2c 0a 09 4c 43 4d 41 50 5f 4c 49 4e 47 000,..LCMAP_LING
1050: 55 49 53 54 49 43 5f 43 41 53 49 4e 47 20 20 20 UISTIC_CASING
1060: 3d 20 30 78 30 31 30 30 30 30 30 30 2c 0a 09 4c = 0x01000000,..L
1070: 43 4d 41 50 5f 53 49 4d 50 4c 49 46 49 45 44 5f CMAP_SIMPLIFIED_
1080: 43 48 49 4e 45 53 45 20 20 3d 20 30 78 30 32 30 CHINESE = 0x020
1090: 30 30 30 30 30 2c 0a 09 4c 43 4d 41 50 5f 54 52 00000,..LCMAP_TR
10a0: 41 44 49 54 49 4f 4e 41 4c 5f 43 48 49 4e 45 53 ADITIONAL_CHINES
10b0: 45 20 3d 20 30 78 30 34 30 30 30 30 30 30 3b 0a E = 0x04000000;.
10c0: 0a 63 6f 6e 73 74 20 43 41 4c 49 44 20 45 4e 55 .const CALID ENU
10d0: 4d 5f 41 4c 4c 5f 43 41 4c 45 4e 44 41 52 53 20 M_ALL_CALENDARS
10e0: 3d 20 2d 31 3b 0a 0a 63 6f 6e 73 74 20 44 57 4f = -1;..const DWO
10f0: 52 44 0a 09 44 41 54 45 5f 53 48 4f 52 54 44 41 RD..DATE_SHORTDA
1100: 54 45 20 20 20 20 20 20 20 20 3d 20 20 20 20 20 TE =
1110: 20 20 20 20 20 31 2c 0a 09 44 41 54 45 5f 4c 4f 1,..DATE_LO
1120: 4e 47 44 41 54 45 20 20 20 20 20 20 20 20 20 3d NGDATE =
1130: 20 20 20 20 20 20 20 20 20 20 32 2c 0a 09 44 41 2,..DA
1140: 54 45 5f 55 53 45 5f 41 4c 54 5f 43 41 4c 45 4e TE_USE_ALT_CALEN
1150: 44 41 52 20 3d 20 20 20 20 20 20 20 20 20 20 34 DAR = 4
1160: 2c 0a 09 4c 4f 43 41 4c 45 5f 4e 4f 55 53 45 52 ,..LOCALE_NOUSER
1170: 4f 56 45 52 52 49 44 45 20 3d 20 30 78 38 30 30 OVERRIDE = 0x800
1180: 30 30 30 30 30 3b 0a 0a 65 6e 75 6d 20 3a 20 44 00000;..enum : D
1190: 57 4f 52 44 20 7b 0a 09 43 50 5f 49 4e 53 54 41 WORD {..CP_INSTA
11a0: 4c 4c 45 44 20 3d 20 31 2c 0a 09 43 50 5f 53 55 LLED = 1,..CP_SU
11b0: 50 50 4f 52 54 45 44 0a 7d 0a 0a 65 6e 75 6d 20 PPORTED.}..enum
11c0: 3a 20 44 57 4f 52 44 20 7b 0a 09 4c 43 49 44 5f : DWORD {..LCID_
11d0: 49 4e 53 54 41 4c 4c 45 44 20 20 20 20 20 20 20 INSTALLED
11e0: 3d 20 31 2c 0a 09 4c 43 49 44 5f 53 55 50 50 4f = 1,..LCID_SUPPO
11f0: 52 54 45 44 20 20 20 20 20 20 20 3d 20 32 2c 0a RTED = 2,.
1200: 09 4c 43 49 44 5f 41 4c 54 45 52 4e 41 54 45 5f .LCID_ALTERNATE_
1210: 53 4f 52 54 53 20 3d 20 34 0a 7d 0a 0a 63 6f 6e SORTS = 4.}..con
1220: 73 74 20 44 57 4f 52 44 0a 09 4d 41 50 5f 46 4f st DWORD..MAP_FO
1230: 4c 44 43 5a 4f 4e 45 20 20 20 3d 20 20 31 36 2c LDCZONE = 16,
1240: 0a 09 4d 41 50 5f 50 52 45 43 4f 4d 50 4f 53 45 ..MAP_PRECOMPOSE
1250: 44 20 3d 20 20 33 32 2c 0a 09 4d 41 50 5f 43 4f D = 32,..MAP_CO
1260: 4d 50 4f 53 49 54 45 20 20 20 3d 20 20 36 34 2c MPOSITE = 64,
1270: 0a 09 4d 41 50 5f 46 4f 4c 44 44 49 47 49 54 53 ..MAP_FOLDDIGITS
1280: 20 20 3d 20 31 32 38 3b 0a 0a 65 6e 75 6d 20 3a = 128;..enum :
1290: 20 55 49 4e 54 20 7b 0a 09 43 50 5f 41 43 50 2c UINT {..CP_ACP,
12a0: 0a 09 43 50 5f 4f 45 4d 43 50 2c 0a 09 43 50 5f ..CP_OEMCP,..CP_
12b0: 4d 41 43 43 50 2c 0a 09 43 50 5f 54 48 52 45 41 MACCP,..CP_THREA
12c0: 44 5f 41 43 50 2c 20 2f 2f 20 3d 20 20 20 20 20 D_ACP, // =
12d0: 33 0a 09 43 50 5f 53 59 4d 42 4f 4c 20 20 20 20 3..CP_SYMBOL
12e0: 20 20 20 20 20 3d 20 20 20 20 34 32 2c 0a 09 43 = 42,..C
12f0: 50 5f 55 54 46 37 20 20 20 20 20 20 20 20 20 20 P_UTF7
1300: 20 3d 20 36 35 30 30 30 2c 0a 09 43 50 5f 55 54 = 65000,..CP_UT
1310: 46 38 20 20 20 20 20 20 20 20 20 20 20 3d 20 36 F8 = 6
1320: 35 30 30 31 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 5001.}..enum : D
1330: 57 4f 52 44 20 7b 0a 09 43 54 5f 43 54 59 50 45 WORD {..CT_CTYPE
1340: 31 20 3d 20 31 2c 0a 09 43 54 5f 43 54 59 50 45 1 = 1,..CT_CTYPE
1350: 32 20 3d 20 32 2c 0a 09 43 54 5f 43 54 59 50 45 2 = 2,..CT_CTYPE
1360: 33 20 3d 20 34 0a 7d 0a 0a 63 6f 6e 73 74 20 57 3 = 4.}..const W
1370: 4f 52 44 0a 09 43 31 5f 55 50 50 45 52 20 20 3d ORD..C1_UPPER =
1380: 20 20 20 31 2c 0a 09 43 31 5f 4c 4f 57 45 52 20 1,..C1_LOWER
1390: 20 3d 20 20 20 32 2c 0a 09 43 31 5f 44 49 47 49 = 2,..C1_DIGI
13a0: 54 20 20 3d 20 20 20 34 2c 0a 09 43 31 5f 53 50 T = 4,..C1_SP
13b0: 41 43 45 20 20 3d 20 20 20 38 2c 0a 09 43 31 5f ACE = 8,..C1_
13c0: 50 55 4e 43 54 20 20 3d 20 20 31 36 2c 0a 09 43 PUNCT = 16,..C
13d0: 31 5f 43 4e 54 52 4c 20 20 3d 20 20 33 32 2c 0a 1_CNTRL = 32,.
13e0: 09 43 31 5f 42 4c 41 4e 4b 20 20 3d 20 20 36 34 .C1_BLANK = 64
13f0: 2c 0a 09 43 31 5f 58 44 49 47 49 54 20 3d 20 31 ,..C1_XDIGIT = 1
1400: 32 38 2c 0a 09 43 31 5f 41 4c 50 48 41 20 20 3d 28,..C1_ALPHA =
1410: 20 32 35 36 3b 0a 0a 65 6e 75 6d 20 3a 20 57 4f 256;..enum : WO
1420: 52 44 20 7b 0a 09 43 32 5f 4e 4f 54 41 50 50 4c RD {..C2_NOTAPPL
1430: 49 43 41 42 4c 45 2c 0a 09 43 32 5f 4c 45 46 54 ICABLE,..C2_LEFT
1440: 54 4f 52 49 47 48 54 2c 0a 09 43 32 5f 52 49 47 TORIGHT,..C2_RIG
1450: 48 54 54 4f 4c 45 46 54 2c 0a 09 43 32 5f 45 55 HTTOLEFT,..C2_EU
1460: 52 4f 50 45 4e 55 4d 42 45 52 2c 0a 09 43 32 5f ROPENUMBER,..C2_
1470: 45 55 52 4f 50 45 53 45 50 41 52 41 54 4f 52 2c EUROPESEPARATOR,
1480: 0a 09 43 32 5f 45 55 52 4f 50 45 54 45 52 4d 49 ..C2_EUROPETERMI
1490: 4e 41 54 4f 52 2c 0a 09 43 32 5f 41 52 41 42 49 NATOR,..C2_ARABI
14a0: 43 4e 55 4d 42 45 52 2c 0a 09 43 32 5f 43 4f 4d CNUMBER,..C2_COM
14b0: 4d 4f 4e 53 45 50 41 52 41 54 4f 52 2c 0a 09 43 MONSEPARATOR,..C
14c0: 32 5f 42 4c 4f 43 4b 53 45 50 41 52 41 54 4f 52 2_BLOCKSEPARATOR
14d0: 2c 0a 09 43 32 5f 53 45 47 4d 45 4e 54 53 45 50 ,..C2_SEGMENTSEP
14e0: 41 52 41 54 4f 52 2c 0a 09 43 32 5f 57 48 49 54 ARATOR,..C2_WHIT
14f0: 45 53 50 41 43 45 2c 0a 09 43 32 5f 4f 54 48 45 ESPACE,..C2_OTHE
1500: 52 4e 45 55 54 52 41 4c 20 20 2f 2f 20 3d 20 31 RNEUTRAL // = 1
1510: 31 0a 7d 0a 0a 63 6f 6e 73 74 20 57 4f 52 44 0a 1.}..const WORD.
1520: 09 43 33 5f 4e 4f 54 41 50 50 4c 49 43 41 42 4c .C3_NOTAPPLICABL
1530: 45 20 3d 20 20 20 20 20 20 30 2c 0a 09 43 33 5f E = 0,..C3_
1540: 4e 4f 4e 53 50 41 43 49 4e 47 20 20 20 20 3d 20 NONSPACING =
1550: 20 20 20 20 20 31 2c 0a 09 43 33 5f 44 49 41 43 1,..C3_DIAC
1560: 52 49 54 49 43 20 20 20 20 20 3d 20 20 20 20 20 RITIC =
1570: 20 32 2c 0a 09 43 33 5f 56 4f 57 45 4c 4d 41 52 2,..C3_VOWELMAR
1580: 4b 20 20 20 20 20 3d 20 20 20 20 20 20 34 2c 0a K = 4,.
1590: 09 43 33 5f 53 59 4d 42 4f 4c 20 20 20 20 20 20 .C3_SYMBOL
15a0: 20 20 3d 20 20 20 20 20 20 38 2c 0a 09 43 33 5f = 8,..C3_
15b0: 4b 41 54 41 4b 41 4e 41 20 20 20 20 20 20 3d 20 KATAKANA =
15c0: 30 78 30 30 31 30 2c 0a 09 43 33 5f 48 49 52 41 0x0010,..C3_HIRA
15d0: 47 41 4e 41 20 20 20 20 20 20 3d 20 30 78 30 30 GANA = 0x00
15e0: 32 30 2c 0a 09 43 33 5f 48 41 4c 46 57 49 44 54 20,..C3_HALFWIDT
15f0: 48 20 20 20 20 20 3d 20 30 78 30 30 34 30 2c 0a H = 0x0040,.
1600: 09 43 33 5f 46 55 4c 4c 57 49 44 54 48 20 20 20 .C3_FULLWIDTH
1610: 20 20 3d 20 30 78 30 30 38 30 2c 0a 09 43 33 5f = 0x0080,..C3_
1620: 49 44 45 4f 47 52 41 50 48 20 20 20 20 20 3d 20 IDEOGRAPH =
1630: 30 78 30 31 30 30 2c 0a 09 43 33 5f 4b 41 53 48 0x0100,..C3_KASH
1640: 49 44 41 20 20 20 20 20 20 20 3d 20 30 78 30 32 IDA = 0x02
1650: 30 30 2c 0a 09 43 33 5f 4c 45 58 49 43 41 4c 20 00,..C3_LEXICAL
1660: 20 20 20 20 20 20 3d 20 30 78 30 34 30 30 2c 0a = 0x0400,.
1670: 09 43 33 5f 41 4c 50 48 41 20 20 20 20 20 20 20 .C3_ALPHA
1680: 20 20 3d 20 30 78 38 30 30 30 3b 0a 0a 63 6f 6e = 0x8000;..con
1690: 73 74 20 44 57 4f 52 44 0a 09 54 49 4d 45 5f 4e st DWORD..TIME_N
16a0: 4f 4d 49 4e 55 54 45 53 4f 52 53 45 43 4f 4e 44 OMINUTESORSECOND
16b0: 53 20 3d 20 31 2c 0a 09 54 49 4d 45 5f 4e 4f 53 S = 1,..TIME_NOS
16c0: 45 43 4f 4e 44 53 20 20 20 20 20 20 20 20 20 20 ECONDS
16d0: 3d 20 32 2c 0a 09 54 49 4d 45 5f 4e 4f 54 49 4d = 2,..TIME_NOTIM
16e0: 45 4d 41 52 4b 45 52 20 20 20 20 20 20 20 3d 20 EMARKER =
16f0: 34 2c 0a 09 54 49 4d 45 5f 46 4f 52 43 45 32 34 4,..TIME_FORCE24
1700: 48 4f 55 52 46 4f 52 4d 41 54 20 20 3d 20 38 3b HOURFORMAT = 8;
1710: 0a 0a 63 6f 6e 73 74 20 44 57 4f 52 44 0a 09 4d ..const DWORD..M
1720: 42 5f 50 52 45 43 4f 4d 50 4f 53 45 44 20 20 20 B_PRECOMPOSED
1730: 20 20 20 20 3d 20 31 2c 0a 09 4d 42 5f 43 4f 4d = 1,..MB_COM
1740: 50 4f 53 49 54 45 20 20 20 20 20 20 20 20 20 3d POSITE =
1750: 20 32 2c 0a 09 4d 42 5f 55 53 45 47 4c 59 50 48 2,..MB_USEGLYPH
1760: 43 48 41 52 53 20 20 20 20 20 3d 20 34 2c 0a 09 CHARS = 4,..
1770: 4d 42 5f 45 52 52 5f 49 4e 56 41 4c 49 44 5f 43 MB_ERR_INVALID_C
1780: 48 41 52 53 20 3d 20 38 3b 0a 0a 63 6f 6e 73 74 HARS = 8;..const
1790: 20 44 57 4f 52 44 0a 09 57 43 5f 44 49 53 43 41 DWORD..WC_DISCA
17a0: 52 44 4e 53 20 20 20 20 20 20 3d 20 20 31 36 2c RDNS = 16,
17b0: 0a 09 57 43 5f 53 45 50 43 48 41 52 53 20 20 20 ..WC_SEPCHARS
17c0: 20 20 20 20 3d 20 20 33 32 2c 0a 09 57 43 5f 44 = 32,..WC_D
17d0: 45 46 41 55 4c 54 43 48 41 52 20 20 20 20 3d 20 EFAULTCHAR =
17e0: 20 36 34 2c 0a 09 57 43 5f 43 4f 4d 50 4f 53 49 64,..WC_COMPOSI
17f0: 54 45 43 48 45 43 4b 20 3d 20 35 31 32 3b 0a 0a TECHECK = 512;..
1800: 65 6e 75 6d 20 3a 20 4c 4f 4e 47 20 7b 0a 09 43 enum : LONG {..C
1810: 54 52 59 5f 44 45 46 41 55 4c 54 20 20 20 20 20 TRY_DEFAULT
1820: 20 20 20 20 20 20 20 3d 20 20 20 30 2c 0a 09 43 = 0,..C
1830: 54 52 59 5f 44 4f 4d 49 4e 49 43 41 4e 5f 52 45 TRY_DOMINICAN_RE
1840: 50 55 42 4c 49 43 20 3d 20 20 20 31 2c 0a 09 43 PUBLIC = 1,..C
1850: 54 52 59 5f 50 55 45 52 54 4f 5f 52 49 43 4f 20 TRY_PUERTO_RICO
1860: 20 20 20 20 20 20 20 3d 20 20 20 31 2c 0a 09 43 = 1,..C
1870: 54 52 59 5f 43 41 52 49 42 42 45 41 4e 20 20 20 TRY_CARIBBEAN
1880: 20 20 20 20 20 20 20 3d 20 20 20 31 2c 0a 09 43 = 1,..C
1890: 54 52 59 5f 4a 41 4d 41 49 43 41 20 20 20 20 20 TRY_JAMAICA
18a0: 20 20 20 20 20 20 20 3d 20 20 20 31 2c 0a 09 43 = 1,..C
18b0: 54 52 59 5f 55 4e 49 54 45 44 5f 53 54 41 54 45 TRY_UNITED_STATE
18c0: 53 20 20 20 20 20 20 3d 20 20 20 31 2c 0a 09 43 S = 1,..C
18d0: 54 52 59 5f 54 52 49 4e 49 44 41 44 5f 59 5f 54 TRY_TRINIDAD_Y_T
18e0: 4f 42 41 47 4f 20 20 3d 20 20 20 31 2c 0a 09 43 OBAGO = 1,..C
18f0: 54 52 59 5f 43 41 4e 41 44 41 20 20 20 20 20 20 TRY_CANADA
1900: 20 20 20 20 20 20 20 3d 20 20 20 32 2c 0a 09 43 = 2,..C
1910: 54 52 59 5f 52 55 53 53 49 41 20 20 20 20 20 20 TRY_RUSSIA
1920: 20 20 20 20 20 20 20 3d 20 20 20 37 2c 0a 09 43 = 7,..C
1930: 54 52 59 5f 55 5a 42 45 4b 49 53 54 41 4e 20 20 TRY_UZBEKISTAN
1940: 20 20 20 20 20 20 20 3d 20 20 20 37 2c 0a 09 43 = 7,..C
1950: 54 52 59 5f 4b 41 5a 41 4b 53 54 41 4e 20 20 20 TRY_KAZAKSTAN
1960: 20 20 20 20 20 20 20 3d 20 20 20 37 2c 0a 09 43 = 7,..C
1970: 54 52 59 5f 54 41 54 41 52 53 54 41 4e 20 20 20 TRY_TATARSTAN
1980: 20 20 20 20 20 20 20 3d 20 20 20 37 2c 0a 09 43 = 7,..C
1990: 54 52 59 5f 45 47 59 50 54 20 20 20 20 20 20 20 TRY_EGYPT
19a0: 20 20 20 20 20 20 20 3d 20 20 32 30 2c 0a 09 43 = 20,..C
19b0: 54 52 59 5f 53 4f 55 54 48 5f 41 46 52 49 43 41 TRY_SOUTH_AFRICA
19c0: 20 20 20 20 20 20 20 3d 20 20 32 37 2c 0a 09 43 = 27,..C
19d0: 54 52 59 5f 47 52 45 45 43 45 20 20 20 20 20 20 TRY_GREECE
19e0: 20 20 20 20 20 20 20 3d 20 20 33 30 2c 0a 09 43 = 30,..C
19f0: 54 52 59 5f 4e 45 54 48 45 52 4c 41 4e 44 53 20 TRY_NETHERLANDS
1a00: 20 20 20 20 20 20 20 3d 20 20 33 31 2c 0a 09 43 = 31,..C
1a10: 54 52 59 5f 42 45 4c 47 49 55 4d 20 20 20 20 20 TRY_BELGIUM
1a20: 20 20 20 20 20 20 20 3d 20 20 33 32 2c 0a 09 43 = 32,..C
1a30: 54 52 59 5f 46 52 41 4e 43 45 20 20 20 20 20 20 TRY_FRANCE
1a40: 20 20 20 20 20 20 20 3d 20 20 33 33 2c 0a 09 43 = 33,..C
1a50: 54 52 59 5f 4d 4f 4e 41 43 4f 20 20 20 20 20 20 TRY_MONACO
1a60: 20 20 20 20 20 20 20 3d 20 20 33 33 2c 0a 09 43 = 33,..C
1a70: 54 52 59 5f 53 50 41 49 4e 20 20 20 20 20 20 20 TRY_SPAIN
1a80: 20 20 20 20 20 20 20 3d 20 20 33 34 2c 0a 09 43 = 34,..C
1a90: 54 52 59 5f 48 55 4e 47 41 52 59 20 20 20 20 20 TRY_HUNGARY
1aa0: 20 20 20 20 20 20 20 3d 20 20 33 36 2c 0a 09 43 = 36,..C
1ab0: 54 52 59 5f 49 54 41 4c 59 20 20 20 20 20 20 20 TRY_ITALY
1ac0: 20 20 20 20 20 20 20 3d 20 20 33 39 2c 0a 09 43 = 39,..C
1ad0: 54 52 59 5f 52 4f 4d 41 4e 49 41 20 20 20 20 20 TRY_ROMANIA
1ae0: 20 20 20 20 20 20 20 3d 20 20 34 30 2c 0a 09 43 = 40,..C
1af0: 54 52 59 5f 53 57 49 54 5a 45 52 4c 41 4e 44 20 TRY_SWITZERLAND
1b00: 20 20 20 20 20 20 20 3d 20 20 34 31 2c 0a 09 43 = 41,..C
1b10: 54 52 59 5f 4c 49 45 43 48 54 45 4e 53 54 45 49 TRY_LIECHTENSTEI
1b20: 4e 20 20 20 20 20 20 3d 20 20 34 31 2c 0a 09 43 N = 41,..C
1b30: 54 52 59 5f 41 55 53 54 52 49 41 20 20 20 20 20 TRY_AUSTRIA
1b40: 20 20 20 20 20 20 20 3d 20 20 34 33 2c 0a 09 43 = 43,..C
1b50: 54 52 59 5f 55 4e 49 54 45 44 5f 4b 49 4e 47 44 TRY_UNITED_KINGD
1b60: 4f 4d 20 20 20 20 20 3d 20 20 34 34 2c 0a 09 43 OM = 44,..C
1b70: 54 52 59 5f 44 45 4e 4d 41 52 4b 20 20 20 20 20 TRY_DENMARK
1b80: 20 20 20 20 20 20 20 3d 20 20 34 35 2c 0a 09 43 = 45,..C
1b90: 54 52 59 5f 53 57 45 44 45 4e 20 20 20 20 20 20 TRY_SWEDEN
1ba0: 20 20 20 20 20 20 20 3d 20 20 34 36 2c 0a 09 43 = 46,..C
1bb0: 54 52 59 5f 4e 4f 52 57 41 59 20 20 20 20 20 20 TRY_NORWAY
1bc0: 20 20 20 20 20 20 20 3d 20 20 34 37 2c 0a 09 43 = 47,..C
1bd0: 54 52 59 5f 50 4f 4c 41 4e 44 20 20 20 20 20 20 TRY_POLAND
1be0: 20 20 20 20 20 20 20 3d 20 20 34 38 2c 0a 09 43 = 48,..C
1bf0: 54 52 59 5f 47 45 52 4d 41 4e 59 20 20 20 20 20 TRY_GERMANY
1c00: 20 20 20 20 20 20 20 3d 20 20 34 39 2c 0a 09 43 = 49,..C
1c10: 54 52 59 5f 50 45 52 55 20 20 20 20 20 20 20 20 TRY_PERU
1c20: 20 20 20 20 20 20 20 3d 20 20 35 31 2c 0a 09 43 = 51,..C
1c30: 54 52 59 5f 4d 45 58 49 43 4f 20 20 20 20 20 20 TRY_MEXICO
1c40: 20 20 20 20 20 20 20 3d 20 20 35 32 2c 0a 09 43 = 52,..C
1c50: 54 52 59 5f 41 52 47 45 4e 54 49 4e 41 20 20 20 TRY_ARGENTINA
1c60: 20 20 20 20 20 20 20 3d 20 20 35 34 2c 0a 09 43 = 54,..C
1c70: 54 52 59 5f 42 52 41 5a 49 4c 20 20 20 20 20 20 TRY_BRAZIL
1c80: 20 20 20 20 20 20 20 3d 20 20 35 35 2c 0a 09 43 = 55,..C
1c90: 54 52 59 5f 43 48 49 4c 45 20 20 20 20 20 20 20 TRY_CHILE
1ca0: 20 20 20 20 20 20 20 3d 20 20 35 36 2c 0a 09 43 = 56,..C
1cb0: 54 52 59 5f 43 4f 4c 4f 4d 42 49 41 20 20 20 20 TRY_COLOMBIA
1cc0: 20 20 20 20 20 20 20 3d 20 20 35 37 2c 0a 09 43 = 57,..C
1cd0: 54 52 59 5f 56 45 4e 45 5a 55 45 4c 41 20 20 20 TRY_VENEZUELA
1ce0: 20 20 20 20 20 20 20 3d 20 20 35 38 2c 0a 09 43 = 58,..C
1cf0: 54 52 59 5f 4d 41 4c 41 59 53 49 41 20 20 20 20 TRY_MALAYSIA
1d00: 20 20 20 20 20 20 20 3d 20 20 36 30 2c 0a 09 43 = 60,..C
1d10: 54 52 59 5f 41 55 53 54 52 41 4c 49 41 20 20 20 TRY_AUSTRALIA
1d20: 20 20 20 20 20 20 20 3d 20 20 36 31 2c 0a 09 43 = 61,..C
1d30: 54 52 59 5f 49 4e 44 4f 4e 45 53 49 41 20 20 20 TRY_INDONESIA
1d40: 20 20 20 20 20 20 20 3d 20 20 36 32 2c 0a 09 43 = 62,..C
1d50: 54 52 59 5f 50 48 49 4c 49 50 50 49 4e 45 53 20 TRY_PHILIPPINES
1d60: 20 20 20 20 20 20 20 3d 20 20 36 33 2c 0a 09 43 = 63,..C
1d70: 54 52 59 5f 4e 45 57 5f 5a 45 41 4c 41 4e 44 20 TRY_NEW_ZEALAND
1d80: 20 20 20 20 20 20 20 3d 20 20 36 34 2c 0a 09 43 = 64,..C
1d90: 54 52 59 5f 53 49 4e 47 41 50 4f 52 45 20 20 20 TRY_SINGAPORE
1da0: 20 20 20 20 20 20 20 3d 20 20 36 35 2c 0a 09 43 = 65,..C
1db0: 54 52 59 5f 54 48 41 49 4c 41 4e 44 20 20 20 20 TRY_THAILAND
1dc0: 20 20 20 20 20 20 20 3d 20 20 36 36 2c 0a 09 43 = 66,..C
1dd0: 54 52 59 5f 4a 41 50 41 4e 20 20 20 20 20 20 20 TRY_JAPAN
1de0: 20 20 20 20 20 20 20 3d 20 20 38 31 2c 0a 09 43 = 81,..C
1df0: 54 52 59 5f 53 4f 55 54 48 5f 4b 4f 52 45 41 20 TRY_SOUTH_KOREA
1e00: 20 20 20 20 20 20 20 3d 20 20 38 32 2c 0a 09 43 = 82,..C
1e10: 54 52 59 5f 56 49 45 54 5f 4e 41 4d 20 20 20 20 TRY_VIET_NAM
1e20: 20 20 20 20 20 20 20 3d 20 20 38 34 2c 0a 09 43 = 84,..C
1e30: 54 52 59 5f 50 52 43 48 49 4e 41 20 20 20 20 20 TRY_PRCHINA
1e40: 20 20 20 20 20 20 20 3d 20 20 38 36 2c 0a 09 43 = 86,..C
1e50: 54 52 59 5f 54 55 52 4b 45 59 20 20 20 20 20 20 TRY_TURKEY
1e60: 20 20 20 20 20 20 20 3d 20 20 39 30 2c 0a 09 43 = 90,..C
1e70: 54 52 59 5f 49 4e 44 49 41 20 20 20 20 20 20 20 TRY_INDIA
1e80: 20 20 20 20 20 20 20 3d 20 20 39 31 2c 0a 09 43 = 91,..C
1e90: 54 52 59 5f 50 41 4b 49 53 54 41 4e 20 20 20 20 TRY_PAKISTAN
1ea0: 20 20 20 20 20 20 20 3d 20 20 39 32 2c 0a 09 43 = 92,..C
1eb0: 54 52 59 5f 4d 4f 52 4f 43 43 4f 20 20 20 20 20 TRY_MOROCCO
1ec0: 20 20 20 20 20 20 20 3d 20 32 31 32 2c 0a 09 43 = 212,..C
1ed0: 54 52 59 5f 41 4c 47 45 52 49 41 20 20 20 20 20 TRY_ALGERIA
1ee0: 20 20 20 20 20 20 20 3d 20 32 31 33 2c 0a 09 43 = 213,..C
1ef0: 54 52 59 5f 54 55 4e 49 53 49 41 20 20 20 20 20 TRY_TUNISIA
1f00: 20 20 20 20 20 20 20 3d 20 32 31 36 2c 0a 09 43 = 216,..C
1f10: 54 52 59 5f 4c 49 42 59 41 20 20 20 20 20 20 20 TRY_LIBYA
1f20: 20 20 20 20 20 20 20 3d 20 32 31 38 2c 0a 09 43 = 218,..C
1f30: 54 52 59 5f 4b 45 4e 59 41 20 20 20 20 20 20 20 TRY_KENYA
1f40: 20 20 20 20 20 20 20 3d 20 32 35 34 2c 0a 09 43 = 254,..C
1f50: 54 52 59 5f 5a 49 4d 42 41 42 57 45 20 20 20 20 TRY_ZIMBABWE
1f60: 20 20 20 20 20 20 20 3d 20 32 36 33 2c 0a 09 43 = 263,..C
1f70: 54 52 59 5f 46 41 45 52 4f 45 5f 49 53 4c 41 4e TRY_FAEROE_ISLAN
1f80: 44 53 20 20 20 20 20 3d 20 32 39 38 2c 0a 09 43 DS = 298,..C
1f90: 54 52 59 5f 50 4f 52 54 55 47 41 4c 20 20 20 20 TRY_PORTUGAL
1fa0: 20 20 20 20 20 20 20 3d 20 33 35 31 2c 0a 09 43 = 351,..C
1fb0: 54 52 59 5f 4c 55 58 45 4d 42 4f 55 52 47 20 20 TRY_LUXEMBOURG
1fc0: 20 20 20 20 20 20 20 3d 20 33 35 32 2c 0a 09 43 = 352,..C
1fd0: 54 52 59 5f 49 52 45 4c 41 4e 44 20 20 20 20 20 TRY_IRELAND
1fe0: 20 20 20 20 20 20 20 3d 20 33 35 33 2c 0a 09 43 = 353,..C
1ff0: 54 52 59 5f 49 43 45 4c 41 4e 44 20 20 20 20 20 TRY_ICELAND
2000: 20 20 20 20 20 20 20 3d 20 33 35 34 2c 0a 09 43 = 354,..C
2010: 54 52 59 5f 41 4c 42 41 4e 49 41 20 20 20 20 20 TRY_ALBANIA
2020: 20 20 20 20 20 20 20 3d 20 33 35 35 2c 0a 09 43 = 355,..C
2030: 54 52 59 5f 46 49 4e 4c 41 4e 44 20 20 20 20 20 TRY_FINLAND
2040: 20 20 20 20 20 20 20 3d 20 33 35 38 2c 0a 09 43 = 358,..C
2050: 54 52 59 5f 42 55 4c 47 41 52 49 41 20 20 20 20 TRY_BULGARIA
2060: 20 20 20 20 20 20 20 3d 20 33 35 39 2c 0a 09 43 = 359,..C
2070: 54 52 59 5f 4c 49 54 48 55 41 4e 49 41 20 20 20 TRY_LITHUANIA
2080: 20 20 20 20 20 20 20 3d 20 33 37 30 2c 0a 09 43 = 370,..C
2090: 54 52 59 5f 4c 41 54 56 49 41 20 20 20 20 20 20 TRY_LATVIA
20a0: 20 20 20 20 20 20 20 3d 20 33 37 31 2c 0a 09 43 = 371,..C
20b0: 54 52 59 5f 45 53 54 4f 4e 49 41 20 20 20 20 20 TRY_ESTONIA
20c0: 20 20 20 20 20 20 20 3d 20 33 37 32 2c 0a 09 43 = 372,..C
20d0: 54 52 59 5f 41 52 4d 45 4e 49 41 20 20 20 20 20 TRY_ARMENIA
20e0: 20 20 20 20 20 20 20 3d 20 33 37 34 2c 0a 09 43 = 374,..C
20f0: 54 52 59 5f 42 45 4c 41 52 55 53 20 20 20 20 20 TRY_BELARUS
2100: 20 20 20 20 20 20 20 3d 20 33 37 35 2c 0a 09 43 = 375,..C
2110: 54 52 59 5f 55 4b 52 41 49 4e 45 20 20 20 20 20 TRY_UKRAINE
2120: 20 20 20 20 20 20 20 3d 20 33 38 30 2c 0a 09 43 = 380,..C
2130: 54 52 59 5f 53 45 52 42 49 41 20 20 20 20 20 20 TRY_SERBIA
2140: 20 20 20 20 20 20 20 3d 20 33 38 31 2c 0a 09 43 = 381,..C
2150: 54 52 59 5f 43 52 4f 41 54 49 41 20 20 20 20 20 TRY_CROATIA
2160: 20 20 20 20 20 20 20 3d 20 33 38 35 2c 0a 09 43 = 385,..C
2170: 54 52 59 5f 53 4c 4f 56 45 4e 49 41 20 20 20 20 TRY_SLOVENIA
2180: 20 20 20 20 20 20 20 3d 20 33 38 36 2c 0a 09 43 = 386,..C
2190: 54 52 59 5f 4d 41 43 45 44 4f 4e 49 41 20 20 20 TRY_MACEDONIA
21a0: 20 20 20 20 20 20 20 3d 20 33 38 39 2c 0a 09 43 = 389,..C
21b0: 54 52 59 5f 43 5a 45 43 48 20 20 20 20 20 20 20 TRY_CZECH
21c0: 20 20 20 20 20 20 20 3d 20 34 32 30 2c 0a 09 43 = 420,..C
21d0: 54 52 59 5f 53 4c 4f 56 41 4b 20 20 20 20 20 20 TRY_SLOVAK
21e0: 20 20 20 20 20 20 20 3d 20 34 32 31 2c 0a 09 43 = 421,..C
21f0: 54 52 59 5f 42 45 4c 49 5a 45 20 20 20 20 20 20 TRY_BELIZE
2200: 20 20 20 20 20 20 20 3d 20 35 30 31 2c 0a 09 43 = 501,..C
2210: 54 52 59 5f 47 55 41 54 45 4d 41 4c 41 20 20 20 TRY_GUATEMALA
2220: 20 20 20 20 20 20 20 3d 20 35 30 32 2c 0a 09 43 = 502,..C
2230: 54 52 59 5f 45 4c 5f 53 41 4c 56 41 44 4f 52 20 TRY_EL_SALVADOR
2240: 20 20 20 20 20 20 20 3d 20 35 30 33 2c 0a 09 43 = 503,..C
2250: 54 52 59 5f 48 4f 4e 44 55 52 41 53 20 20 20 20 TRY_HONDURAS
2260: 20 20 20 20 20 20 20 3d 20 35 30 34 2c 0a 09 43 = 504,..C
2270: 54 52 59 5f 4e 49 43 41 52 41 47 55 41 20 20 20 TRY_NICARAGUA
2280: 20 20 20 20 20 20 20 3d 20 35 30 35 2c 0a 09 43 = 505,..C
2290: 54 52 59 5f 43 4f 53 54 41 5f 52 49 43 41 20 20 TRY_COSTA_RICA
22a0: 20 20 20 20 20 20 20 3d 20 35 30 36 2c 0a 09 43 = 506,..C
22b0: 54 52 59 5f 50 41 4e 41 4d 41 20 20 20 20 20 20 TRY_PANAMA
22c0: 20 20 20 20 20 20 20 3d 20 35 30 37 2c 0a 09 43 = 507,..C
22d0: 54 52 59 5f 42 4f 4c 49 56 49 41 20 20 20 20 20 TRY_BOLIVIA
22e0: 20 20 20 20 20 20 20 3d 20 35 39 31 2c 0a 09 43 = 591,..C
22f0: 54 52 59 5f 45 43 55 41 44 4f 52 20 20 20 20 20 TRY_ECUADOR
2300: 20 20 20 20 20 20 20 3d 20 35 39 33 2c 0a 09 43 = 593,..C
2310: 54 52 59 5f 50 41 52 41 47 55 41 59 20 20 20 20 TRY_PARAGUAY
2320: 20 20 20 20 20 20 20 3d 20 35 39 35 2c 0a 09 43 = 595,..C
2330: 54 52 59 5f 55 52 55 47 55 41 59 20 20 20 20 20 TRY_URUGUAY
2340: 20 20 20 20 20 20 20 3d 20 35 39 38 2c 0a 09 43 = 598,..C
2350: 54 52 59 5f 42 52 55 4e 45 49 5f 44 41 52 55 53 TRY_BRUNEI_DARUS
2360: 53 41 4c 41 4d 20 20 3d 20 36 37 33 2c 0a 09 43 SALAM = 673,..C
2370: 54 52 59 5f 48 4f 4e 47 5f 4b 4f 4e 47 20 20 20 TRY_HONG_KONG
2380: 20 20 20 20 20 20 20 3d 20 38 35 32 2c 0a 09 43 = 852,..C
2390: 54 52 59 5f 4d 41 43 41 55 20 20 20 20 20 20 20 TRY_MACAU
23a0: 20 20 20 20 20 20 20 3d 20 38 35 33 2c 0a 09 43 = 853,..C
23b0: 54 52 59 5f 54 41 49 57 41 4e 20 20 20 20 20 20 TRY_TAIWAN
23c0: 20 20 20 20 20 20 20 3d 20 38 38 36 2c 0a 09 43 = 886,..C
23d0: 54 52 59 5f 4d 41 4c 44 49 56 45 53 20 20 20 20 TRY_MALDIVES
23e0: 20 20 20 20 20 20 20 3d 20 39 36 30 2c 0a 09 43 = 960,..C
23f0: 54 52 59 5f 4c 45 42 41 4e 4f 4e 20 20 20 20 20 TRY_LEBANON
2400: 20 20 20 20 20 20 20 3d 20 39 36 31 2c 0a 09 43 = 961,..C
2410: 54 52 59 5f 4a 4f 52 44 41 4e 20 20 20 20 20 20 TRY_JORDAN
2420: 20 20 20 20 20 20 20 3d 20 39 36 32 2c 0a 09 43 = 962,..C
2430: 54 52 59 5f 53 59 52 49 41 20 20 20 20 20 20 20 TRY_SYRIA
2440: 20 20 20 20 20 20 20 3d 20 39 36 33 2c 0a 09 43 = 963,..C
2450: 54 52 59 5f 49 52 41 51 20 20 20 20 20 20 20 20 TRY_IRAQ
2460: 20 20 20 20 20 20 20 3d 20 39 36 34 2c 0a 09 43 = 964,..C
2470: 54 52 59 5f 4b 55 57 41 49 54 20 20 20 20 20 20 TRY_KUWAIT
2480: 20 20 20 20 20 20 20 3d 20 39 36 35 2c 0a 09 43 = 965,..C
2490: 54 52 59 5f 53 41 55 44 49 5f 41 52 41 42 49 41 TRY_SAUDI_ARABIA
24a0: 20 20 20 20 20 20 20 3d 20 39 36 36 2c 0a 09 43 = 966,..C
24b0: 54 52 59 5f 59 45 4d 45 4e 20 20 20 20 20 20 20 TRY_YEMEN
24c0: 20 20 20 20 20 20 20 3d 20 39 36 37 2c 0a 09 43 = 967,..C
24d0: 54 52 59 5f 4f 4d 41 4e 20 20 20 20 20 20 20 20 TRY_OMAN
24e0: 20 20 20 20 20 20 20 3d 20 39 36 38 2c 0a 09 43 = 968,..C
24f0: 54 52 59 5f 55 41 45 20 20 20 20 20 20 20 20 20 TRY_UAE
2500: 20 20 20 20 20 20 20 3d 20 39 37 31 2c 0a 09 43 = 971,..C
2510: 54 52 59 5f 49 53 52 41 45 4c 20 20 20 20 20 20 TRY_ISRAEL
2520: 20 20 20 20 20 20 20 3d 20 39 37 32 2c 0a 09 43 = 972,..C
2530: 54 52 59 5f 42 41 48 52 41 49 4e 20 20 20 20 20 TRY_BAHRAIN
2540: 20 20 20 20 20 20 20 3d 20 39 37 33 2c 0a 09 43 = 973,..C
2550: 54 52 59 5f 51 41 54 41 52 20 20 20 20 20 20 20 TRY_QATAR
2560: 20 20 20 20 20 20 20 3d 20 39 37 34 2c 0a 09 43 = 974,..C
2570: 54 52 59 5f 4d 4f 4e 47 4f 4c 49 41 20 20 20 20 TRY_MONGOLIA
2580: 20 20 20 20 20 20 20 3d 20 39 37 36 2c 0a 09 43 = 976,..C
2590: 54 52 59 5f 49 52 41 4e 20 20 20 20 20 20 20 20 TRY_IRAN
25a0: 20 20 20 20 20 20 20 3d 20 39 38 31 2c 0a 09 43 = 981,..C
25b0: 54 52 59 5f 41 5a 45 52 42 41 49 4a 41 4e 20 20 TRY_AZERBAIJAN
25c0: 20 20 20 20 20 20 20 3d 20 39 39 34 2c 0a 09 43 = 994,..C
25d0: 54 52 59 5f 47 45 4f 52 47 49 41 20 20 20 20 20 TRY_GEORGIA
25e0: 20 20 20 20 20 20 20 3d 20 39 39 35 2c 0a 09 43 = 995,..C
25f0: 54 52 59 5f 4b 59 52 47 59 5a 53 54 41 4e 20 20 TRY_KYRGYZSTAN
2600: 20 20 20 20 20 20 20 3d 20 39 39 36 0a 7d 0a 0a = 996.}..
2610: 65 6e 75 6d 20 3a 20 43 41 4c 54 59 50 45 20 7b enum : CALTYPE {
2620: 0a 09 43 41 4c 5f 49 43 41 4c 49 4e 54 56 41 4c ..CAL_ICALINTVAL
2630: 55 45 20 20 20 20 20 20 20 20 20 20 3d 20 31 2c UE = 1,
2640: 0a 09 43 41 4c 5f 53 43 41 4c 4e 41 4d 45 2c 0a ..CAL_SCALNAME,.
2650: 09 43 41 4c 5f 49 59 45 41 52 4f 46 46 53 45 54 .CAL_IYEAROFFSET
2660: 52 41 4e 47 45 2c 0a 09 43 41 4c 5f 53 45 52 41 RANGE,..CAL_SERA
2670: 53 54 52 49 4e 47 2c 0a 09 43 41 4c 5f 53 53 48 STRING,..CAL_SSH
2680: 4f 52 54 44 41 54 45 2c 0a 09 43 41 4c 5f 53 4c ORTDATE,..CAL_SL
2690: 4f 4e 47 44 41 54 45 2c 0a 09 43 41 4c 5f 53 44 ONGDATE,..CAL_SD
26a0: 41 59 4e 41 4d 45 31 2c 0a 09 43 41 4c 5f 53 44 AYNAME1,..CAL_SD
26b0: 41 59 4e 41 4d 45 32 2c 0a 09 43 41 4c 5f 53 44 AYNAME2,..CAL_SD
26c0: 41 59 4e 41 4d 45 33 2c 0a 09 43 41 4c 5f 53 44 AYNAME3,..CAL_SD
26d0: 41 59 4e 41 4d 45 34 2c 0a 09 43 41 4c 5f 53 44 AYNAME4,..CAL_SD
26e0: 41 59 4e 41 4d 45 35 2c 0a 09 43 41 4c 5f 53 44 AYNAME5,..CAL_SD
26f0: 41 59 4e 41 4d 45 36 2c 0a 09 43 41 4c 5f 53 44 AYNAME6,..CAL_SD
2700: 41 59 4e 41 4d 45 37 2c 0a 09 43 41 4c 5f 53 41 AYNAME7,..CAL_SA
2710: 42 42 52 45 56 44 41 59 4e 41 4d 45 31 2c 0a 09 BBREVDAYNAME1,..
2720: 43 41 4c 5f 53 41 42 42 52 45 56 44 41 59 4e 41 CAL_SABBREVDAYNA
2730: 4d 45 32 2c 0a 09 43 41 4c 5f 53 41 42 42 52 45 ME2,..CAL_SABBRE
2740: 56 44 41 59 4e 41 4d 45 33 2c 0a 09 43 41 4c 5f VDAYNAME3,..CAL_
2750: 53 41 42 42 52 45 56 44 41 59 4e 41 4d 45 34 2c SABBREVDAYNAME4,
2760: 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 44 41 59 ..CAL_SABBREVDAY
2770: 4e 41 4d 45 35 2c 0a 09 43 41 4c 5f 53 41 42 42 NAME5,..CAL_SABB
2780: 52 45 56 44 41 59 4e 41 4d 45 36 2c 0a 09 43 41 REVDAYNAME6,..CA
2790: 4c 5f 53 41 42 42 52 45 56 44 41 59 4e 41 4d 45 L_SABBREVDAYNAME
27a0: 37 2c 0a 09 43 41 4c 5f 53 4d 4f 4e 54 48 4e 41 7,..CAL_SMONTHNA
27b0: 4d 45 31 2c 0a 09 43 41 4c 5f 53 4d 4f 4e 54 48 ME1,..CAL_SMONTH
27c0: 4e 41 4d 45 32 2c 0a 09 43 41 4c 5f 53 4d 4f 4e NAME2,..CAL_SMON
27d0: 54 48 4e 41 4d 45 33 2c 0a 09 43 41 4c 5f 53 4d THNAME3,..CAL_SM
27e0: 4f 4e 54 48 4e 41 4d 45 34 2c 0a 09 43 41 4c 5f ONTHNAME4,..CAL_
27f0: 53 4d 4f 4e 54 48 4e 41 4d 45 35 2c 0a 09 43 41 SMONTHNAME5,..CA
2800: 4c 5f 53 4d 4f 4e 54 48 4e 41 4d 45 36 2c 0a 09 L_SMONTHNAME6,..
2810: 43 41 4c 5f 53 4d 4f 4e 54 48 4e 41 4d 45 37 2c CAL_SMONTHNAME7,
2820: 0a 09 43 41 4c 5f 53 4d 4f 4e 54 48 4e 41 4d 45 ..CAL_SMONTHNAME
2830: 38 2c 0a 09 43 41 4c 5f 53 4d 4f 4e 54 48 4e 41 8,..CAL_SMONTHNA
2840: 4d 45 39 2c 0a 09 43 41 4c 5f 53 4d 4f 4e 54 48 ME9,..CAL_SMONTH
2850: 4e 41 4d 45 31 30 2c 0a 09 43 41 4c 5f 53 4d 4f NAME10,..CAL_SMO
2860: 4e 54 48 4e 41 4d 45 31 31 2c 0a 09 43 41 4c 5f NTHNAME11,..CAL_
2870: 53 4d 4f 4e 54 48 4e 41 4d 45 31 32 2c 0a 09 43 SMONTHNAME12,..C
2880: 41 4c 5f 53 4d 4f 4e 54 48 4e 41 4d 45 31 33 2c AL_SMONTHNAME13,
2890: 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 4d 4f 4e ..CAL_SABBREVMON
28a0: 54 48 4e 41 4d 45 31 2c 0a 09 43 41 4c 5f 53 41 THNAME1,..CAL_SA
28b0: 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 32 2c BBREVMONTHNAME2,
28c0: 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 4d 4f 4e ..CAL_SABBREVMON
28d0: 54 48 4e 41 4d 45 33 2c 0a 09 43 41 4c 5f 53 41 THNAME3,..CAL_SA
28e0: 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 34 2c BBREVMONTHNAME4,
28f0: 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 4d 4f 4e ..CAL_SABBREVMON
2900: 54 48 4e 41 4d 45 35 2c 0a 09 43 41 4c 5f 53 41 THNAME5,..CAL_SA
2910: 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 36 2c BBREVMONTHNAME6,
2920: 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 4d 4f 4e ..CAL_SABBREVMON
2930: 54 48 4e 41 4d 45 37 2c 0a 09 43 41 4c 5f 53 41 THNAME7,..CAL_SA
2940: 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 38 2c BBREVMONTHNAME8,
2950: 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 4d 4f 4e ..CAL_SABBREVMON
2960: 54 48 4e 41 4d 45 39 2c 0a 09 43 41 4c 5f 53 41 THNAME9,..CAL_SA
2970: 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 31 30 BBREVMONTHNAME10
2980: 2c 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 4d 4f ,..CAL_SABBREVMO
2990: 4e 54 48 4e 41 4d 45 31 31 2c 0a 09 43 41 4c 5f NTHNAME11,..CAL_
29a0: 53 41 42 42 52 45 56 4d 4f 4e 54 48 4e 41 4d 45 SABBREVMONTHNAME
29b0: 31 32 2c 0a 09 43 41 4c 5f 53 41 42 42 52 45 56 12,..CAL_SABBREV
29c0: 4d 4f 4e 54 48 4e 41 4d 45 31 33 20 2f 2f 20 3d MONTHNAME13 // =
29d0: 20 34 36 0a 7d 0a 0a 0a 65 6e 75 6d 20 3a 20 43 46.}...enum : C
29e0: 41 4c 54 59 50 45 20 7b 0a 09 43 41 4c 5f 47 52 ALTYPE {..CAL_GR
29f0: 45 47 4f 52 49 41 4e 20 20 20 20 20 20 20 20 20 EGORIAN
2a00: 20 20 20 20 20 20 20 3d 20 20 31 2c 0a 09 43 41 = 1,..CA
2a10: 4c 5f 47 52 45 47 4f 52 49 41 4e 5f 55 53 2c 0a L_GREGORIAN_US,.
2a20: 09 43 41 4c 5f 4a 41 50 41 4e 2c 0a 09 43 41 4c .CAL_JAPAN,..CAL
2a30: 5f 54 41 49 57 41 4e 2c 0a 09 43 41 4c 5f 4b 4f _TAIWAN,..CAL_KO
2a40: 52 45 41 2c 0a 09 43 41 4c 5f 48 49 4a 52 49 2c REA,..CAL_HIJRI,
2a50: 0a 09 43 41 4c 5f 54 48 41 49 2c 0a 09 43 41 4c ..CAL_THAI,..CAL
2a60: 5f 48 45 42 52 45 57 2c 0a 09 43 41 4c 5f 47 52 _HEBREW,..CAL_GR
2a70: 45 47 4f 52 49 41 4e 5f 4d 45 5f 46 52 45 4e 43 EGORIAN_ME_FRENC
2a80: 48 2c 0a 09 43 41 4c 5f 47 52 45 47 4f 52 49 41 H,..CAL_GREGORIA
2a90: 4e 5f 41 52 41 42 49 43 2c 0a 09 43 41 4c 5f 47 N_ARABIC,..CAL_G
2aa0: 52 45 47 4f 52 49 41 4e 5f 58 4c 49 54 5f 45 4e REGORIAN_XLIT_EN
2ab0: 47 4c 49 53 48 2c 0a 09 43 41 4c 5f 47 52 45 47 GLISH,..CAL_GREG
2ac0: 4f 52 49 41 4e 5f 58 4c 49 54 5f 46 52 45 4e 43 ORIAN_XLIT_FRENC
2ad0: 48 20 2f 2f 20 3d 20 31 32 0a 7d 0a 0a 65 6e 75 H // = 12.}..enu
2ae0: 6d 20 3a 20 69 6e 74 20 7b 0a 09 43 53 54 52 5f m : int {..CSTR_
2af0: 4c 45 53 53 5f 54 48 41 4e 20 20 20 20 3d 20 31 LESS_THAN = 1
2b00: 2c 0a 09 43 53 54 52 5f 45 51 55 41 4c 2c 0a 09 ,..CSTR_EQUAL,..
2b10: 43 53 54 52 5f 47 52 45 41 54 45 52 5f 54 48 41 CSTR_GREATER_THA
2b20: 4e 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 44 57 4f 52 N.}..enum : DWOR
2b30: 44 20 7b 0a 09 4c 47 52 50 49 44 5f 49 4e 53 54 D {..LGRPID_INST
2b40: 41 4c 4c 45 44 20 3d 20 31 2c 0a 09 4c 47 52 50 ALLED = 1,..LGRP
2b50: 49 44 5f 53 55 50 50 4f 52 54 45 44 0a 7d 0a 0a ID_SUPPORTED.}..
2b60: 65 6e 75 6d 20 3a 20 4c 47 52 50 49 44 20 7b 0a enum : LGRPID {.
2b70: 09 4c 47 52 50 49 44 5f 57 45 53 54 45 52 4e 5f .LGRPID_WESTERN_
2b80: 45 55 52 4f 50 45 20 3d 20 31 2c 0a 09 4c 47 52 EUROPE = 1,..LGR
2b90: 50 49 44 5f 43 45 4e 54 52 41 4c 5f 45 55 52 4f PID_CENTRAL_EURO
2ba0: 50 45 2c 0a 09 4c 47 52 50 49 44 5f 42 41 4c 54 PE,..LGRPID_BALT
2bb0: 49 43 2c 0a 09 4c 47 52 50 49 44 5f 47 52 45 45 IC,..LGRPID_GREE
2bc0: 4b 2c 0a 09 4c 47 52 50 49 44 5f 43 59 52 49 4c K,..LGRPID_CYRIL
2bd0: 4c 49 43 2c 0a 09 4c 47 52 50 49 44 5f 54 55 52 LIC,..LGRPID_TUR
2be0: 4b 49 53 48 2c 0a 09 4c 47 52 50 49 44 5f 4a 41 KISH,..LGRPID_JA
2bf0: 50 41 4e 45 53 45 2c 0a 09 4c 47 52 50 49 44 5f PANESE,..LGRPID_
2c00: 4b 4f 52 45 41 4e 2c 0a 09 4c 47 52 50 49 44 5f KOREAN,..LGRPID_
2c10: 54 52 41 44 49 54 49 4f 4e 41 4c 5f 43 48 49 4e TRADITIONAL_CHIN
2c20: 45 53 45 2c 0a 09 4c 47 52 50 49 44 5f 53 49 4d ESE,..LGRPID_SIM
2c30: 50 4c 49 46 49 45 44 5f 43 48 49 4e 45 53 45 2c PLIFIED_CHINESE,
2c40: 0a 09 4c 47 52 50 49 44 5f 54 48 41 49 2c 0a 09 ..LGRPID_THAI,..
2c50: 4c 47 52 50 49 44 5f 48 45 42 52 45 57 2c 0a 09 LGRPID_HEBREW,..
2c60: 4c 47 52 50 49 44 5f 41 52 41 42 49 43 2c 0a 09 LGRPID_ARABIC,..
2c70: 4c 47 52 50 49 44 5f 56 49 45 54 4e 41 4d 45 53 LGRPID_VIETNAMES
2c80: 45 2c 0a 09 4c 47 52 50 49 44 5f 49 4e 44 49 43 E,..LGRPID_INDIC
2c90: 2c 0a 09 4c 47 52 50 49 44 5f 47 45 4f 52 47 49 ,..LGRPID_GEORGI
2ca0: 41 4e 2c 0a 09 4c 47 52 50 49 44 5f 41 52 4d 45 AN,..LGRPID_ARME
2cb0: 4e 49 41 4e 20 2f 2f 20 3d 20 31 37 0a 7d 0a 0a NIAN // = 17.}..
2cc0: 73 74 61 74 69 63 20 69 66 20 28 57 49 4e 56 45 static if (WINVE
2cd0: 52 20 3e 3d 20 30 78 35 30 30 29 20 7b 0a 09 65 R >= 0x500) {..e
2ce0: 6e 75 6d 20 3a 20 4c 43 54 59 50 45 20 7b 0a 09 num : LCTYPE {..
2cf0: 09 4c 4f 43 41 4c 45 5f 53 59 45 41 52 4d 4f 4e .LOCALE_SYEARMON
2d00: 54 48 20 20 20 20 20 20 20 20 20 20 20 20 20 3d TH =
2d10: 20 30 78 31 30 30 36 2c 0a 09 09 4c 4f 43 41 4c 0x1006,...LOCAL
2d20: 45 5f 53 45 4e 47 43 55 52 52 4e 41 4d 45 20 20 E_SENGCURRNAME
2d30: 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 = 0x100
2d40: 37 2c 0a 09 09 4c 4f 43 41 4c 45 5f 53 4e 41 54 7,...LOCALE_SNAT
2d50: 49 56 45 43 55 52 52 4e 41 4d 45 20 20 20 20 20 IVECURRNAME
2d60: 20 20 20 3d 20 30 78 31 30 30 38 2c 0a 09 09 4c = 0x1008,...L
2d70: 4f 43 41 4c 45 5f 49 44 45 46 41 55 4c 54 45 42 OCALE_IDEFAULTEB
2d80: 43 44 49 43 43 4f 44 45 50 41 47 45 20 3d 20 30 CDICCODEPAGE = 0
2d90: 78 31 30 31 32 2c 0a 09 09 4c 4f 43 41 4c 45 5f x1012,...LOCALE_
2da0: 53 53 4f 52 54 4e 41 4d 45 20 20 20 20 20 20 20 SSORTNAME
2db0: 20 20 20 20 20 20 20 3d 20 30 78 31 30 31 33 2c = 0x1013,
2dc0: 0a 09 09 4c 4f 43 41 4c 45 5f 49 44 49 47 49 54 ...LOCALE_IDIGIT
2dd0: 53 55 42 53 54 49 54 55 54 49 4f 4e 20 20 20 20 SUBSTITUTION
2de0: 20 3d 20 30 78 31 30 31 34 2c 0a 09 09 4c 4f 43 = 0x1014,...LOC
2df0: 41 4c 45 5f 49 50 41 50 45 52 53 49 5a 45 20 20 ALE_IPAPERSIZE
2e00: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 = 0x1
2e10: 30 30 41 0a 09 7d 0a 0a 09 63 6f 6e 73 74 20 44 00A..}...const D
2e20: 57 4f 52 44 0a 09 09 44 41 54 45 5f 59 45 41 52 WORD...DATE_YEAR
2e30: 4d 4f 4e 54 48 20 20 3d 20 20 38 2c 0a 09 09 44 MONTH = 8,...D
2e40: 41 54 45 5f 4c 54 52 52 45 41 44 49 4e 47 20 3d ATE_LTRREADING =
2e50: 20 31 36 2c 0a 09 09 44 41 54 45 5f 52 54 4c 52 16,...DATE_RTLR
2e60: 45 41 44 49 4e 47 20 3d 20 33 32 3b 0a 0a 09 63 EADING = 32;...c
2e70: 6f 6e 73 74 20 44 57 4f 52 44 20 4d 41 50 5f 45 onst DWORD MAP_E
2e80: 58 50 41 4e 44 5f 4c 49 47 41 54 55 52 45 53 20 XPAND_LIGATURES
2e90: 3d 20 30 78 32 30 30 30 3b 0a 09 63 6f 6e 73 74 = 0x2000;..const
2ea0: 20 44 57 4f 52 44 20 57 43 5f 4e 4f 5f 42 45 53 DWORD WC_NO_BES
2eb0: 54 5f 46 49 54 5f 43 48 41 52 53 20 3d 20 31 30 T_FIT_CHARS = 10
2ec0: 32 34 3b 0a 0a 09 65 6e 75 6d 20 3a 20 43 41 4c 24;...enum : CAL
2ed0: 54 59 50 45 20 7b 0a 09 09 43 41 4c 5f 53 59 45 TYPE {...CAL_SYE
2ee0: 41 52 4d 4f 4e 54 48 20 20 20 20 20 20 20 3d 20 ARMONTH =
2ef0: 34 37 2c 0a 09 09 43 41 4c 5f 49 54 57 4f 44 49 47,...CAL_ITWODI
2f00: 47 49 54 59 45 41 52 4d 41 58 20 3d 20 34 38 2c GITYEARMAX = 48,
2f10: 0a 09 09 43 41 4c 5f 4e 4f 55 53 45 52 4f 56 45 ...CAL_NOUSEROVE
2f20: 52 52 49 44 45 20 20 20 3d 20 4c 4f 43 41 4c 45 RRIDE = LOCALE
2f30: 5f 4e 4f 55 53 45 52 4f 56 45 52 52 49 44 45 2c _NOUSEROVERRIDE,
2f40: 0a 09 09 43 41 4c 5f 52 45 54 55 52 4e 5f 4e 55 ...CAL_RETURN_NU
2f50: 4d 42 45 52 20 20 20 20 3d 20 4c 4f 43 41 4c 45 MBER = LOCALE
2f60: 5f 52 45 54 55 52 4e 5f 4e 55 4d 42 45 52 2c 0a _RETURN_NUMBER,.
2f70: 09 09 43 41 4c 5f 55 53 45 5f 43 50 5f 41 43 50 ..CAL_USE_CP_ACP
2f80: 20 20 20 20 20 20 20 3d 20 4c 4f 43 41 4c 45 5f = LOCALE_
2f90: 55 53 45 5f 43 50 5f 41 43 50 0a 09 7d 0a 7d 20 USE_CP_ACP..}.}
2fa0: 2f 2f 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 // (WINVER >= 0x
2fb0: 35 30 30 29 0a 0a 65 78 74 65 72 6e 20 28 57 69 500)..extern (Wi
2fc0: 6e 64 6f 77 73 29 20 7b 0a 09 61 6c 69 61 73 20 ndows) {..alias
2fd0: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 BOOL function(LP
2fe0: 53 54 52 29 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 STR) CALINFO_ENU
2ff0: 4d 50 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 42 MPROCA;..alias B
3000: 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 57 OOL function(LPW
3010: 53 54 52 29 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 STR) CALINFO_ENU
3020: 4d 50 52 4f 43 57 3b 0a 09 61 6c 69 61 73 20 42 MPROCW;..alias B
3030: 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 OOL function(LPS
3040: 54 52 2c 20 43 41 4c 49 44 29 20 43 41 4c 49 4e TR, CALID) CALIN
3050: 46 4f 5f 45 4e 55 4d 50 52 4f 43 45 58 41 3b 0a FO_ENUMPROCEXA;.
3060: 09 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 .alias BOOL func
3070: 74 69 6f 6e 28 4c 50 57 53 54 52 2c 20 43 41 4c tion(LPWSTR, CAL
3080: 49 44 29 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 4d ID) CALINFO_ENUM
3090: 50 52 4f 43 45 58 57 3b 0a 09 61 6c 69 61 73 20 PROCEXW;..alias
30a0: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 47 BOOL function(LG
30b0: 52 50 49 44 2c 20 4c 50 53 54 52 2c 20 4c 50 53 RPID, LPSTR, LPS
30c0: 54 52 2c 20 44 57 4f 52 44 2c 20 4c 4f 4e 47 5f TR, DWORD, LONG_
30d0: 50 54 52 29 0a 09 20 20 4c 41 4e 47 55 41 47 45 PTR).. LANGUAGE
30e0: 47 52 4f 55 50 5f 45 4e 55 4d 50 52 4f 43 41 3b GROUP_ENUMPROCA;
30f0: 0a 09 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e ..alias BOOL fun
3100: 63 74 69 6f 6e 28 4c 47 52 50 49 44 2c 20 4c 50 ction(LGRPID, LP
3110: 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 WSTR, LPWSTR, DW
3120: 4f 52 44 2c 20 4c 4f 4e 47 5f 50 54 52 29 0a 09 ORD, LONG_PTR)..
3130: 20 20 4c 41 4e 47 55 41 47 45 47 52 4f 55 50 5f LANGUAGEGROUP_
3140: 45 4e 55 4d 50 52 4f 43 57 3b 0a 09 61 6c 69 61 ENUMPROCW;..alia
3150: 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 s BOOL function(
3160: 4c 47 52 50 49 44 2c 20 4c 43 49 44 2c 20 4c 50 LGRPID, LCID, LP
3170: 53 54 52 2c 20 4c 4f 4e 47 5f 50 54 52 29 0a 09 STR, LONG_PTR)..
3180: 20 20 4c 41 4e 47 47 52 4f 55 50 4c 4f 43 41 4c LANGGROUPLOCAL
3190: 45 5f 45 4e 55 4d 50 52 4f 43 41 3b 0a 09 61 6c E_ENUMPROCA;..al
31a0: 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f ias BOOL functio
31b0: 6e 28 4c 47 52 50 49 44 2c 20 4c 43 49 44 2c 20 n(LGRPID, LCID,
31c0: 4c 50 57 53 54 52 2c 20 4c 4f 4e 47 5f 50 54 52 LPWSTR, LONG_PTR
31d0: 29 0a 09 20 20 4c 41 4e 47 47 52 4f 55 50 4c 4f ).. LANGGROUPLO
31e0: 43 41 4c 45 5f 45 4e 55 4d 50 52 4f 43 57 3b 0a CALE_ENUMPROCW;.
31f0: 09 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 .alias BOOL func
3200: 74 69 6f 6e 28 4c 50 57 53 54 52 2c 20 4c 4f 4e tion(LPWSTR, LON
3210: 47 5f 50 54 52 29 20 55 49 4c 41 4e 47 55 41 47 G_PTR) UILANGUAG
3220: 45 5f 45 4e 55 4d 50 52 4f 43 57 3b 0a 09 61 6c E_ENUMPROCW;..al
3230: 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f ias BOOL functio
3240: 6e 28 4c 50 53 54 52 2c 20 4c 4f 4e 47 5f 50 54 n(LPSTR, LONG_PT
3250: 52 29 20 55 49 4c 41 4e 47 55 41 47 45 5f 45 4e R) UILANGUAGE_EN
3260: 55 4d 50 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 UMPROCA;..alias
3270: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 BOOL function(LP
3280: 53 54 52 29 20 4c 4f 43 41 4c 45 5f 45 4e 55 4d STR) LOCALE_ENUM
3290: 50 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 42 4f PROCA;..alias BO
32a0: 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 57 53 OL function(LPWS
32b0: 54 52 29 20 4c 4f 43 41 4c 45 5f 45 4e 55 4d 50 TR) LOCALE_ENUMP
32c0: 52 4f 43 57 3b 0a 09 61 6c 69 61 73 20 42 4f 4f ROCW;..alias BOO
32d0: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 L function(LPSTR
32e0: 29 20 43 4f 44 45 50 41 47 45 5f 45 4e 55 4d 50 ) CODEPAGE_ENUMP
32f0: 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 42 4f 4f ROCA;..alias BOO
3300: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 57 53 54 L function(LPWST
3310: 52 29 20 43 4f 44 45 50 41 47 45 5f 45 4e 55 4d R) CODEPAGE_ENUM
3320: 50 52 4f 43 57 3b 0a 09 61 6c 69 61 73 20 42 4f PROCW;..alias BO
3330: 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 OL function(LPST
3340: 52 29 20 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 R) DATEFMT_ENUMP
3350: 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 42 4f 4f ROCA;..alias BOO
3360: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 57 53 54 L function(LPWST
3370: 52 29 20 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 R) DATEFMT_ENUMP
3380: 52 4f 43 57 3b 0a 09 61 6c 69 61 73 20 42 4f 4f ROCW;..alias BOO
3390: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 L function(LPSTR
33a0: 2c 20 43 41 4c 49 44 29 20 44 41 54 45 46 4d 54 , CALID) DATEFMT
33b0: 5f 45 4e 55 4d 50 52 4f 43 45 58 41 3b 0a 09 61 _ENUMPROCEXA;..a
33c0: 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 lias BOOL functi
33d0: 6f 6e 28 4c 50 57 53 54 52 2c 20 43 41 4c 49 44 on(LPWSTR, CALID
33e0: 29 20 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 52 ) DATEFMT_ENUMPR
33f0: 4f 43 45 58 57 3b 0a 09 61 6c 69 61 73 20 42 4f OCEXW;..alias BO
3400: 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 OL function(LPST
3410: 52 29 20 54 49 4d 45 46 4d 54 5f 45 4e 55 4d 50 R) TIMEFMT_ENUMP
3420: 52 4f 43 41 3b 0a 09 61 6c 69 61 73 20 42 4f 4f ROCA;..alias BOO
3430: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 57 53 54 L function(LPWST
3440: 52 29 20 54 49 4d 45 46 4d 54 5f 45 4e 55 4d 50 R) TIMEFMT_ENUMP
3450: 52 4f 43 57 3b 0a 09 61 6c 69 61 73 20 42 4f 4f ROCW;..alias BOO
3460: 4c 20 66 75 6e 63 74 69 6f 6e 28 47 45 4f 49 44 L function(GEOID
3470: 29 20 47 45 4f 5f 45 4e 55 4d 50 52 4f 43 3b 0a ) GEO_ENUMPROC;.
3480: 7d 0a 0a 65 6e 75 6d 20 4e 4c 53 5f 46 55 4e 43 }..enum NLS_FUNC
3490: 54 49 4f 4e 20 7b 0a 09 43 4f 4d 50 41 52 45 5f TION {..COMPARE_
34a0: 53 54 52 49 4e 47 20 3d 20 30 78 30 30 30 31 0a STRING = 0x0001.
34b0: 7d 0a 0a 65 6e 75 6d 20 53 59 53 47 45 4f 43 4c }..enum SYSGEOCL
34c0: 41 53 53 20 7b 0a 09 47 45 4f 43 4c 41 53 53 5f ASS {..GEOCLASS_
34d0: 4e 41 54 49 4f 4e 20 3d 20 31 36 2c 0a 09 47 45 NATION = 16,..GE
34e0: 4f 43 4c 41 53 53 5f 52 45 47 49 4f 4e 20 3d 20 OCLASS_REGION =
34f0: 31 34 0a 7d 0a 0a 65 6e 75 6d 20 53 59 53 47 45 14.}..enum SYSGE
3500: 4f 54 59 50 45 20 7b 0a 09 47 45 4f 5f 4e 41 54 OTYPE {..GEO_NAT
3510: 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 3d ION =
3520: 20 30 78 30 30 30 31 2c 0a 09 47 45 4f 5f 4c 41 0x0001,..GEO_LA
3530: 54 49 54 55 44 45 20 20 20 20 20 20 20 20 20 20 TITUDE
3540: 3d 20 30 78 30 30 30 32 2c 0a 09 47 45 4f 5f 4c = 0x0002,..GEO_L
3550: 4f 4e 47 49 54 55 44 45 20 20 20 20 20 20 20 20 ONGITUDE
3560: 20 3d 20 30 78 30 30 30 33 2c 0a 09 47 45 4f 5f = 0x0003,..GEO_
3570: 49 53 4f 32 20 20 20 20 20 20 20 20 20 20 20 20 ISO2
3580: 20 20 3d 20 30 78 30 30 30 34 2c 0a 09 47 45 4f = 0x0004,..GEO
3590: 5f 49 53 4f 33 20 20 20 20 20 20 20 20 20 20 20 _ISO3
35a0: 20 20 20 3d 20 30 78 30 30 30 35 2c 0a 09 47 45 = 0x0005,..GE
35b0: 4f 5f 52 46 43 31 37 36 36 20 20 20 20 20 20 20 O_RFC1766
35c0: 20 20 20 20 3d 20 30 78 30 30 30 36 2c 0a 09 47 = 0x0006,..G
35d0: 45 4f 5f 4c 43 49 44 20 20 20 20 20 20 20 20 20 EO_LCID
35e0: 20 20 20 20 20 3d 20 30 78 30 30 30 37 2c 0a 09 = 0x0007,..
35f0: 47 45 4f 5f 46 52 49 45 4e 44 4c 59 4e 41 4d 45 GEO_FRIENDLYNAME
3600: 20 20 20 20 20 20 3d 20 30 78 30 30 30 38 2c 0a = 0x0008,.
3610: 09 47 45 4f 5f 4f 46 46 49 43 49 41 4c 4e 41 4d .GEO_OFFICIALNAM
3620: 45 20 20 20 20 20 20 3d 20 30 78 30 30 30 39 2c E = 0x0009,
3630: 0a 09 47 45 4f 5f 54 49 4d 45 5a 4f 4e 45 53 20 ..GEO_TIMEZONES
3640: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 61 = 0x000a
3650: 2c 0a 09 47 45 4f 5f 4f 46 46 49 43 49 41 4c 4c ,..GEO_OFFICIALL
3660: 41 4e 47 55 41 47 45 53 20 3d 20 30 78 30 30 30 ANGUAGES = 0x000
3670: 61 0a 7d 0a 0a 73 74 72 75 63 74 20 43 50 49 4e a.}..struct CPIN
3680: 46 4f 20 7b 0a 09 55 49 4e 54 20 20 20 20 20 20 FO {..UINT
3690: 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 78 43 MaxC
36a0: 68 61 72 53 69 7a 65 3b 0a 09 42 59 54 45 5b 4d harSize;..BYTE[M
36b0: 41 58 5f 44 45 46 41 55 4c 54 43 48 41 52 5d 20 AX_DEFAULTCHAR]
36c0: 44 65 66 61 75 6c 74 43 68 61 72 3b 0a 09 42 59 DefaultChar;..BY
36d0: 54 45 5b 4d 41 58 5f 4c 45 41 44 42 59 54 45 53 TE[MAX_LEADBYTES
36e0: 5d 20 20 20 4c 65 61 64 42 79 74 65 3b 0a 7d 0a ] LeadByte;.}.
36f0: 61 6c 69 61 73 20 43 50 49 4e 46 4f 2a 20 4c 50 alias CPINFO* LP
3700: 43 50 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20 CPINFO;..struct
3710: 43 50 49 4e 46 4f 45 58 41 20 7b 0a 09 55 49 4e CPINFOEXA {..UIN
3720: 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 T
3730: 20 20 20 4d 61 78 43 68 61 72 53 69 7a 65 3b 0a MaxCharSize;.
3740: 09 42 59 54 45 5b 4d 41 58 5f 44 45 46 41 55 4c .BYTE[MAX_DEFAUL
3750: 54 43 48 41 52 5d 20 44 65 66 61 75 6c 74 43 68 TCHAR] DefaultCh
3760: 61 72 3b 0a 09 42 59 54 45 5b 4d 41 58 5f 4c 45 ar;..BYTE[MAX_LE
3770: 41 44 42 59 54 45 53 5d 20 20 20 4c 65 61 64 42 ADBYTES] LeadB
3780: 79 74 65 3b 0a 09 57 43 48 41 52 20 20 20 20 20 yte;..WCHAR
3790: 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 69 63 Unic
37a0: 6f 64 65 44 65 66 61 75 6c 74 43 68 61 72 3b 0a odeDefaultChar;.
37b0: 09 55 49 4e 54 20 20 20 20 20 20 20 20 20 20 20 .UINT
37c0: 20 20 20 20 20 20 20 43 6f 64 65 50 61 67 65 3b CodePage;
37d0: 0a 09 43 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d ..CHAR[MAX_PATH]
37e0: 20 20 20 20 20 20 20 20 43 6f 64 65 50 61 67 65 CodePage
37f0: 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 43 50 Name;.}.alias CP
3800: 49 4e 46 4f 45 58 41 2a 20 4c 50 43 50 49 4e 46 INFOEXA* LPCPINF
3810: 4f 45 58 41 3b 0a 0a 73 74 72 75 63 74 20 43 50 OEXA;..struct CP
3820: 49 4e 46 4f 45 58 57 20 7b 0a 09 55 49 4e 54 20 INFOEXW {..UINT
3830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3840: 20 4d 61 78 43 68 61 72 53 69 7a 65 3b 0a 09 42 MaxCharSize;..B
3850: 59 54 45 5b 4d 41 58 5f 44 45 46 41 55 4c 54 43 YTE[MAX_DEFAULTC
3860: 48 41 52 5d 20 44 65 66 61 75 6c 74 43 68 61 72 HAR] DefaultChar
3870: 3b 0a 09 42 59 54 45 5b 4d 41 58 5f 4c 45 41 44 ;..BYTE[MAX_LEAD
3880: 42 59 54 45 53 5d 20 20 20 4c 65 61 64 42 79 74 BYTES] LeadByt
3890: 65 3b 0a 09 57 43 48 41 52 20 20 20 20 20 20 20 e;..WCHAR
38a0: 20 20 20 20 20 20 20 20 20 20 55 6e 69 63 6f 64 Unicod
38b0: 65 44 65 66 61 75 6c 74 43 68 61 72 3b 0a 09 55 eDefaultChar;..U
38c0: 49 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 INT
38d0: 20 20 20 20 20 43 6f 64 65 50 61 67 65 3b 0a 09 CodePage;..
38e0: 57 43 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d 20 WCHAR[MAX_PATH]
38f0: 20 20 20 20 20 20 43 6f 64 65 50 61 67 65 4e 61 CodePageNa
3900: 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 43 50 49 4e me;.}.alias CPIN
3910: 46 4f 45 58 57 2a 20 4c 50 43 50 49 4e 46 4f 45 FOEXW* LPCPINFOE
3920: 58 57 3b 0a 0a 73 74 72 75 63 74 20 43 55 52 52 XW;..struct CURR
3930: 45 4e 43 59 46 4d 54 41 20 7b 0a 09 55 49 4e 54 ENCYFMTA {..UINT
3940: 20 20 4e 75 6d 44 69 67 69 74 73 3b 0a 09 55 49 NumDigits;..UI
3950: 4e 54 20 20 4c 65 61 64 69 6e 67 5a 65 72 6f 3b NT LeadingZero;
3960: 0a 09 55 49 4e 54 20 20 47 72 6f 75 70 69 6e 67 ..UINT Grouping
3970: 3b 0a 09 4c 50 53 54 52 20 6c 70 44 65 63 69 6d ;..LPSTR lpDecim
3980: 61 6c 53 65 70 3b 0a 09 4c 50 53 54 52 20 6c 70 alSep;..LPSTR lp
3990: 54 68 6f 75 73 61 6e 64 53 65 70 3b 0a 09 55 49 ThousandSep;..UI
39a0: 4e 54 20 20 4e 65 67 61 74 69 76 65 4f 72 64 65 NT NegativeOrde
39b0: 72 3b 0a 09 55 49 4e 54 20 20 50 6f 73 69 74 69 r;..UINT Positi
39c0: 76 65 4f 72 64 65 72 3b 0a 09 4c 50 53 54 52 20 veOrder;..LPSTR
39d0: 6c 70 43 75 72 72 65 6e 63 79 53 79 6d 62 6f 6c lpCurrencySymbol
39e0: 3b 0a 7d 0a 61 6c 69 61 73 20 43 55 52 52 45 4e ;.}.alias CURREN
39f0: 43 59 46 4d 54 41 2a 20 4c 50 43 55 52 52 45 4e CYFMTA* LPCURREN
3a00: 43 59 46 4d 54 41 3b 0a 0a 73 74 72 75 63 74 20 CYFMTA;..struct
3a10: 43 55 52 52 45 4e 43 59 46 4d 54 57 20 7b 0a 09 CURRENCYFMTW {..
3a20: 55 49 4e 54 20 20 20 4e 75 6d 44 69 67 69 74 73 UINT NumDigits
3a30: 3b 0a 09 55 49 4e 54 20 20 20 4c 65 61 64 69 6e ;..UINT Leadin
3a40: 67 5a 65 72 6f 3b 0a 09 55 49 4e 54 20 20 20 47 gZero;..UINT G
3a50: 72 6f 75 70 69 6e 67 3b 0a 09 4c 50 57 53 54 52 rouping;..LPWSTR
3a60: 20 6c 70 44 65 63 69 6d 61 6c 53 65 70 3b 0a 09 lpDecimalSep;..
3a70: 4c 50 57 53 54 52 20 6c 70 54 68 6f 75 73 61 6e LPWSTR lpThousan
3a80: 64 53 65 70 3b 0a 09 55 49 4e 54 20 20 20 4e 65 dSep;..UINT Ne
3a90: 67 61 74 69 76 65 4f 72 64 65 72 3b 0a 09 55 49 gativeOrder;..UI
3aa0: 4e 54 20 20 20 50 6f 73 69 74 69 76 65 4f 72 64 NT PositiveOrd
3ab0: 65 72 3b 0a 09 4c 50 57 53 54 52 20 6c 70 43 75 er;..LPWSTR lpCu
3ac0: 72 72 65 6e 63 79 53 79 6d 62 6f 6c 3b 0a 7d 0a rrencySymbol;.}.
3ad0: 61 6c 69 61 73 20 43 55 52 52 45 4e 43 59 46 4d alias CURRENCYFM
3ae0: 54 57 2a 20 4c 50 43 55 52 52 45 4e 43 59 46 4d TW* LPCURRENCYFM
3af0: 54 57 3b 0a 0a 73 74 72 75 63 74 20 4e 4c 53 56 TW;..struct NLSV
3b00: 45 52 53 49 4f 4e 49 4e 46 4f 20 7b 0a 09 44 57 ERSIONINFO {..DW
3b10: 4f 52 44 20 64 77 4e 4c 53 56 65 72 73 69 6f 6e ORD dwNLSVersion
3b20: 49 6e 66 6f 53 69 7a 65 3b 0a 09 44 57 4f 52 44 InfoSize;..DWORD
3b30: 20 64 77 4e 4c 53 56 65 72 73 69 6f 6e 3b 0a 09 dwNLSVersion;..
3b40: 44 57 4f 52 44 20 64 77 44 65 66 69 6e 65 64 56 DWORD dwDefinedV
3b50: 65 72 73 69 6f 6e 3b 0a 7d 0a 61 6c 69 61 73 20 ersion;.}.alias
3b60: 4e 4c 53 56 45 52 53 49 4f 4e 49 4e 46 4f 2a 20 NLSVERSIONINFO*
3b70: 4c 50 4e 4c 53 56 45 52 53 49 4f 4e 49 4e 46 4f LPNLSVERSIONINFO
3b80: 3b 0a 0a 73 74 72 75 63 74 20 4e 55 4d 42 45 52 ;..struct NUMBER
3b90: 46 4d 54 41 20 7b 0a 09 55 49 4e 54 20 20 4e 75 FMTA {..UINT Nu
3ba0: 6d 44 69 67 69 74 73 3b 0a 09 55 49 4e 54 20 20 mDigits;..UINT
3bb0: 4c 65 61 64 69 6e 67 5a 65 72 6f 3b 0a 09 55 49 LeadingZero;..UI
3bc0: 4e 54 20 20 47 72 6f 75 70 69 6e 67 3b 0a 09 4c NT Grouping;..L
3bd0: 50 53 54 52 20 6c 70 44 65 63 69 6d 61 6c 53 65 PSTR lpDecimalSe
3be0: 70 3b 0a 09 4c 50 53 54 52 20 6c 70 54 68 6f 75 p;..LPSTR lpThou
3bf0: 73 61 6e 64 53 65 70 3b 0a 09 55 49 4e 54 20 20 sandSep;..UINT
3c00: 4e 65 67 61 74 69 76 65 4f 72 64 65 72 3b 0a 7d NegativeOrder;.}
3c10: 0a 61 6c 69 61 73 20 4e 55 4d 42 45 52 46 4d 54 .alias NUMBERFMT
3c20: 41 2a 20 4c 50 4e 55 4d 42 45 52 46 4d 54 41 3b A* LPNUMBERFMTA;
3c30: 0a 0a 73 74 72 75 63 74 20 4e 55 4d 42 45 52 46 ..struct NUMBERF
3c40: 4d 54 57 20 7b 0a 09 55 49 4e 54 20 20 20 4e 75 MTW {..UINT Nu
3c50: 6d 44 69 67 69 74 73 3b 0a 09 55 49 4e 54 20 20 mDigits;..UINT
3c60: 20 4c 65 61 64 69 6e 67 5a 65 72 6f 3b 0a 09 55 LeadingZero;..U
3c70: 49 4e 54 20 20 20 47 72 6f 75 70 69 6e 67 3b 0a INT Grouping;.
3c80: 09 4c 50 57 53 54 52 20 6c 70 44 65 63 69 6d 61 .LPWSTR lpDecima
3c90: 6c 53 65 70 3b 0a 09 4c 50 57 53 54 52 20 6c 70 lSep;..LPWSTR lp
3ca0: 54 68 6f 75 73 61 6e 64 53 65 70 3b 0a 09 55 49 ThousandSep;..UI
3cb0: 4e 54 20 20 20 4e 65 67 61 74 69 76 65 4f 72 64 NT NegativeOrd
3cc0: 65 72 3b 0a 7d 0a 61 6c 69 61 73 20 4e 55 4d 42 er;.}.alias NUMB
3cd0: 45 52 46 4d 54 57 2a 20 4c 50 4e 55 4d 42 45 52 ERFMTW* LPNUMBER
3ce0: 46 4d 54 57 3b 0a 0a 65 78 74 65 72 6e 20 28 57 FMTW;..extern (W
3cf0: 69 6e 64 6f 77 73 29 20 7b 0a 09 69 6e 74 20 43 indows) {..int C
3d00: 6f 6d 70 61 72 65 53 74 72 69 6e 67 41 28 4c 43 ompareStringA(LC
3d10: 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 54 ID, DWORD, LPCST
3d20: 52 2c 20 69 6e 74 2c 20 4c 50 43 53 54 52 2c 20 R, int, LPCSTR,
3d30: 69 6e 74 29 3b 0a 09 69 6e 74 20 43 6f 6d 70 61 int);..int Compa
3d40: 72 65 53 74 72 69 6e 67 57 28 4c 43 49 44 2c 20 reStringW(LCID,
3d50: 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 2c 20 DWORD, LPCWSTR,
3d60: 69 6e 74 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e int, LPCWSTR, in
3d70: 74 29 3b 0a 09 4c 43 49 44 20 43 6f 6e 76 65 72 t);..LCID Conver
3d80: 74 44 65 66 61 75 6c 74 4c 6f 63 61 6c 65 28 4c tDefaultLocale(L
3d90: 43 49 44 29 3b 0a 09 42 4f 4f 4c 20 45 6e 75 6d CID);..BOOL Enum
3da0: 43 61 6c 65 6e 64 61 72 49 6e 66 6f 41 28 43 41 CalendarInfoA(CA
3db0: 4c 49 4e 46 4f 5f 45 4e 55 4d 50 52 4f 43 41 2c LINFO_ENUMPROCA,
3dc0: 20 4c 43 49 44 2c 20 43 41 4c 49 44 2c 20 43 41 LCID, CALID, CA
3dd0: 4c 54 59 50 45 29 3b 0a 09 42 4f 4f 4c 20 45 6e LTYPE);..BOOL En
3de0: 75 6d 43 61 6c 65 6e 64 61 72 49 6e 66 6f 57 28 umCalendarInfoW(
3df0: 43 41 4c 49 4e 46 4f 5f 45 4e 55 4d 50 52 4f 43 CALINFO_ENUMPROC
3e00: 57 2c 20 4c 43 49 44 2c 20 43 41 4c 49 44 2c 20 W, LCID, CALID,
3e10: 43 41 4c 54 59 50 45 29 3b 0a 09 42 4f 4f 4c 20 CALTYPE);..BOOL
3e20: 45 6e 75 6d 44 61 74 65 46 6f 72 6d 61 74 73 41 EnumDateFormatsA
3e30: 28 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 52 4f (DATEFMT_ENUMPRO
3e40: 43 41 2c 20 4c 43 49 44 2c 20 44 57 4f 52 44 29 CA, LCID, DWORD)
3e50: 3b 0a 09 42 4f 4f 4c 20 45 6e 75 6d 44 61 74 65 ;..BOOL EnumDate
3e60: 46 6f 72 6d 61 74 73 57 28 44 41 54 45 46 4d 54 FormatsW(DATEFMT
3e70: 5f 45 4e 55 4d 50 52 4f 43 57 2c 20 4c 43 49 44 _ENUMPROCW, LCID
3e80: 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 , DWORD);..BOOL
3e90: 45 6e 75 6d 53 79 73 74 65 6d 43 6f 64 65 50 61 EnumSystemCodePa
3ea0: 67 65 73 41 28 43 4f 44 45 50 41 47 45 5f 45 4e gesA(CODEPAGE_EN
3eb0: 55 4d 50 52 4f 43 41 2c 20 44 57 4f 52 44 29 3b UMPROCA, DWORD);
3ec0: 0a 09 42 4f 4f 4c 20 45 6e 75 6d 53 79 73 74 65 ..BOOL EnumSyste
3ed0: 6d 43 6f 64 65 50 61 67 65 73 57 28 43 4f 44 45 mCodePagesW(CODE
3ee0: 50 41 47 45 5f 45 4e 55 4d 50 52 4f 43 57 2c 20 PAGE_ENUMPROCW,
3ef0: 44 57 4f 52 44 29 3b 0a 09 42 4f 4f 4c 20 45 6e DWORD);..BOOL En
3f00: 75 6d 53 79 73 74 65 6d 47 65 6f 49 44 28 47 45 umSystemGeoID(GE
3f10: 4f 43 4c 41 53 53 2c 20 47 45 4f 49 44 2c 20 47 OCLASS, GEOID, G
3f20: 45 4f 5f 45 4e 55 4d 50 52 4f 43 29 3b 0a 09 42 EO_ENUMPROC);..B
3f30: 4f 4f 4c 20 45 6e 75 6d 53 79 73 74 65 6d 4c 6f OOL EnumSystemLo
3f40: 63 61 6c 65 73 41 28 4c 4f 43 41 4c 45 5f 45 4e calesA(LOCALE_EN
3f50: 55 4d 50 52 4f 43 41 2c 20 44 57 4f 52 44 29 3b UMPROCA, DWORD);
3f60: 0a 09 42 4f 4f 4c 20 45 6e 75 6d 53 79 73 74 65 ..BOOL EnumSyste
3f70: 6d 4c 6f 63 61 6c 65 73 57 28 4c 4f 43 41 4c 45 mLocalesW(LOCALE
3f80: 5f 45 4e 55 4d 50 52 4f 43 57 2c 20 44 57 4f 52 _ENUMPROCW, DWOR
3f90: 44 29 3b 0a 09 42 4f 4f 4c 20 45 6e 75 6d 54 69 D);..BOOL EnumTi
3fa0: 6d 65 46 6f 72 6d 61 74 73 41 28 54 49 4d 45 46 meFormatsA(TIMEF
3fb0: 4d 54 5f 45 4e 55 4d 50 52 4f 43 41 2c 20 4c 43 MT_ENUMPROCA, LC
3fc0: 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09 42 4f 4f ID, DWORD);..BOO
3fd0: 4c 20 45 6e 75 6d 54 69 6d 65 46 6f 72 6d 61 74 L EnumTimeFormat
3fe0: 73 57 28 54 49 4d 45 46 4d 54 5f 45 4e 55 4d 50 sW(TIMEFMT_ENUMP
3ff0: 52 4f 43 57 2c 20 4c 43 49 44 2c 20 44 57 4f 52 ROCW, LCID, DWOR
4000: 44 29 3b 0a 09 69 6e 74 20 46 6f 6c 64 53 74 72 D);..int FoldStr
4010: 69 6e 67 41 28 44 57 4f 52 44 2c 20 4c 50 43 53 ingA(DWORD, LPCS
4020: 54 52 2c 20 69 6e 74 2c 20 4c 50 53 54 52 2c 20 TR, int, LPSTR,
4030: 69 6e 74 29 3b 0a 09 69 6e 74 20 46 6f 6c 64 53 int);..int FoldS
4040: 74 72 69 6e 67 57 28 44 57 4f 52 44 2c 20 4c 50 tringW(DWORD, LP
4050: 43 57 53 54 52 2c 20 69 6e 74 2c 20 4c 50 57 53 CWSTR, int, LPWS
4060: 54 52 2c 20 69 6e 74 29 3b 0a 09 55 49 4e 54 20 TR, int);..UINT
4070: 47 65 74 41 43 50 28 29 3b 0a 09 69 6e 74 20 47 GetACP();..int G
4080: 65 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f 41 28 etCalendarInfoA(
4090: 4c 43 49 44 2c 20 43 41 4c 49 44 2c 20 43 41 4c LCID, CALID, CAL
40a0: 54 59 50 45 2c 20 4c 50 53 54 52 2c 20 69 6e 74 TYPE, LPSTR, int
40b0: 2c 20 4c 50 44 57 4f 52 44 29 3b 0a 09 69 6e 74 , LPDWORD);..int
40c0: 20 47 65 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f GetCalendarInfo
40d0: 57 28 4c 43 49 44 2c 20 43 41 4c 49 44 2c 20 43 W(LCID, CALID, C
40e0: 41 4c 54 59 50 45 2c 20 4c 50 57 53 54 52 2c 20 ALTYPE, LPWSTR,
40f0: 69 6e 74 2c 20 4c 50 44 57 4f 52 44 29 3b 0a 09 int, LPDWORD);..
4100: 42 4f 4f 4c 20 47 65 74 43 50 49 6e 66 6f 28 55 BOOL GetCPInfo(U
4110: 49 4e 54 2c 20 4c 50 43 50 49 4e 46 4f 29 3b 0a INT, LPCPINFO);.
4120: 09 42 4f 4f 4c 20 47 65 74 43 50 49 6e 66 6f 45 .BOOL GetCPInfoE
4130: 78 41 28 55 49 4e 54 2c 20 44 57 4f 52 44 2c 20 xA(UINT, DWORD,
4140: 4c 50 43 50 49 4e 46 4f 45 58 41 29 3b 0a 09 42 LPCPINFOEXA);..B
4150: 4f 4f 4c 20 47 65 74 43 50 49 6e 66 6f 45 78 57 OOL GetCPInfoExW
4160: 28 55 49 4e 54 2c 20 44 57 4f 52 44 2c 20 4c 50 (UINT, DWORD, LP
4170: 43 50 49 4e 46 4f 45 58 57 29 3b 0a 09 69 6e 74 CPINFOEXW);..int
4180: 20 47 65 74 43 75 72 72 65 6e 63 79 46 6f 72 6d GetCurrencyForm
4190: 61 74 41 28 4c 43 49 44 2c 20 44 57 4f 52 44 2c atA(LCID, DWORD,
41a0: 20 4c 50 43 53 54 52 2c 20 20 43 50 74 72 21 28 LPCSTR, CPtr!(
41b0: 43 55 52 52 45 4e 43 59 46 4d 54 41 29 2c 20 4c CURRENCYFMTA), L
41c0: 50 53 54 52 2c 20 69 6e 74 29 3b 0a 09 69 6e 74 PSTR, int);..int
41d0: 20 47 65 74 43 75 72 72 65 6e 63 79 46 6f 72 6d GetCurrencyForm
41e0: 61 74 57 28 4c 43 49 44 2c 20 44 57 4f 52 44 2c atW(LCID, DWORD,
41f0: 20 4c 50 43 57 53 54 52 2c 20 20 43 50 74 72 21 LPCWSTR, CPtr!
4200: 28 43 55 52 52 45 4e 43 59 46 4d 54 57 29 2c 20 (CURRENCYFMTW),
4210: 4c 50 57 53 54 52 2c 0a 09 20 20 69 6e 74 29 3b LPWSTR,.. int);
4220: 0a 09 69 6e 74 20 47 65 74 44 61 74 65 46 6f 72 ..int GetDateFor
4230: 6d 61 74 41 28 4c 43 49 44 2c 20 44 57 4f 52 44 matA(LCID, DWORD
4240: 2c 20 20 43 50 74 72 21 28 53 59 53 54 45 4d 54 , CPtr!(SYSTEMT
4250: 49 4d 45 29 2c 20 4c 50 43 53 54 52 2c 20 4c 50 IME), LPCSTR, LP
4260: 53 54 52 2c 20 69 6e 74 29 3b 0a 09 69 6e 74 20 STR, int);..int
4270: 47 65 74 44 61 74 65 46 6f 72 6d 61 74 57 28 4c GetDateFormatW(L
4280: 43 49 44 2c 20 44 57 4f 52 44 2c 20 20 43 50 74 CID, DWORD, CPt
4290: 72 21 28 53 59 53 54 45 4d 54 49 4d 45 29 2c 20 r!(SYSTEMTIME),
42a0: 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c LPCWSTR, LPWSTR,
42b0: 20 69 6e 74 29 3b 0a 09 69 6e 74 20 47 65 74 47 int);..int GetG
42c0: 65 6f 49 6e 66 6f 41 28 47 45 4f 49 44 2c 20 47 eoInfoA(GEOID, G
42d0: 45 4f 54 59 50 45 2c 20 4c 50 53 54 52 2c 20 69 EOTYPE, LPSTR, i
42e0: 6e 74 2c 20 4c 41 4e 47 49 44 29 3b 0a 09 69 6e nt, LANGID);..in
42f0: 74 20 47 65 74 47 65 6f 49 6e 66 6f 57 28 47 45 t GetGeoInfoW(GE
4300: 4f 49 44 2c 20 47 45 4f 54 59 50 45 2c 20 4c 50 OID, GEOTYPE, LP
4310: 57 53 54 52 2c 20 69 6e 74 2c 20 4c 41 4e 47 49 WSTR, int, LANGI
4320: 44 29 3b 0a 09 69 6e 74 20 47 65 74 4c 6f 63 61 D);..int GetLoca
4330: 6c 65 49 6e 66 6f 41 28 4c 43 49 44 2c 20 4c 43 leInfoA(LCID, LC
4340: 54 59 50 45 2c 20 4c 50 53 54 52 2c 20 69 6e 74 TYPE, LPSTR, int
4350: 29 3b 0a 09 69 6e 74 20 47 65 74 4c 6f 63 61 6c );..int GetLocal
4360: 65 49 6e 66 6f 57 28 4c 43 49 44 2c 20 4c 43 54 eInfoW(LCID, LCT
4370: 59 50 45 2c 20 4c 50 57 53 54 52 2c 20 69 6e 74 YPE, LPWSTR, int
4380: 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 4e 4c 53 56 );..BOOL GetNLSV
4390: 65 72 73 69 6f 6e 28 4e 4c 53 5f 46 55 4e 43 54 ersion(NLS_FUNCT
43a0: 49 4f 4e 2c 20 4c 43 49 44 2c 20 4c 50 4e 4c 53 ION, LCID, LPNLS
43b0: 56 45 52 53 49 4f 4e 49 4e 46 4f 29 3b 0a 09 69 VERSIONINFO);..i
43c0: 6e 74 20 47 65 74 4e 75 6d 62 65 72 46 6f 72 6d nt GetNumberForm
43d0: 61 74 41 28 4c 43 49 44 2c 20 44 57 4f 52 44 2c atA(LCID, DWORD,
43e0: 20 4c 50 43 53 54 52 2c 20 20 43 50 74 72 21 28 LPCSTR, CPtr!(
43f0: 4e 55 4d 42 45 52 46 4d 54 41 29 2c 20 4c 50 53 NUMBERFMTA), LPS
4400: 54 52 2c 20 69 6e 74 29 3b 0a 09 69 6e 74 20 47 TR, int);..int G
4410: 65 74 4e 75 6d 62 65 72 46 6f 72 6d 61 74 57 28 etNumberFormatW(
4420: 4c 43 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 43 LCID, DWORD, LPC
4430: 57 53 54 52 2c 20 20 43 50 74 72 21 28 4e 55 4d WSTR, CPtr!(NUM
4440: 42 45 52 46 4d 54 57 29 2c 20 4c 50 57 53 54 52 BERFMTW), LPWSTR
4450: 2c 20 69 6e 74 29 3b 0a 09 55 49 4e 54 20 47 65 , int);..UINT Ge
4460: 74 4f 45 4d 43 50 28 29 3b 0a 09 42 4f 4f 4c 20 tOEMCP();..BOOL
4470: 47 65 74 53 74 72 69 6e 67 54 79 70 65 41 28 4c GetStringTypeA(L
4480: 43 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 CID, DWORD, LPCS
4490: 54 52 2c 20 69 6e 74 2c 20 4c 50 57 4f 52 44 29 TR, int, LPWORD)
44a0: 3b 0a 09 42 4f 4f 4c 20 47 65 74 53 74 72 69 6e ;..BOOL GetStrin
44b0: 67 54 79 70 65 57 28 44 57 4f 52 44 2c 20 4c 50 gTypeW(DWORD, LP
44c0: 43 57 53 54 52 2c 20 69 6e 74 2c 20 4c 50 57 4f CWSTR, int, LPWO
44d0: 52 44 29 3b 0a 09 42 4f 4f 4c 20 47 65 74 53 74 RD);..BOOL GetSt
44e0: 72 69 6e 67 54 79 70 65 45 78 41 28 4c 43 49 44 ringTypeExA(LCID
44f0: 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c , DWORD, LPCSTR,
4500: 20 69 6e 74 2c 20 4c 50 57 4f 52 44 29 3b 0a 09 int, LPWORD);..
4510: 42 4f 4f 4c 20 47 65 74 53 74 72 69 6e 67 54 79 BOOL GetStringTy
4520: 70 65 45 78 57 28 4c 43 49 44 2c 20 44 57 4f 52 peExW(LCID, DWOR
4530: 44 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 2c D, LPCWSTR, int,
4540: 20 4c 50 57 4f 52 44 29 3b 0a 09 4c 41 4e 47 49 LPWORD);..LANGI
4550: 44 20 47 65 74 53 79 73 74 65 6d 44 65 66 61 75 D GetSystemDefau
4560: 6c 74 4c 61 6e 67 49 44 28 29 3b 0a 09 4c 43 49 ltLangID();..LCI
4570: 44 20 47 65 74 53 79 73 74 65 6d 44 65 66 61 75 D GetSystemDefau
4580: 6c 74 4c 43 49 44 28 29 3b 0a 09 4c 43 49 44 20 ltLCID();..LCID
4590: 47 65 74 54 68 72 65 61 64 4c 6f 63 61 6c 65 28 GetThreadLocale(
45a0: 29 3b 0a 09 69 6e 74 20 47 65 74 54 69 6d 65 46 );..int GetTimeF
45b0: 6f 72 6d 61 74 41 28 4c 43 49 44 2c 20 44 57 4f ormatA(LCID, DWO
45c0: 52 44 2c 20 20 43 50 74 72 21 28 53 59 53 54 45 RD, CPtr!(SYSTE
45d0: 4d 54 49 4d 45 29 2c 20 4c 50 43 53 54 52 2c 20 MTIME), LPCSTR,
45e0: 4c 50 53 54 52 2c 20 69 6e 74 29 3b 0a 09 69 6e LPSTR, int);..in
45f0: 74 20 47 65 74 54 69 6d 65 46 6f 72 6d 61 74 57 t GetTimeFormatW
4600: 28 4c 43 49 44 2c 20 44 57 4f 52 44 2c 20 20 43 (LCID, DWORD, C
4610: 50 74 72 21 28 53 59 53 54 45 4d 54 49 4d 45 29 Ptr!(SYSTEMTIME)
4620: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 , LPCWSTR, LPWST
4630: 52 2c 20 69 6e 74 29 3b 0a 09 4c 41 4e 47 49 44 R, int);..LANGID
4640: 20 47 65 74 55 73 65 72 44 65 66 61 75 6c 74 4c GetUserDefaultL
4650: 61 6e 67 49 44 28 29 3b 0a 09 4c 43 49 44 20 47 angID();..LCID G
4660: 65 74 55 73 65 72 44 65 66 61 75 6c 74 4c 43 49 etUserDefaultLCI
4670: 44 28 29 3b 0a 09 47 45 4f 49 44 20 47 65 74 55 D();..GEOID GetU
4680: 73 65 72 47 65 6f 49 44 28 47 45 4f 43 4c 41 53 serGeoID(GEOCLAS
4690: 53 29 3b 0a 09 42 4f 4f 4c 20 49 73 44 42 43 53 S);..BOOL IsDBCS
46a0: 4c 65 61 64 42 79 74 65 28 42 59 54 45 29 3b 0a LeadByte(BYTE);.
46b0: 09 42 4f 4f 4c 20 49 73 44 42 43 53 4c 65 61 64 .BOOL IsDBCSLead
46c0: 42 79 74 65 45 78 28 55 49 4e 54 2c 20 42 59 54 ByteEx(UINT, BYT
46d0: 45 29 3b 0a 09 42 4f 4f 4c 20 49 73 4e 4c 53 44 E);..BOOL IsNLSD
46e0: 65 66 69 6e 65 64 53 74 72 69 6e 67 28 4e 4c 53 efinedString(NLS
46f0: 5f 46 55 4e 43 54 49 4f 4e 2c 20 44 57 4f 52 44 _FUNCTION, DWORD
4700: 2c 20 4c 50 4e 4c 53 56 45 52 53 49 4f 4e 49 4e , LPNLSVERSIONIN
4710: 46 4f 2c 20 4c 50 43 57 53 54 52 2c 0a 09 20 20 FO, LPCWSTR,..
4720: 69 6e 74 29 3b 0a 09 42 4f 4f 4c 20 49 73 56 61 int);..BOOL IsVa
4730: 6c 69 64 43 6f 64 65 50 61 67 65 28 55 49 4e 54 lidCodePage(UINT
4740: 29 3b 0a 09 42 4f 4f 4c 20 49 73 56 61 6c 69 64 );..BOOL IsValid
4750: 4c 6f 63 61 6c 65 28 4c 43 49 44 2c 20 44 57 4f Locale(LCID, DWO
4760: 52 44 29 3b 0a 09 69 6e 74 20 4c 43 4d 61 70 53 RD);..int LCMapS
4770: 74 72 69 6e 67 41 28 4c 43 49 44 2c 20 44 57 4f tringA(LCID, DWO
4780: 52 44 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 2c RD, LPCSTR, int,
4790: 20 4c 50 53 54 52 2c 20 69 6e 74 29 3b 0a 09 69 LPSTR, int);..i
47a0: 6e 74 20 4c 43 4d 61 70 53 74 72 69 6e 67 57 28 nt LCMapStringW(
47b0: 4c 43 49 44 2c 20 44 57 4f 52 44 2c 20 4c 50 43 LCID, DWORD, LPC
47c0: 57 53 54 52 2c 20 69 6e 74 2c 20 4c 50 57 53 54 WSTR, int, LPWST
47d0: 52 2c 20 69 6e 74 29 3b 0a 09 69 6e 74 20 4d 75 R, int);..int Mu
47e0: 6c 74 69 42 79 74 65 54 6f 57 69 64 65 43 68 61 ltiByteToWideCha
47f0: 72 28 55 49 4e 54 2c 20 44 57 4f 52 44 2c 20 4c r(UINT, DWORD, L
4800: 50 43 53 54 52 2c 20 69 6e 74 2c 20 4c 50 57 53 PCSTR, int, LPWS
4810: 54 52 2c 20 69 6e 74 29 3b 0a 09 69 6e 74 20 53 TR, int);..int S
4820: 65 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f 41 28 etCalendarInfoA(
4830: 4c 43 49 44 2c 20 43 41 4c 49 44 2c 20 43 41 4c LCID, CALID, CAL
4840: 54 59 50 45 2c 20 4c 50 43 53 54 52 29 3b 0a 09 TYPE, LPCSTR);..
4850: 69 6e 74 20 53 65 74 43 61 6c 65 6e 64 61 72 49 int SetCalendarI
4860: 6e 66 6f 57 28 4c 43 49 44 2c 20 43 41 4c 49 44 nfoW(LCID, CALID
4870: 2c 20 43 41 4c 54 59 50 45 2c 20 4c 50 43 57 53 , CALTYPE, LPCWS
4880: 54 52 29 3b 0a 09 42 4f 4f 4c 20 53 65 74 4c 6f TR);..BOOL SetLo
4890: 63 61 6c 65 49 6e 66 6f 41 28 4c 43 49 44 2c 20 caleInfoA(LCID,
48a0: 4c 43 54 59 50 45 2c 20 4c 50 43 53 54 52 29 3b LCTYPE, LPCSTR);
48b0: 0a 09 42 4f 4f 4c 20 53 65 74 4c 6f 63 61 6c 65 ..BOOL SetLocale
48c0: 49 6e 66 6f 57 28 4c 43 49 44 2c 20 4c 43 54 59 InfoW(LCID, LCTY
48d0: 50 45 2c 20 4c 50 43 57 53 54 52 29 3b 0a 09 42 PE, LPCWSTR);..B
48e0: 4f 4f 4c 20 53 65 74 54 68 72 65 61 64 4c 6f 63 OOL SetThreadLoc
48f0: 61 6c 65 28 4c 43 49 44 29 3b 0a 09 42 4f 4f 4c ale(LCID);..BOOL
4900: 20 53 65 74 55 73 65 72 47 65 6f 49 44 28 47 45 SetUserGeoID(GE
4910: 4f 49 44 29 3b 0a 09 69 6e 74 20 57 69 64 65 43 OID);..int WideC
4920: 68 61 72 54 6f 4d 75 6c 74 69 42 79 74 65 28 55 harToMultiByte(U
4930: 49 4e 54 2c 20 44 57 4f 52 44 2c 20 4c 50 43 57 INT, DWORD, LPCW
4940: 53 54 52 2c 20 69 6e 74 2c 20 4c 50 53 54 52 2c STR, int, LPSTR,
4950: 20 69 6e 74 2c 20 4c 50 43 53 54 52 2c 0a 09 20 int, LPCSTR,..
4960: 20 4c 50 42 4f 4f 4c 29 3b 0a 0a 09 73 74 61 74 LPBOOL);...stat
4970: 69 63 20 69 66 20 28 57 49 4e 56 45 52 20 3e 3d ic if (WINVER >=
4980: 20 30 78 34 31 30 29 20 7b 0a 09 09 42 4f 4f 4c 0x410) {...BOOL
4990: 20 45 6e 75 6d 43 61 6c 65 6e 64 61 72 49 6e 66 EnumCalendarInf
49a0: 6f 45 78 41 28 43 41 4c 49 4e 46 4f 5f 45 4e 55 oExA(CALINFO_ENU
49b0: 4d 50 52 4f 43 45 58 41 2c 20 4c 43 49 44 2c 20 MPROCEXA, LCID,
49c0: 43 41 4c 49 44 2c 20 43 41 4c 54 59 50 45 29 3b CALID, CALTYPE);
49d0: 0a 09 09 42 4f 4f 4c 20 45 6e 75 6d 43 61 6c 65 ...BOOL EnumCale
49e0: 6e 64 61 72 49 6e 66 6f 45 78 57 28 43 41 4c 49 ndarInfoExW(CALI
49f0: 4e 46 4f 5f 45 4e 55 4d 50 52 4f 43 45 58 57 2c NFO_ENUMPROCEXW,
4a00: 20 4c 43 49 44 2c 20 43 41 4c 49 44 2c 20 43 41 LCID, CALID, CA
4a10: 4c 54 59 50 45 29 3b 0a 09 09 42 4f 4f 4c 20 45 LTYPE);...BOOL E
4a20: 6e 75 6d 44 61 74 65 46 6f 72 6d 61 74 73 45 78 numDateFormatsEx
4a30: 41 28 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 52 A(DATEFMT_ENUMPR
4a40: 4f 43 45 58 41 2c 20 4c 43 49 44 2c 20 44 57 4f OCEXA, LCID, DWO
4a50: 52 44 29 3b 0a 09 09 42 4f 4f 4c 20 45 6e 75 6d RD);...BOOL Enum
4a60: 44 61 74 65 46 6f 72 6d 61 74 73 45 78 57 28 44 DateFormatsExW(D
4a70: 41 54 45 46 4d 54 5f 45 4e 55 4d 50 52 4f 43 45 ATEFMT_ENUMPROCE
4a80: 58 57 2c 20 4c 43 49 44 2c 20 44 57 4f 52 44 29 XW, LCID, DWORD)
4a90: 3b 0a 09 09 42 4f 4f 4c 20 49 73 56 61 6c 69 64 ;...BOOL IsValid
4aa0: 4c 61 6e 67 75 61 67 65 47 72 6f 75 70 28 4c 47 LanguageGroup(LG
4ab0: 52 50 49 44 2c 20 44 57 4f 52 44 29 3b 0a 09 7d RPID, DWORD);..}
4ac0: 0a 0a 09 73 74 61 74 69 63 20 69 66 20 28 57 49 ...static if (WI
4ad0: 4e 56 45 52 20 3e 3d 20 30 78 35 30 30 29 20 7b NVER >= 0x500) {
4ae0: 0a 09 09 4c 41 4e 47 49 44 20 47 65 74 53 79 73 ...LANGID GetSys
4af0: 74 65 6d 44 65 66 61 75 6c 74 55 49 4c 61 6e 67 temDefaultUILang
4b00: 75 61 67 65 28 29 3b 0a 09 09 4c 41 4e 47 49 44 uage();...LANGID
4b10: 20 47 65 74 55 73 65 72 44 65 66 61 75 6c 74 55 GetUserDefaultU
4b20: 49 4c 61 6e 67 75 61 67 65 28 29 3b 0a 0a 09 09 ILanguage();....
4b30: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 static if (_WIN3
4b40: 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 29 20 7b 0a 2_WINNT_ONLY) {.
4b50: 09 09 09 42 4f 4f 4c 20 45 6e 75 6d 53 79 73 74 ...BOOL EnumSyst
4b60: 65 6d 4c 61 6e 67 75 61 67 65 47 72 6f 75 70 73 emLanguageGroups
4b70: 41 28 4c 41 4e 47 55 41 47 45 47 52 4f 55 50 5f A(LANGUAGEGROUP_
4b80: 45 4e 55 4d 50 52 4f 43 41 2c 20 44 57 4f 52 44 ENUMPROCA, DWORD
4b90: 2c 0a 09 09 09 20 20 4c 4f 4e 47 5f 50 54 52 29 ,.... LONG_PTR)
4ba0: 3b 0a 09 09 09 42 4f 4f 4c 20 45 6e 75 6d 53 79 ;....BOOL EnumSy
4bb0: 73 74 65 6d 4c 61 6e 67 75 61 67 65 47 72 6f 75 stemLanguageGrou
4bc0: 70 73 57 28 4c 41 4e 47 55 41 47 45 47 52 4f 55 psW(LANGUAGEGROU
4bd0: 50 5f 45 4e 55 4d 50 52 4f 43 57 2c 20 44 57 4f P_ENUMPROCW, DWO
4be0: 52 44 2c 0a 09 09 09 20 20 4c 4f 4e 47 5f 50 54 RD,.... LONG_PT
4bf0: 52 29 3b 0a 09 09 09 42 4f 4f 4c 20 45 6e 75 6d R);....BOOL Enum
4c00: 4c 61 6e 67 75 61 67 65 47 72 6f 75 70 4c 6f 63 LanguageGroupLoc
4c10: 61 6c 65 73 41 28 4c 41 4e 47 47 52 4f 55 50 4c alesA(LANGGROUPL
4c20: 4f 43 41 4c 45 5f 45 4e 55 4d 50 52 4f 43 41 2c OCALE_ENUMPROCA,
4c30: 20 4c 47 52 50 49 44 2c 0a 09 09 09 20 20 44 57 LGRPID,.... DW
4c40: 4f 52 44 2c 20 4c 4f 4e 47 5f 50 54 52 29 3b 0a ORD, LONG_PTR);.
4c50: 09 09 09 42 4f 4f 4c 20 45 6e 75 6d 4c 61 6e 67 ...BOOL EnumLang
4c60: 75 61 67 65 47 72 6f 75 70 4c 6f 63 61 6c 65 73 uageGroupLocales
4c70: 57 28 4c 41 4e 47 47 52 4f 55 50 4c 4f 43 41 4c W(LANGGROUPLOCAL
4c80: 45 5f 45 4e 55 4d 50 52 4f 43 57 2c 20 4c 47 52 E_ENUMPROCW, LGR
4c90: 50 49 44 2c 0a 09 09 09 20 20 44 57 4f 52 44 2c PID,.... DWORD,
4ca0: 20 4c 4f 4e 47 5f 50 54 52 29 3b 0a 09 09 09 42 LONG_PTR);....B
4cb0: 4f 4f 4c 20 45 6e 75 6d 55 49 4c 61 6e 67 75 61 OOL EnumUILangua
4cc0: 67 65 73 41 28 55 49 4c 41 4e 47 55 41 47 45 5f gesA(UILANGUAGE_
4cd0: 45 4e 55 4d 50 52 4f 43 41 2c 20 44 57 4f 52 44 ENUMPROCA, DWORD
4ce0: 2c 20 4c 4f 4e 47 5f 50 54 52 29 3b 0a 09 09 09 , LONG_PTR);....
4cf0: 42 4f 4f 4c 20 45 6e 75 6d 55 49 4c 61 6e 67 75 BOOL EnumUILangu
4d00: 61 67 65 73 57 28 55 49 4c 41 4e 47 55 41 47 45 agesW(UILANGUAGE
4d10: 5f 45 4e 55 4d 50 52 4f 43 57 2c 20 44 57 4f 52 _ENUMPROCW, DWOR
4d20: 44 2c 20 4c 4f 4e 47 5f 50 54 52 29 3b 0a 09 09 D, LONG_PTR);...
4d30: 7d 0a 09 7d 0a 7d 0a 0a 76 65 72 73 69 6f 6e 20 }..}.}..version
4d40: 28 55 6e 69 63 6f 64 65 29 20 7b 0a 09 61 6c 69 (Unicode) {..ali
4d50: 61 73 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 4d 50 as CALINFO_ENUMP
4d60: 52 4f 43 57 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 ROCW CALINFO_ENU
4d70: 4d 50 52 4f 43 3b 0a 09 61 6c 69 61 73 20 43 41 MPROC;..alias CA
4d80: 4c 49 4e 46 4f 5f 45 4e 55 4d 50 52 4f 43 45 58 LINFO_ENUMPROCEX
4d90: 57 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 4d 50 52 W CALINFO_ENUMPR
4da0: 4f 43 45 58 3b 0a 09 61 6c 69 61 73 20 4c 4f 43 OCEX;..alias LOC
4db0: 41 4c 45 5f 45 4e 55 4d 50 52 4f 43 57 20 4c 4f ALE_ENUMPROCW LO
4dc0: 43 41 4c 45 5f 45 4e 55 4d 50 52 4f 43 3b 0a 09 CALE_ENUMPROC;..
4dd0: 61 6c 69 61 73 20 43 4f 44 45 50 41 47 45 5f 45 alias CODEPAGE_E
4de0: 4e 55 4d 50 52 4f 43 57 20 43 4f 44 45 50 41 47 NUMPROCW CODEPAG
4df0: 45 5f 45 4e 55 4d 50 52 4f 43 3b 0a 09 61 6c 69 E_ENUMPROC;..ali
4e00: 61 73 20 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 as DATEFMT_ENUMP
4e10: 52 4f 43 57 20 44 41 54 45 46 4d 54 5f 45 4e 55 ROCW DATEFMT_ENU
4e20: 4d 50 52 4f 43 3b 0a 09 61 6c 69 61 73 20 44 41 MPROC;..alias DA
4e30: 54 45 46 4d 54 5f 45 4e 55 4d 50 52 4f 43 45 58 TEFMT_ENUMPROCEX
4e40: 57 20 44 41 54 45 46 4d 54 5f 45 4e 55 4d 50 52 W DATEFMT_ENUMPR
4e50: 4f 43 45 58 3b 0a 09 61 6c 69 61 73 20 54 49 4d OCEX;..alias TIM
4e60: 45 46 4d 54 5f 45 4e 55 4d 50 52 4f 43 57 20 54 EFMT_ENUMPROCW T
4e70: 49 4d 45 46 4d 54 5f 45 4e 55 4d 50 52 4f 43 3b IMEFMT_ENUMPROC;
4e80: 0a 09 61 6c 69 61 73 20 4c 41 4e 47 55 41 47 45 ..alias LANGUAGE
4e90: 47 52 4f 55 50 5f 45 4e 55 4d 50 52 4f 43 57 20 GROUP_ENUMPROCW
4ea0: 4c 41 4e 47 55 41 47 45 47 52 4f 55 50 5f 45 4e LANGUAGEGROUP_EN
4eb0: 55 4d 50 52 4f 43 3b 0a 09 61 6c 69 61 73 20 4c UMPROC;..alias L
4ec0: 41 4e 47 47 52 4f 55 50 4c 4f 43 41 4c 45 5f 45 ANGGROUPLOCALE_E
4ed0: 4e 55 4d 50 52 4f 43 57 20 4c 41 4e 47 47 52 4f NUMPROCW LANGGRO
4ee0: 55 50 4c 4f 43 41 4c 45 5f 45 4e 55 4d 50 52 4f UPLOCALE_ENUMPRO
4ef0: 43 3b 0a 09 61 6c 69 61 73 20 55 49 4c 41 4e 47 C;..alias UILANG
4f00: 55 41 47 45 5f 45 4e 55 4d 50 52 4f 43 57 20 55 UAGE_ENUMPROCW U
4f10: 49 4c 41 4e 47 55 41 47 45 5f 45 4e 55 4d 50 52 ILANGUAGE_ENUMPR
4f20: 4f 43 3b 0a 09 61 6c 69 61 73 20 43 50 49 4e 46 OC;..alias CPINF
4f30: 4f 45 58 57 20 43 50 49 4e 46 4f 45 58 3b 0a 09 OEXW CPINFOEX;..
4f40: 61 6c 69 61 73 20 4c 50 43 50 49 4e 46 4f 45 58 alias LPCPINFOEX
4f50: 57 20 4c 50 43 50 49 4e 46 4f 45 58 3b 0a 09 61 W LPCPINFOEX;..a
4f60: 6c 69 61 73 20 43 55 52 52 45 4e 43 59 46 4d 54 lias CURRENCYFMT
4f70: 57 20 43 55 52 52 45 4e 43 59 46 4d 54 3b 0a 09 W CURRENCYFMT;..
4f80: 61 6c 69 61 73 20 4c 50 43 55 52 52 45 4e 43 59 alias LPCURRENCY
4f90: 46 4d 54 57 20 4c 50 43 55 52 52 45 4e 43 59 46 FMTW LPCURRENCYF
4fa0: 4d 54 3b 0a 09 61 6c 69 61 73 20 4e 55 4d 42 45 MT;..alias NUMBE
4fb0: 52 46 4d 54 57 20 4e 55 4d 42 45 52 46 4d 54 3b RFMTW NUMBERFMT;
4fc0: 0a 09 61 6c 69 61 73 20 4c 50 4e 55 4d 42 45 52 ..alias LPNUMBER
4fd0: 46 4d 54 57 20 4c 50 4e 55 4d 42 45 52 46 4d 54 FMTW LPNUMBERFMT
4fe0: 3b 0a 09 61 6c 69 61 73 20 43 6f 6d 70 61 72 65 ;..alias Compare
4ff0: 53 74 72 69 6e 67 57 20 43 6f 6d 70 61 72 65 53 StringW CompareS
5000: 74 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20 45 6e tring;..alias En
5010: 75 6d 43 61 6c 65 6e 64 61 72 49 6e 66 6f 57 20 umCalendarInfoW
5020: 45 6e 75 6d 43 61 6c 65 6e 64 61 72 49 6e 66 6f EnumCalendarInfo
5030: 3b 0a 09 61 6c 69 61 73 20 45 6e 75 6d 53 79 73 ;..alias EnumSys
5040: 74 65 6d 43 6f 64 65 50 61 67 65 73 57 20 45 6e temCodePagesW En
5050: 75 6d 53 79 73 74 65 6d 43 6f 64 65 50 61 67 65 umSystemCodePage
5060: 73 3b 0a 09 61 6c 69 61 73 20 45 6e 75 6d 53 79 s;..alias EnumSy
5070: 73 74 65 6d 4c 6f 63 61 6c 65 73 57 20 45 6e 75 stemLocalesW Enu
5080: 6d 53 79 73 74 65 6d 4c 6f 63 61 6c 65 73 3b 0a mSystemLocales;.
5090: 09 61 6c 69 61 73 20 45 6e 75 6d 54 69 6d 65 46 .alias EnumTimeF
50a0: 6f 72 6d 61 74 73 57 20 45 6e 75 6d 54 69 6d 65 ormatsW EnumTime
50b0: 46 6f 72 6d 61 74 73 3b 0a 09 61 6c 69 61 73 20 Formats;..alias
50c0: 46 6f 6c 64 53 74 72 69 6e 67 57 20 46 6f 6c 64 FoldStringW Fold
50d0: 53 74 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20 47 String;..alias G
50e0: 65 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f 57 20 etCalendarInfoW
50f0: 47 65 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f 3b GetCalendarInfo;
5100: 0a 09 61 6c 69 61 73 20 47 65 74 43 50 49 6e 66 ..alias GetCPInf
5110: 6f 45 78 57 20 47 65 74 43 50 49 6e 66 6f 45 78 oExW GetCPInfoEx
5120: 3b 0a 09 61 6c 69 61 73 20 47 65 74 43 75 72 72 ;..alias GetCurr
5130: 65 6e 63 79 46 6f 72 6d 61 74 57 20 47 65 74 43 encyFormatW GetC
5140: 75 72 72 65 6e 63 79 46 6f 72 6d 61 74 3b 0a 09 urrencyFormat;..
5150: 61 6c 69 61 73 20 47 65 74 44 61 74 65 46 6f 72 alias GetDateFor
5160: 6d 61 74 57 20 47 65 74 44 61 74 65 46 6f 72 6d matW GetDateForm
5170: 61 74 3b 0a 09 61 6c 69 61 73 20 47 65 74 47 65 at;..alias GetGe
5180: 6f 49 6e 66 6f 57 20 47 65 74 47 65 6f 49 6e 66 oInfoW GetGeoInf
5190: 6f 3b 0a 09 61 6c 69 61 73 20 47 65 74 4c 6f 63 o;..alias GetLoc
51a0: 61 6c 65 49 6e 66 6f 57 20 47 65 74 4c 6f 63 61 aleInfoW GetLoca
51b0: 6c 65 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 47 leInfo;..alias G
51c0: 65 74 4e 75 6d 62 65 72 46 6f 72 6d 61 74 57 20 etNumberFormatW
51d0: 47 65 74 4e 75 6d 62 65 72 46 6f 72 6d 61 74 3b GetNumberFormat;
51e0: 0a 09 61 6c 69 61 73 20 47 65 74 53 74 72 69 6e ..alias GetStrin
51f0: 67 54 79 70 65 45 78 57 20 47 65 74 53 74 72 69 gTypeExW GetStri
5200: 6e 67 54 79 70 65 45 78 3b 0a 09 61 6c 69 61 73 ngTypeEx;..alias
5210: 20 47 65 74 54 69 6d 65 46 6f 72 6d 61 74 57 20 GetTimeFormatW
5220: 47 65 74 54 69 6d 65 46 6f 72 6d 61 74 3b 0a 09 GetTimeFormat;..
5230: 61 6c 69 61 73 20 4c 43 4d 61 70 53 74 72 69 6e alias LCMapStrin
5240: 67 57 20 4c 43 4d 61 70 53 74 72 69 6e 67 3b 0a gW LCMapString;.
5250: 09 61 6c 69 61 73 20 53 65 74 43 61 6c 65 6e 64 .alias SetCalend
5260: 61 72 49 6e 66 6f 57 20 53 65 74 43 61 6c 65 6e arInfoW SetCalen
5270: 64 61 72 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 darInfo;..alias
5280: 53 65 74 4c 6f 63 61 6c 65 49 6e 66 6f 57 20 53 SetLocaleInfoW S
5290: 65 74 4c 6f 63 61 6c 65 49 6e 66 6f 3b 0a 0a 09 etLocaleInfo;...
52a0: 73 74 61 74 69 63 20 69 66 20 28 57 49 4e 56 45 static if (WINVE
52b0: 52 20 3e 3d 20 30 78 34 31 30 29 20 7b 0a 09 09 R >= 0x410) {...
52c0: 61 6c 69 61 73 20 45 6e 75 6d 43 61 6c 65 6e 64 alias EnumCalend
52d0: 61 72 49 6e 66 6f 45 78 57 20 45 6e 75 6d 43 61 arInfoExW EnumCa
52e0: 6c 65 6e 64 61 72 49 6e 66 6f 45 78 3b 0a 09 09 lendarInfoEx;...
52f0: 61 6c 69 61 73 20 45 6e 75 6d 44 61 74 65 46 6f alias EnumDateFo
5300: 72 6d 61 74 73 45 78 57 20 45 6e 75 6d 44 61 74 rmatsExW EnumDat
5310: 65 46 6f 72 6d 61 74 73 45 78 3b 0a 09 7d 0a 0a eFormatsEx;..}..
5320: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN
5330: 33 32 5f 57 49 4e 4e 54 5f 4f 4e 4c 59 20 26 26 32_WINNT_ONLY &&
5340: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 35 30 30 WINVER >= 0x500
5350: 29 20 7b 0a 09 09 61 6c 69 61 73 20 45 6e 75 6d ) {...alias Enum
5360: 53 79 73 74 65 6d 4c 61 6e 67 75 61 67 65 47 72 SystemLanguageGr
5370: 6f 75 70 73 57 20 45 6e 75 6d 53 79 73 74 65 6d oupsW EnumSystem
5380: 4c 61 6e 67 75 61 67 65 47 72 6f 75 70 73 3b 0a LanguageGroups;.
5390: 09 09 61 6c 69 61 73 20 45 6e 75 6d 4c 61 6e 67 ..alias EnumLang
53a0: 75 61 67 65 47 72 6f 75 70 4c 6f 63 61 6c 65 73 uageGroupLocales
53b0: 57 20 45 6e 75 6d 4c 61 6e 67 75 61 67 65 47 72 W EnumLanguageGr
53c0: 6f 75 70 4c 6f 63 61 6c 65 73 3b 0a 09 09 61 6c oupLocales;...al
53d0: 69 61 73 20 45 6e 75 6d 55 49 4c 61 6e 67 75 61 ias EnumUILangua
53e0: 67 65 73 57 20 45 6e 75 6d 55 49 4c 61 6e 67 75 gesW EnumUILangu
53f0: 61 67 65 73 3b 0a 09 7d 0a 0a 7d 20 65 6c 73 65 ages;..}..} else
5400: 20 7b 0a 09 61 6c 69 61 73 20 43 41 4c 49 4e 46 {..alias CALINF
5410: 4f 5f 45 4e 55 4d 50 52 4f 43 41 20 43 41 4c 49 O_ENUMPROCA CALI
5420: 4e 46 4f 5f 45 4e 55 4d 50 52 4f 43 3b 0a 09 61 NFO_ENUMPROC;..a
5430: 6c 69 61 73 20 43 41 4c 49 4e 46 4f 5f 45 4e 55 lias CALINFO_ENU
5440: 4d 50 52 4f 43 45 58 41 20 43 41 4c 49 4e 46 4f MPROCEXA CALINFO
5450: 5f 45 4e 55 4d 50 52 4f 43 45 58 3b 0a 09 61 6c _ENUMPROCEX;..al
5460: 69 61 73 20 4c 4f 43 41 4c 45 5f 45 4e 55 4d 50 ias LOCALE_ENUMP
5470: 52 4f 43 41 20 4c 4f 43 41 4c 45 5f 45 4e 55 4d ROCA LOCALE_ENUM
5480: 50 52 4f 43 3b 0a 09 61 6c 69 61 73 20 43 4f 44 PROC;..alias COD
5490: 45 50 41 47 45 5f 45 4e 55 4d 50 52 4f 43 41 20 EPAGE_ENUMPROCA
54a0: 43 4f 44 45 50 41 47 45 5f 45 4e 55 4d 50 52 4f CODEPAGE_ENUMPRO
54b0: 43 3b 0a 09 61 6c 69 61 73 20 44 41 54 45 46 4d C;..alias DATEFM
54c0: 54 5f 45 4e 55 4d 50 52 4f 43 41 20 44 41 54 45 T_ENUMPROCA DATE
54d0: 46 4d 54 5f 45 4e 55 4d 50 52 4f 43 3b 0a 09 61 FMT_ENUMPROC;..a
54e0: 6c 69 61 73 20 44 41 54 45 46 4d 54 5f 45 4e 55 lias DATEFMT_ENU
54f0: 4d 50 52 4f 43 45 58 41 20 44 41 54 45 46 4d 54 MPROCEXA DATEFMT
5500: 5f 45 4e 55 4d 50 52 4f 43 45 58 3b 0a 09 61 6c _ENUMPROCEX;..al
5510: 69 61 73 20 54 49 4d 45 46 4d 54 5f 45 4e 55 4d ias TIMEFMT_ENUM
5520: 50 52 4f 43 41 20 54 49 4d 45 46 4d 54 5f 45 4e PROCA TIMEFMT_EN
5530: 55 4d 50 52 4f 43 3b 0a 09 61 6c 69 61 73 20 4c UMPROC;..alias L
5540: 41 4e 47 55 41 47 45 47 52 4f 55 50 5f 45 4e 55 ANGUAGEGROUP_ENU
5550: 4d 50 52 4f 43 41 20 4c 41 4e 47 55 41 47 45 47 MPROCA LANGUAGEG
5560: 52 4f 55 50 5f 45 4e 55 4d 50 52 4f 43 3b 0a 09 ROUP_ENUMPROC;..
5570: 61 6c 69 61 73 20 4c 41 4e 47 47 52 4f 55 50 4c alias LANGGROUPL
5580: 4f 43 41 4c 45 5f 45 4e 55 4d 50 52 4f 43 41 20 OCALE_ENUMPROCA
5590: 4c 41 4e 47 47 52 4f 55 50 4c 4f 43 41 4c 45 5f LANGGROUPLOCALE_
55a0: 45 4e 55 4d 50 52 4f 43 3b 0a 09 61 6c 69 61 73 ENUMPROC;..alias
55b0: 20 55 49 4c 41 4e 47 55 41 47 45 5f 45 4e 55 4d UILANGUAGE_ENUM
55c0: 50 52 4f 43 41 20 55 49 4c 41 4e 47 55 41 47 45 PROCA UILANGUAGE
55d0: 5f 45 4e 55 4d 50 52 4f 43 3b 0a 09 61 6c 69 61 _ENUMPROC;..alia
55e0: 73 20 43 50 49 4e 46 4f 45 58 41 20 43 50 49 4e s CPINFOEXA CPIN
55f0: 46 4f 45 58 3b 0a 09 61 6c 69 61 73 20 4c 50 43 FOEX;..alias LPC
5600: 50 49 4e 46 4f 45 58 41 20 4c 50 43 50 49 4e 46 PINFOEXA LPCPINF
5610: 4f 45 58 3b 0a 09 61 6c 69 61 73 20 43 55 52 52 OEX;..alias CURR
5620: 45 4e 43 59 46 4d 54 41 20 43 55 52 52 45 4e 43 ENCYFMTA CURRENC
5630: 59 46 4d 54 3b 0a 09 61 6c 69 61 73 20 4c 50 43 YFMT;..alias LPC
5640: 55 52 52 45 4e 43 59 46 4d 54 41 20 4c 50 43 55 URRENCYFMTA LPCU
5650: 52 52 45 4e 43 59 46 4d 54 3b 0a 09 61 6c 69 61 RRENCYFMT;..alia
5660: 73 20 4e 55 4d 42 45 52 46 4d 54 41 20 4e 55 4d s NUMBERFMTA NUM
5670: 42 45 52 46 4d 54 3b 0a 09 61 6c 69 61 73 20 4c BERFMT;..alias L
5680: 50 4e 55 4d 42 45 52 46 4d 54 41 20 4c 50 4e 55 PNUMBERFMTA LPNU
5690: 4d 42 45 52 46 4d 54 3b 0a 09 61 6c 69 61 73 20 MBERFMT;..alias
56a0: 43 6f 6d 70 61 72 65 53 74 72 69 6e 67 41 20 43 CompareStringA C
56b0: 6f 6d 70 61 72 65 53 74 72 69 6e 67 3b 0a 09 61 ompareString;..a
56c0: 6c 69 61 73 20 45 6e 75 6d 43 61 6c 65 6e 64 61 lias EnumCalenda
56d0: 72 49 6e 66 6f 41 20 45 6e 75 6d 43 61 6c 65 6e rInfoA EnumCalen
56e0: 64 61 72 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 darInfo;..alias
56f0: 45 6e 75 6d 53 79 73 74 65 6d 43 6f 64 65 50 61 EnumSystemCodePa
5700: 67 65 73 41 20 45 6e 75 6d 53 79 73 74 65 6d 43 gesA EnumSystemC
5710: 6f 64 65 50 61 67 65 73 3b 0a 09 61 6c 69 61 73 odePages;..alias
5720: 20 45 6e 75 6d 53 79 73 74 65 6d 4c 6f 63 61 6c EnumSystemLocal
5730: 65 73 41 20 45 6e 75 6d 53 79 73 74 65 6d 4c 6f esA EnumSystemLo
5740: 63 61 6c 65 73 3b 0a 09 61 6c 69 61 73 20 45 6e cales;..alias En
5750: 75 6d 54 69 6d 65 46 6f 72 6d 61 74 73 41 20 45 umTimeFormatsA E
5760: 6e 75 6d 54 69 6d 65 46 6f 72 6d 61 74 73 3b 0a numTimeFormats;.
5770: 09 61 6c 69 61 73 20 46 6f 6c 64 53 74 72 69 6e .alias FoldStrin
5780: 67 41 20 46 6f 6c 64 53 74 72 69 6e 67 3b 0a 09 gA FoldString;..
5790: 61 6c 69 61 73 20 47 65 74 43 61 6c 65 6e 64 61 alias GetCalenda
57a0: 72 49 6e 66 6f 41 20 47 65 74 43 61 6c 65 6e 64 rInfoA GetCalend
57b0: 61 72 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 20 47 arInfo;..alias G
57c0: 65 74 43 50 49 6e 66 6f 45 78 41 20 47 65 74 43 etCPInfoExA GetC
57d0: 50 49 6e 66 6f 45 78 3b 0a 09 61 6c 69 61 73 20 PInfoEx;..alias
57e0: 47 65 74 43 75 72 72 65 6e 63 79 46 6f 72 6d 61 GetCurrencyForma
57f0: 74 41 20 47 65 74 43 75 72 72 65 6e 63 79 46 6f tA GetCurrencyFo
5800: 72 6d 61 74 3b 0a 09 61 6c 69 61 73 20 47 65 74 rmat;..alias Get
5810: 44 61 74 65 46 6f 72 6d 61 74 41 20 47 65 74 44 DateFormatA GetD
5820: 61 74 65 46 6f 72 6d 61 74 3b 0a 09 61 6c 69 61 ateFormat;..alia
5830: 73 20 47 65 74 47 65 6f 49 6e 66 6f 41 20 47 65 s GetGeoInfoA Ge
5840: 74 47 65 6f 49 6e 66 6f 3b 0a 09 61 6c 69 61 73 tGeoInfo;..alias
5850: 20 47 65 74 4c 6f 63 61 6c 65 49 6e 66 6f 41 20 GetLocaleInfoA
5860: 47 65 74 4c 6f 63 61 6c 65 49 6e 66 6f 3b 0a 09 GetLocaleInfo;..
5870: 61 6c 69 61 73 20 47 65 74 4e 75 6d 62 65 72 46 alias GetNumberF
5880: 6f 72 6d 61 74 41 20 47 65 74 4e 75 6d 62 65 72 ormatA GetNumber
5890: 46 6f 72 6d 61 74 3b 0a 09 61 6c 69 61 73 20 47 Format;..alias G
58a0: 65 74 53 74 72 69 6e 67 54 79 70 65 45 78 41 20 etStringTypeExA
58b0: 47 65 74 53 74 72 69 6e 67 54 79 70 65 45 78 3b GetStringTypeEx;
58c0: 0a 09 61 6c 69 61 73 20 47 65 74 54 69 6d 65 46 ..alias GetTimeF
58d0: 6f 72 6d 61 74 41 20 47 65 74 54 69 6d 65 46 6f ormatA GetTimeFo
58e0: 72 6d 61 74 3b 0a 09 61 6c 69 61 73 20 4c 43 4d rmat;..alias LCM
58f0: 61 70 53 74 72 69 6e 67 41 20 4c 43 4d 61 70 53 apStringA LCMapS
5900: 74 72 69 6e 67 3b 0a 09 61 6c 69 61 73 20 53 65 tring;..alias Se
5910: 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f 41 20 53 tCalendarInfoA S
5920: 65 74 43 61 6c 65 6e 64 61 72 49 6e 66 6f 3b 0a etCalendarInfo;.
5930: 09 61 6c 69 61 73 20 53 65 74 4c 6f 63 61 6c 65 .alias SetLocale
5940: 49 6e 66 6f 41 20 53 65 74 4c 6f 63 61 6c 65 49 InfoA SetLocaleI
5950: 6e 66 6f 3b 0a 0a 09 73 74 61 74 69 63 20 69 66 nfo;...static if
5960: 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 34 31 (WINVER >= 0x41
5970: 30 29 20 7b 0a 09 09 61 6c 69 61 73 20 45 6e 75 0) {...alias Enu
5980: 6d 43 61 6c 65 6e 64 61 72 49 6e 66 6f 45 78 41 mCalendarInfoExA
5990: 20 45 6e 75 6d 43 61 6c 65 6e 64 61 72 49 6e 66 EnumCalendarInf
59a0: 6f 45 78 3b 0a 09 09 61 6c 69 61 73 20 45 6e 75 oEx;...alias Enu
59b0: 6d 44 61 74 65 46 6f 72 6d 61 74 73 45 78 41 20 mDateFormatsExA
59c0: 45 6e 75 6d 44 61 74 65 46 6f 72 6d 61 74 73 45 EnumDateFormatsE
59d0: 78 3b 0a 09 7d 0a 0a 09 73 74 61 74 69 63 20 69 x;..}...static i
59e0: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 5f f (_WIN32_WINNT_
59f0: 4f 4e 4c 59 20 26 26 20 57 49 4e 56 45 52 20 3e ONLY && WINVER >
5a00: 3d 20 30 78 35 30 30 29 20 7b 0a 09 09 61 6c 69 = 0x500) {...ali
5a10: 61 73 20 45 6e 75 6d 53 79 73 74 65 6d 4c 61 6e as EnumSystemLan
5a20: 67 75 61 67 65 47 72 6f 75 70 73 41 20 45 6e 75 guageGroupsA Enu
5a30: 6d 53 79 73 74 65 6d 4c 61 6e 67 75 61 67 65 47 mSystemLanguageG
5a40: 72 6f 75 70 73 3b 0a 09 09 61 6c 69 61 73 20 45 roups;...alias E
5a50: 6e 75 6d 4c 61 6e 67 75 61 67 65 47 72 6f 75 70 numLanguageGroup
5a60: 4c 6f 63 61 6c 65 73 41 20 45 6e 75 6d 4c 61 6e LocalesA EnumLan
5a70: 67 75 61 67 65 47 72 6f 75 70 4c 6f 63 61 6c 65 guageGroupLocale
5a80: 73 3b 0a 09 09 61 6c 69 61 73 20 45 6e 75 6d 55 s;...alias EnumU
5a90: 49 4c 61 6e 67 75 61 67 65 73 41 20 45 6e 75 6d ILanguagesA Enum
5aa0: 55 49 4c 61 6e 67 75 61 67 65 73 3b 0a 09 7d 0a UILanguages;..}.
5ab0: 7d 0a }.