Differences From Artifact [50bd587780b74515]:
- File        
src/win32/winnls.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
 
To Artifact [7ac912f533a75996]:
- File        
src/win32/winnls.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
 
                                                                                        >     1  /***********************************************************************\
                                                                                        >     2  *                                winnls.d                               *
                                                                                        >     3  *                                                                       *
                                                                                        >     4  *                       Windows API header module                       *
                                                                                        >     5  *                                                                       *
                                                                                        >     6  *                 Translated from MinGW Windows headers                 *
                                                                                        >     7  *                           by Stewart Gordon                           *
                                                                                        >     8  *                                                                       *
                                                                                        >     9  *                       Placed into public domain                       *
                                                                                        >    10  \***********************************************************************/
    1  module win32.winnls;                                                                  11  module win32.winnls;
                                                                                        >    12  pragma(lib, "kernel32.lib");
    2                                                                                   |    13  
    3  // Translated from Microsoft Platform SDK August 2001 Edition                    <
    4  // by Y.Tomino                                                                   |    14  private import win32.basetsd, win32.w32api, win32.winbase, win32.windef;
    5                                                                                   |    15  
    6  import win32.windef;                                                             |    16  alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS;
    7  import win32.winbase;                                                            <
    8                                                                                   |    17  
    9  // #ifndef _WINNLS_                                                              <
   10  // #define _WINNLS_                                                              <
   11                                                                                   <
   12  // #ifdef __cplusplus                                                            <
   13  // extern "C" {                                                                  <
   14  // #endif                                                                        <
   15                                                                                   <
   16  // #ifndef NONLS                                                                 <
   17                                                                                   <
   18  // #ifdef _MAC                                                                   <
   19  // #...                                                                          <
   20  // #endif                                                                        <
   21                                                                                   <
   22  enum : uint { MAX_LEADBYTES = 12 }                                               <
                                                                                        >    18  const size_t
   23  enum : uint { MAX_DEFAULTCHAR = 2 }                                              |    19          MAX_DEFAULTCHAR =  2,
                                                                                        >    20          MAX_LEADBYTES   = 12;
   24                                                                                   |    21  
   25  enum : uint { MB_PRECOMPOSED = 0x00000001 }                                      <
   26  enum : uint { MB_COMPOSITE = 0x00000002 }                                        <
   27  enum : uint { MB_USEGLYPHCHARS = 0x00000004 }                                    <
   28  enum : uint { MB_ERR_INVALID_CHARS = 0x00000008 }                                <
   29                                                                                   <
   30  enum : uint { WC_COMPOSITECHECK = 0x00000200 }                                   <
   31  enum : uint { WC_DISCARDNS = 0x00000010 }                                        <
   32  enum : uint { WC_SEPCHARS = 0x00000020 }                                         <
   33  enum : uint { WC_DEFAULTCHAR = 0x00000040 }                                      <
   34                                                                                   <
   35  // #if(WINVER >= 0x0500)                                                         <
   36  enum : uint { WC_NO_BEST_FIT_CHARS = 0x00000400 }                                <
   37  // #endif /* WINVER >= 0x0500 */                                                 <
   38                                                                                   <
   39  enum : uint { CT_CTYPE1 = 0x00000001 }                                           <
   40  enum : uint { CT_CTYPE2 = 0x00000002 }                                           <
   41  enum : uint { CT_CTYPE3 = 0x00000004 }                                           <
   42                                                                                   <
   43  enum : uint { C1_UPPER = 0x0001 }                                                <
   44  enum : uint { C1_LOWER = 0x0002 }                                                <
   45  enum : uint { C1_DIGIT = 0x0004 }                                                <
   46  enum : uint { C1_SPACE = 0x0008 }                                                <
   47  enum : uint { C1_PUNCT = 0x0010 }                                                <
   48  enum : uint { C1_CNTRL = 0x0020 }                                                <
   49  enum : uint { C1_BLANK = 0x0040 }                                                <
   50  enum : uint { C1_XDIGIT = 0x0080 }                                               <
   51  enum : uint { C1_ALPHA = 0x0100 }                                                <
   52  enum : uint { C1_DEFINED = 0x0200 }                                              <
   53                                                                                   <
   54  enum : uint { C2_LEFTTORIGHT = 0x0001 }                                          <
   55  enum : uint { C2_RIGHTTOLEFT = 0x0002 }                                          <
   56                                                                                   <
   57  enum : uint { C2_EUROPENUMBER = 0x0003 }                                         <
   58  enum : uint { C2_EUROPESEPARATOR = 0x0004 }                                      <
   59  enum : uint { C2_EUROPETERMINATOR = 0x0005 }                                     <
   60  enum : uint { C2_ARABICNUMBER = 0x0006 }                                         <
   61  enum : uint { C2_COMMONSEPARATOR = 0x0007 }                                      <
   62                                                                                   <
   63  enum : uint { C2_BLOCKSEPARATOR = 0x0008 }                                       <
   64  enum : uint { C2_SEGMENTSEPARATOR = 0x0009 }                                     <
   65  enum : uint { C2_WHITESPACE = 0x000A }                                           <
   66  enum : uint { C2_OTHERNEUTRAL = 0x000B }                                         <
   67                                                                                   <
   68  enum : uint { C2_NOTAPPLICABLE = 0x0000 }                                        <
   69                                                                                   <
   70  enum : uint { C3_NONSPACING = 0x0001 }                                           <
   71  enum : uint { C3_DIACRITIC = 0x0002 }                                            <
   72  enum : uint { C3_VOWELMARK = 0x0004 }                                            <
   73  enum : uint { C3_SYMBOL = 0x0008 }                                               <
   74                                                                                   <
   75  enum : uint { C3_KATAKANA = 0x0010 }                                             <
   76  enum : uint { C3_HIRAGANA = 0x0020 }                                             <
   77  enum : uint { C3_HALFWIDTH = 0x0040 }                                            <
   78  enum : uint { C3_FULLWIDTH = 0x0080 }                                            <
   79  enum : uint { C3_IDEOGRAPH = 0x0100 }                                            <
   80  enum : uint { C3_KASHIDA = 0x0200 }                                              <
   81  enum : uint { C3_LEXICAL = 0x0400 }                                              <
   82                                                                                   <
   83  enum : uint { C3_ALPHA = 0x8000 }                                                <
   84                                                                                   <
   85  enum : uint { C3_NOTAPPLICABLE = 0x0000 }                                        <
   86                                                                                   <
   87  enum : uint { NORM_IGNORECASE = 0x00000001 }                                     <
   88  enum : uint { NORM_IGNORENONSPACE = 0x00000002 }                                 <
   89  enum : uint { NORM_IGNORESYMBOLS = 0x00000004 }                                  <
   90                                                                                   <
   91  enum : uint { NORM_IGNOREKANATYPE = 0x00010000 }                                 <
   92  enum : uint { NORM_IGNOREWIDTH = 0x00020000 }                                    <
   93                                                                                   <
   94  enum : uint { MAP_FOLDCZONE = 0x00000010 }                                       <
   95  enum : uint { MAP_PRECOMPOSED = 0x00000020 }                                     <
   96  enum : uint { MAP_COMPOSITE = 0x00000040 }                                       <
   97  enum : uint { MAP_FOLDDIGITS = 0x00000080 }                                      <
   98                                                                                   <
   99  // #if(WINVER >= 0x0500)                                                         <
  100  enum : uint { MAP_EXPAND_LIGATURES = 0x00002000 }                                <
  101  // #endif /* WINVER >= 0x0500 */                                                 <
  102                                                                                   <
  103  enum : uint { LCMAP_LOWERCASE = 0x00000100 }                                     <
  104  enum : uint { LCMAP_UPPERCASE = 0x00000200 }                                     <
  105  enum : uint { LCMAP_SORTKEY = 0x00000400 }                                       <
  106  enum : uint { LCMAP_BYTEREV = 0x00000800 }                                       <
  107                                                                                   <
  108  enum : uint { LCMAP_HIRAGANA = 0x00100000 }                                      <
  109  enum : uint { LCMAP_KATAKANA = 0x00200000 }                                      <
  110  enum : uint { LCMAP_HALFWIDTH = 0x00400000 }                                     <
  111  enum : uint { LCMAP_FULLWIDTH = 0x00800000 }                                     <
  112                                                                                   <
  113  enum : uint { LCMAP_LINGUISTIC_CASING = 0x01000000 }                             <
  114                                                                                   <
  115  enum : uint { LCMAP_SIMPLIFIED_CHINESE = 0x02000000 }                            <
  116  enum : uint { LCMAP_TRADITIONAL_CHINESE = 0x04000000 }                           <
  117                                                                                   <
  118  enum : uint { LGRPID_INSTALLED = 0x00000001 }                                    <
  119  enum : uint { LGRPID_SUPPORTED = 0x00000002 }                                    <
  120                                                                                   <
  121  enum : uint { LCID_INSTALLED = 0x00000001 }                                      <
  122  enum : uint { LCID_SUPPORTED = 0x00000002 }                                      <
  123  enum : uint { LCID_ALTERNATE_SORTS = 0x00000004 }                                <
  124                                                                                   <
  125  enum : uint { CP_INSTALLED = 0x00000001 }                                        <
  126  enum : uint { CP_SUPPORTED = 0x00000002 }                                        <
  127                                                                                   <
  128  enum : uint { SORT_STRINGSORT = 0x00001000 }                                     <
  129                                                                                   <
  130  enum : uint { CSTR_LESS_THAN = 1 }                                               <
  131  enum : uint { CSTR_EQUAL = 2 }                                                   <
  132  enum : uint { CSTR_GREATER_THAN = 3 }                                            <
  133                                                                                   <
  134  enum : uint { CP_ACP = 0 }                                                       <
  135  enum : uint { CP_OEMCP = 1 }                                                     <
  136  enum : uint { CP_MACCP = 2 }                                                     <
  137  enum : uint { CP_THREAD_ACP = 3 }                                                <
  138  enum : uint { CP_SYMBOL = 42 }                                                   <
  139                                                                                   <
  140  enum : uint { CP_UTF7 = 65000 }                                                  <
  141  enum : uint { CP_UTF8 = 65001 }                                                  <
  142                                                                                   <
  143  enum : uint { CTRY_DEFAULT = 0 }                                                 <
  144                                                                                   <
  145  enum : uint { CTRY_ALBANIA = 355 }                                               <
  146  enum : uint { CTRY_ALGERIA = 213 }                                               <
  147  enum : uint { CTRY_ARGENTINA = 54 }                                              <
  148  enum : uint { CTRY_ARMENIA = 374 }                                               <
  149  enum : uint { CTRY_AUSTRALIA = 61 }                                              <
  150  enum : uint { CTRY_AUSTRIA = 43 }                                                <
  151  enum : uint { CTRY_AZERBAIJAN = 994 }                                            <
  152  enum : uint { CTRY_BAHRAIN = 973 }                                               <
  153  enum : uint { CTRY_BELARUS = 375 }                                               <
  154  enum : uint { CTRY_BELGIUM = 32 }                                                <
  155  enum : uint { CTRY_BELIZE = 501 }                                                <
  156  enum : uint { CTRY_BOLIVIA = 591 }                                               <
  157  enum : uint { CTRY_BRAZIL = 55 }                                                 <
  158  enum : uint { CTRY_BRUNEI_DARUSSALAM = 673 }                                     <
  159  enum : uint { CTRY_BULGARIA = 359 }                                              <
  160  enum : uint { CTRY_CANADA = 2 }                                                  <
  161  enum : uint { CTRY_CARIBBEAN = 1 }                                               <
  162  enum : uint { CTRY_CHILE = 56 }                                                  <
  163  enum : uint { CTRY_COLOMBIA = 57 }                                               <
  164  enum : uint { CTRY_COSTA_RICA = 506 }                                            <
  165  enum : uint { CTRY_CROATIA = 385 }                                               <
  166  enum : uint { CTRY_CZECH = 420 }                                                 <
  167  enum : uint { CTRY_DENMARK = 45 }                                                <
  168  enum : uint { CTRY_DOMINICAN_REPUBLIC = 1 }                                      <
  169  enum : uint { CTRY_ECUADOR = 593 }                                               <
  170  enum : uint { CTRY_EGYPT = 20 }                                                  <
  171  enum : uint { CTRY_EL_SALVADOR = 503 }                                           <
  172  enum : uint { CTRY_ESTONIA = 372 }                                               <
  173  enum : uint { CTRY_FAEROE_ISLANDS = 298 }                                        <
  174  enum : uint { CTRY_FINLAND = 358 }                                               <
  175  enum : uint { CTRY_FRANCE = 33 }                                                 <
  176  enum : uint { CTRY_GEORGIA = 995 }                                               <
  177  enum : uint { CTRY_GERMANY = 49 }                                                <
  178  enum : uint { CTRY_GREECE = 30 }                                                 <
  179  enum : uint { CTRY_GUATEMALA = 502 }                                             <
  180  enum : uint { CTRY_HONDURAS = 504 }                                              <
  181  enum : uint { CTRY_HONG_KONG = 852 }                                             <
  182  enum : uint { CTRY_HUNGARY = 36 }                                                <
  183  enum : uint { CTRY_ICELAND = 354 }                                               <
  184  enum : uint { CTRY_INDIA = 91 }                                                  <
  185  enum : uint { CTRY_INDONESIA = 62 }                                              <
  186  enum : uint { CTRY_IRAN = 981 }                                                  <
  187  enum : uint { CTRY_IRAQ = 964 }                                                  <
  188  enum : uint { CTRY_IRELAND = 353 }                                               <
  189  enum : uint { CTRY_ISRAEL = 972 }                                                <
  190  enum : uint { CTRY_ITALY = 39 }                                                  <
  191  enum : uint { CTRY_JAMAICA = 1 }                                                 <
  192  enum : uint { CTRY_JAPAN = 81 }                                                  <
  193  enum : uint { CTRY_JORDAN = 962 }                                                <
  194  enum : uint { CTRY_KAZAKSTAN = 7 }                                               <
  195  enum : uint { CTRY_KENYA = 254 }                                                 <
  196  enum : uint { CTRY_KUWAIT = 965 }                                                <
  197  enum : uint { CTRY_KYRGYZSTAN = 996 }                                            <
  198  enum : uint { CTRY_LATVIA = 371 }                                                <
  199  enum : uint { CTRY_LEBANON = 961 }                                               <
  200  enum : uint { CTRY_LIBYA = 218 }                                                 <
  201  enum : uint { CTRY_LIECHTENSTEIN = 41 }                                          <
  202  enum : uint { CTRY_LITHUANIA = 370 }                                             <
  203  enum : uint { CTRY_LUXEMBOURG = 352 }                                            <
  204  enum : uint { CTRY_MACAU = 853 }                                                 <
  205  enum : uint { CTRY_MACEDONIA = 389 }                                             <
  206  enum : uint { CTRY_MALAYSIA = 60 }                                               <
  207  enum : uint { CTRY_MALDIVES = 960 }                                              <
  208  enum : uint { CTRY_MEXICO = 52 }                                                 <
  209  enum : uint { CTRY_MONACO = 33 }                                                 <
  210  enum : uint { CTRY_MONGOLIA = 976 }                                              <
  211  enum : uint { CTRY_MOROCCO = 212 }                                               <
  212  enum : uint { CTRY_NETHERLANDS = 31 }                                            <
  213  enum : uint { CTRY_NEW_ZEALAND = 64 }                                            <
  214  enum : uint { CTRY_NICARAGUA = 505 }                                             <
  215  enum : uint { CTRY_NORWAY = 47 }                                                 <
  216  enum : uint { CTRY_OMAN = 968 }                                                  <
  217  enum : uint { CTRY_PAKISTAN = 92 }                                               <
  218  enum : uint { CTRY_PANAMA = 507 }                                                <
  219  enum : uint { CTRY_PARAGUAY = 595 }                                              <
  220  enum : uint { CTRY_PERU = 51 }                                                   <
  221  enum : uint { CTRY_PHILIPPINES = 63 }                                            <
  222  enum : uint { CTRY_POLAND = 48 }                                                 <
  223  enum : uint { CTRY_PORTUGAL = 351 }                                              <
  224  enum : uint { CTRY_PRCHINA = 86 }                                                <
  225  enum : uint { CTRY_PUERTO_RICO = 1 }                                             <
  226  enum : uint { CTRY_QATAR = 974 }                                                 <
  227  enum : uint { CTRY_ROMANIA = 40 }                                                <
  228  enum : uint { CTRY_RUSSIA = 7 }                                                  <
  229  enum : uint { CTRY_SAUDI_ARABIA = 966 }                                          <
  230  enum : uint { CTRY_SERBIA = 381 }                                                <
  231  enum : uint { CTRY_SINGAPORE = 65 }                                              <
  232  enum : uint { CTRY_SLOVAK = 421 }                                                <
  233  enum : uint { CTRY_SLOVENIA = 386 }                                              <
  234  enum : uint { CTRY_SOUTH_AFRICA = 27 }                                           <
  235  enum : uint { CTRY_SOUTH_KOREA = 82 }                                            <
  236  enum : uint { CTRY_SPAIN = 34 }                                                  <
  237  enum : uint { CTRY_SWEDEN = 46 }                                                 <
  238  enum : uint { CTRY_SWITZERLAND = 41 }                                            <
  239  enum : uint { CTRY_SYRIA = 963 }                                                 <
  240  enum : uint { CTRY_TAIWAN = 886 }                                                <
  241  enum : uint { CTRY_TATARSTAN = 7 }                                               <
  242  enum : uint { CTRY_THAILAND = 66 }                                               <
  243  enum : uint { CTRY_TRINIDAD_Y_TOBAGO = 1 }                                       <
  244  enum : uint { CTRY_TUNISIA = 216 }                                               <
  245  enum : uint { CTRY_TURKEY = 90 }                                                 <
  246  enum : uint { CTRY_UAE = 971 }                                                   <
  247  enum : uint { CTRY_UKRAINE = 380 }                                               <
  248  enum : uint { CTRY_UNITED_KINGDOM = 44 }                                         <
  249  enum : uint { CTRY_UNITED_STATES = 1 }                                           <
  250  enum : uint { CTRY_URUGUAY = 598 }                                               <
  251  enum : uint { CTRY_UZBEKISTAN = 7 }                                              <
  252  enum : uint { CTRY_VENEZUELA = 58 }                                              <
  253  enum : uint { CTRY_VIET_NAM = 84 }                                               <
  254  enum : uint { CTRY_YEMEN = 967 }                                                 <
  255  enum : uint { CTRY_ZIMBABWE = 263 }                                              <
  256                                                                                   <
  257  enum : uint { LOCALE_NOUSEROVERRIDE = 0x80000000 }                               <
                                                                                        >    22  const LCTYPE
  258  enum : uint { LOCALE_USE_CP_ACP = 0x40000000 }                                   |    23          LOCALE_USE_CP_ACP    = 0x40000000,
  259                                                                                   <
  260  // #if(WINVER >= 0x0400)                                                         <
  261  enum : uint { LOCALE_RETURN_NUMBER = 0x20000000 }                                |    24          LOCALE_RETURN_NUMBER = 0x20000000;
  262  // #endif /* WINVER >= 0x0400 */                                                 <
  263                                                                                   |    25  
                                                                                        >    26  enum : LCTYPE {
  264  enum : uint { LOCALE_ILANGUAGE = 0x00000001 }                                    |    27          LOCALE_ILANGUAGE = 1,
  265  enum : uint { LOCALE_SLANGUAGE = 0x00000002 }                                    |    28          LOCALE_SLANGUAGE,
  266  enum : uint { LOCALE_SENGLANGUAGE = 0x00001001 }                                 <
  267  enum : uint { LOCALE_SABBREVLANGNAME = 0x00000003 }                              |    29          LOCALE_SABBREVLANGNAME,
  268  enum : uint { LOCALE_SNATIVELANGNAME = 0x00000004 }                              |    30          LOCALE_SNATIVELANGNAME,
  269                                                                                   <
  270  enum : uint { LOCALE_ICOUNTRY = 0x00000005 }                                     |    31          LOCALE_ICOUNTRY,
  271  enum : uint { LOCALE_SCOUNTRY = 0x00000006 }                                     |    32          LOCALE_SCOUNTRY,
  272  enum : uint { LOCALE_SENGCOUNTRY = 0x00001002 }                                  <
  273  enum : uint { LOCALE_SABBREVCTRYNAME = 0x00000007 }                              |    33          LOCALE_SABBREVCTRYNAME,
  274  enum : uint { LOCALE_SNATIVECTRYNAME = 0x00000008 }                              |    34          LOCALE_SNATIVECTRYNAME,
  275                                                                                   <
  276  enum : uint { LOCALE_IDEFAULTLANGUAGE = 0x00000009 }                             |    35          LOCALE_IDEFAULTLANGUAGE,
  277  enum : uint { LOCALE_IDEFAULTCOUNTRY = 0x0000000A }                              |    36          LOCALE_IDEFAULTCOUNTRY,
  278  enum : uint { LOCALE_IDEFAULTCODEPAGE = 0x0000000B }                             |    37          LOCALE_IDEFAULTCODEPAGE,
  279  enum : uint { LOCALE_IDEFAULTANSICODEPAGE = 0x00001004 }                         <
  280  enum : uint { LOCALE_IDEFAULTMACCODEPAGE = 0x00001011 }                          <
  281                                                                                   <
  282  enum : uint { LOCALE_SLIST = 0x0000000C }                                        |    38          LOCALE_SLIST,
  283  enum : uint { LOCALE_IMEASURE = 0x0000000D }                                     |    39          LOCALE_IMEASURE,
  284                                                                                   <
  285  enum : uint { LOCALE_SDECIMAL = 0x0000000E }                                     |    40          LOCALE_SDECIMAL,
  286  enum : uint { LOCALE_STHOUSAND = 0x0000000F }                                    |    41          LOCALE_STHOUSAND,
  287  enum : uint { LOCALE_SGROUPING = 0x00000010 }                                    |    42          LOCALE_SGROUPING,
  288  enum : uint { LOCALE_IDIGITS = 0x00000011 }                                      |    43          LOCALE_IDIGITS,
  289  enum : uint { LOCALE_ILZERO = 0x00000012 }                                       |    44          LOCALE_ILZERO,
  290  enum : uint { LOCALE_INEGNUMBER = 0x00001010 }                                   <
  291  enum : uint { LOCALE_SNATIVEDIGITS = 0x00000013 }                                |    45          LOCALE_SNATIVEDIGITS,
  292                                                                                   <
  293  enum : uint { LOCALE_SCURRENCY = 0x00000014 }                                    |    46          LOCALE_SCURRENCY,
  294  enum : uint { LOCALE_SINTLSYMBOL = 0x00000015 }                                  |    47          LOCALE_SINTLSYMBOL,
  295  enum : uint { LOCALE_SMONDECIMALSEP = 0x00000016 }                               |    48          LOCALE_SMONDECIMALSEP,
  296  enum : uint { LOCALE_SMONTHOUSANDSEP = 0x00000017 }                              |    49          LOCALE_SMONTHOUSANDSEP,
  297  enum : uint { LOCALE_SMONGROUPING = 0x00000018 }                                 |    50          LOCALE_SMONGROUPING,
  298  enum : uint { LOCALE_ICURRDIGITS = 0x00000019 }                                  |    51          LOCALE_ICURRDIGITS,
  299  enum : uint { LOCALE_IINTLCURRDIGITS = 0x0000001A }                              |    52          LOCALE_IINTLCURRDIGITS,
  300  enum : uint { LOCALE_ICURRENCY = 0x0000001B }                                    |    53          LOCALE_ICURRENCY,
  301  enum : uint { LOCALE_INEGCURR = 0x0000001C }                                     |    54          LOCALE_INEGCURR,
  302                                                                                   <
  303  enum : uint { LOCALE_SDATE = 0x0000001D }                                        |    55          LOCALE_SDATE,
  304  enum : uint { LOCALE_STIME = 0x0000001E }                                        |    56          LOCALE_STIME,
  305  enum : uint { LOCALE_SSHORTDATE = 0x0000001F }                                   |    57          LOCALE_SSHORTDATE,
  306  enum : uint { LOCALE_SLONGDATE = 0x00000020 }                                    |    58          LOCALE_SLONGDATE,
  307  enum : uint { LOCALE_STIMEFORMAT = 0x00001003 }                                  <
  308  enum : uint { LOCALE_IDATE = 0x00000021 }                                        |    59          LOCALE_IDATE,
  309  enum : uint { LOCALE_ILDATE = 0x00000022 }                                       |    60          LOCALE_ILDATE,
  310  enum : uint { LOCALE_ITIME = 0x00000023 }                                        |    61          LOCALE_ITIME,
  311  enum : uint { LOCALE_ITIMEMARKPOSN = 0x00001005 }                                <
  312  enum : uint { LOCALE_ICENTURY = 0x00000024 }                                     |    62          LOCALE_ICENTURY,
  313  enum : uint { LOCALE_ITLZERO = 0x00000025 }                                      |    63          LOCALE_ITLZERO,
  314  enum : uint { LOCALE_IDAYLZERO = 0x00000026 }                                    |    64          LOCALE_IDAYLZERO,
  315  enum : uint { LOCALE_IMONLZERO = 0x00000027 }                                    |    65          LOCALE_IMONLZERO,
  316  enum : uint { LOCALE_S1159 = 0x00000028 }                                        |    66          LOCALE_S1159,
  317  enum : uint { LOCALE_S2359 = 0x00000029 }                                        |    67          LOCALE_S2359,
  318                                                                                   <
  319  enum : uint { LOCALE_ICALENDARTYPE = 0x00001009 }                                <
  320  enum : uint { LOCALE_IOPTIONALCALENDAR = 0x0000100B }                            <
  321  enum : uint { LOCALE_IFIRSTDAYOFWEEK = 0x0000100C }                              <
  322  enum : uint { LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D }                             <
  323                                                                                   <
  324  enum : uint { LOCALE_SDAYNAME1 = 0x0000002A }                                    |    68          LOCALE_SDAYNAME1,
  325  enum : uint { LOCALE_SDAYNAME2 = 0x0000002B }                                    |    69          LOCALE_SDAYNAME2,
  326  enum : uint { LOCALE_SDAYNAME3 = 0x0000002C }                                    |    70          LOCALE_SDAYNAME3,
  327  enum : uint { LOCALE_SDAYNAME4 = 0x0000002D }                                    |    71          LOCALE_SDAYNAME4,
  328  enum : uint { LOCALE_SDAYNAME5 = 0x0000002E }                                    |    72          LOCALE_SDAYNAME5,
  329  enum : uint { LOCALE_SDAYNAME6 = 0x0000002F }                                    |    73          LOCALE_SDAYNAME6,
  330  enum : uint { LOCALE_SDAYNAME7 = 0x00000030 }                                    |    74          LOCALE_SDAYNAME7,
  331  enum : uint { LOCALE_SABBREVDAYNAME1 = 0x00000031 }                              |    75          LOCALE_SABBREVDAYNAME1,
  332  enum : uint { LOCALE_SABBREVDAYNAME2 = 0x00000032 }                              |    76          LOCALE_SABBREVDAYNAME2,
  333  enum : uint { LOCALE_SABBREVDAYNAME3 = 0x00000033 }                              |    77          LOCALE_SABBREVDAYNAME3,
  334  enum : uint { LOCALE_SABBREVDAYNAME4 = 0x00000034 }                              |    78          LOCALE_SABBREVDAYNAME4,
  335  enum : uint { LOCALE_SABBREVDAYNAME5 = 0x00000035 }                              |    79          LOCALE_SABBREVDAYNAME5,
  336  enum : uint { LOCALE_SABBREVDAYNAME6 = 0x00000036 }                              |    80          LOCALE_SABBREVDAYNAME6,
  337  enum : uint { LOCALE_SABBREVDAYNAME7 = 0x00000037 }                              |    81          LOCALE_SABBREVDAYNAME7,
  338  enum : uint { LOCALE_SMONTHNAME1 = 0x00000038 }                                  |    82          LOCALE_SMONTHNAME1,
  339  enum : uint { LOCALE_SMONTHNAME2 = 0x00000039 }                                  |    83          LOCALE_SMONTHNAME2,
  340  enum : uint { LOCALE_SMONTHNAME3 = 0x0000003A }                                  |    84          LOCALE_SMONTHNAME3,
  341  enum : uint { LOCALE_SMONTHNAME4 = 0x0000003B }                                  |    85          LOCALE_SMONTHNAME4,
  342  enum : uint { LOCALE_SMONTHNAME5 = 0x0000003C }                                  |    86          LOCALE_SMONTHNAME5,
  343  enum : uint { LOCALE_SMONTHNAME6 = 0x0000003D }                                  |    87          LOCALE_SMONTHNAME6,
  344  enum : uint { LOCALE_SMONTHNAME7 = 0x0000003E }                                  |    88          LOCALE_SMONTHNAME7,
  345  enum : uint { LOCALE_SMONTHNAME8 = 0x0000003F }                                  |    89          LOCALE_SMONTHNAME8,
  346  enum : uint { LOCALE_SMONTHNAME9 = 0x00000040 }                                  |    90          LOCALE_SMONTHNAME9,
  347  enum : uint { LOCALE_SMONTHNAME10 = 0x00000041 }                                 |    91          LOCALE_SMONTHNAME10,
  348  enum : uint { LOCALE_SMONTHNAME11 = 0x00000042 }                                 |    92          LOCALE_SMONTHNAME11,
  349  enum : uint { LOCALE_SMONTHNAME12 = 0x00000043 }                                 |    93          LOCALE_SMONTHNAME12,
  350  enum : uint { LOCALE_SMONTHNAME13 = 0x0000100E }                                 <
  351  enum : uint { LOCALE_SABBREVMONTHNAME1 = 0x00000044 }                            |    94          LOCALE_SABBREVMONTHNAME1,
  352  enum : uint { LOCALE_SABBREVMONTHNAME2 = 0x00000045 }                            |    95          LOCALE_SABBREVMONTHNAME2,
  353  enum : uint { LOCALE_SABBREVMONTHNAME3 = 0x00000046 }                            |    96          LOCALE_SABBREVMONTHNAME3,
  354  enum : uint { LOCALE_SABBREVMONTHNAME4 = 0x00000047 }                            |    97          LOCALE_SABBREVMONTHNAME4,
  355  enum : uint { LOCALE_SABBREVMONTHNAME5 = 0x00000048 }                            |    98          LOCALE_SABBREVMONTHNAME5,
  356  enum : uint { LOCALE_SABBREVMONTHNAME6 = 0x00000049 }                            |    99          LOCALE_SABBREVMONTHNAME6,
  357  enum : uint { LOCALE_SABBREVMONTHNAME7 = 0x0000004A }                            |   100          LOCALE_SABBREVMONTHNAME7,
  358  enum : uint { LOCALE_SABBREVMONTHNAME8 = 0x0000004B }                            |   101          LOCALE_SABBREVMONTHNAME8,
  359  enum : uint { LOCALE_SABBREVMONTHNAME9 = 0x0000004C }                            |   102          LOCALE_SABBREVMONTHNAME9,
  360  enum : uint { LOCALE_SABBREVMONTHNAME10 = 0x0000004D }                           |   103          LOCALE_SABBREVMONTHNAME10,
  361  enum : uint { LOCALE_SABBREVMONTHNAME11 = 0x0000004E }                           |   104          LOCALE_SABBREVMONTHNAME11,
  362  enum : uint { LOCALE_SABBREVMONTHNAME12 = 0x0000004F }                           |   105          LOCALE_SABBREVMONTHNAME12,
  363  enum : uint { LOCALE_SABBREVMONTHNAME13 = 0x0000100F }                           <
  364                                                                                   <
  365  enum : uint { LOCALE_SPOSITIVESIGN = 0x00000050 }                                |   106          LOCALE_SPOSITIVESIGN,
  366  enum : uint { LOCALE_SNEGATIVESIGN = 0x00000051 }                                |   107          LOCALE_SNEGATIVESIGN,
  367  enum : uint { LOCALE_IPOSSIGNPOSN = 0x00000052 }                                 |   108          LOCALE_IPOSSIGNPOSN,
  368  enum : uint { LOCALE_INEGSIGNPOSN = 0x00000053 }                                 |   109          LOCALE_INEGSIGNPOSN,
  369  enum : uint { LOCALE_IPOSSYMPRECEDES = 0x00000054 }                              |   110          LOCALE_IPOSSYMPRECEDES,
  370  enum : uint { LOCALE_IPOSSEPBYSPACE = 0x00000055 }                               |   111          LOCALE_IPOSSEPBYSPACE,
  371  enum : uint { LOCALE_INEGSYMPRECEDES = 0x00000056 }                              |   112          LOCALE_INEGSYMPRECEDES,
  372  enum : uint { LOCALE_INEGSEPBYSPACE = 0x00000057 }                               |   113          LOCALE_INEGSEPBYSPACE,
  373                                                                                   <
  374  // #if(WINVER >= 0x0400)                                                         <
  375  enum : uint { LOCALE_FONTSIGNATURE = 0x00000058 }                                |   114          LOCALE_FONTSIGNATURE,
  376  enum : uint { LOCALE_SISO639LANGNAME = 0x00000059 }                              |   115          LOCALE_SISO639LANGNAME,
  377  enum : uint { LOCALE_SISO3166CTRYNAME = 0x0000005A }                             |   116          LOCALE_SISO3166CTRYNAME, // = 90
  378  // #endif /* WINVER >= 0x0400 */                                                 <
                                                                                        >   117          LOCALE_SENGLANGUAGE         = 0x1001,
                                                                                        >   118          LOCALE_SENGCOUNTRY          = 0x1002,
                                                                                        >   119          LOCALE_IDEFAULTANSICODEPAGE = 0x1004,
                                                                                        >   120          LOCALE_INEGNUMBER           = 0x1010,
                                                                                        >   121          LOCALE_STIMEFORMAT          = 0x1003,
                                                                                        >   122          LOCALE_ITIMEMARKPOSN        = 0x1005,
                                                                                        >   123          LOCALE_ICALENDARTYPE        = 0x1009,
                                                                                        >   124          LOCALE_IOPTIONALCALENDAR    = 0x100B,
                                                                                        >   125          LOCALE_IFIRSTDAYOFWEEK      = 0x100C,
                                                                                        >   126          LOCALE_IFIRSTWEEKOFYEAR     = 0x100D,
                                                                                        >   127          LOCALE_SMONTHNAME13         = 0x100E,
                                                                                        >   128          LOCALE_SABBREVMONTHNAME13   = 0x100F
  379                                                                                   |   129  }
  380  // #if(WINVER >= 0x0500)                                                         <
  381  enum : uint { LOCALE_IDEFAULTEBCDICCODEPAGE = 0x00001012 }                       <
  382  enum : uint { LOCALE_IPAPERSIZE = 0x0000100A }                                   <
  383  enum : uint { LOCALE_SENGCURRNAME = 0x00001007 }                                 <
  384  enum : uint { LOCALE_SNATIVECURRNAME = 0x00001008 }                              <
  385  enum : uint { LOCALE_SYEARMONTH = 0x00001006 }                                   <
  386  enum : uint { LOCALE_SSORTNAME = 0x00001013 }                                    <
  387  enum : uint { LOCALE_IDIGITSUBSTITUTION = 0x00001014 }                           <
  388                                                                                   |   130  
  389  // #endif /* WINVER >= 0x0500 */                                                 <
                                                                                        >   131  enum : LCID {
                                                                                        >   132          LOCALE_USER_DEFAULT   = 0x400,
                                                                                        >   133          LOCALE_SYSTEM_DEFAULT = 0x800
  390                                                                                   |   134  }
                                                                                        >   135  
                                                                                        >   136  const DWORD
                                                                                        >   137          NORM_IGNORECASE     =       1,
                                                                                        >   138          NORM_IGNORENONSPACE =       2,
                                                                                        >   139          NORM_IGNORESYMBOLS  =       4,
                                                                                        >   140          SORT_STRINGSORT     = 0x01000,
                                                                                        >   141          NORM_IGNOREKANATYPE = 0x10000,
                                                                                        >   142          NORM_IGNOREWIDTH    = 0x20000;
                                                                                        >   143  
                                                                                        >   144  const DWORD
                                                                                        >   145          LCMAP_LOWERCASE           = 0x00000100,
                                                                                        >   146          LCMAP_UPPERCASE           = 0x00000200,
                                                                                        >   147          LCMAP_SORTKEY             = 0x00000400,
                                                                                        >   148          LCMAP_BYTEREV             = 0x00000800,
                                                                                        >   149          LCMAP_HIRAGANA            = 0x00100000,
                                                                                        >   150          LCMAP_KATAKANA            = 0x00200000,
                                                                                        >   151          LCMAP_HALFWIDTH           = 0x00400000,
                                                                                        >   152          LCMAP_FULLWIDTH           = 0x00800000,
                                                                                        >   153          LCMAP_LINGUISTIC_CASING   = 0x01000000,
                                                                                        >   154          LCMAP_SIMPLIFIED_CHINESE  = 0x02000000,
                                                                                        >   155          LCMAP_TRADITIONAL_CHINESE = 0x04000000;
                                                                                        >   156  
                                                                                        >   157  const CALID ENUM_ALL_CALENDARS = -1;
                                                                                        >   158  
                                                                                        >   159  const DWORD
                                                                                        >   160          DATE_SHORTDATE        =          1,
                                                                                        >   161          DATE_LONGDATE         =          2,
                                                                                        >   162          DATE_USE_ALT_CALENDAR =          4,
                                                                                        >   163          LOCALE_NOUSEROVERRIDE = 0x80000000;
                                                                                        >   164  
                                                                                        >   165  enum : DWORD {
                                                                                        >   166          CP_INSTALLED = 1,
                                                                                        >   167          CP_SUPPORTED
                                                                                        >   168  }
                                                                                        >   169  
                                                                                        >   170  enum : DWORD {
                                                                                        >   171          LCID_INSTALLED       = 1,
                                                                                        >   172          LCID_SUPPORTED       = 2,
                                                                                        >   173          LCID_ALTERNATE_SORTS = 4
                                                                                        >   174  }
                                                                                        >   175  
                                                                                        >   176  const DWORD
                                                                                        >   177          MAP_FOLDCZONE   =  16,
                                                                                        >   178          MAP_PRECOMPOSED =  32,
                                                                                        >   179          MAP_COMPOSITE   =  64,
                                                                                        >   180          MAP_FOLDDIGITS  = 128;
                                                                                        >   181  
                                                                                        >   182  enum : UINT {
                                                                                        >   183          CP_ACP,
                                                                                        >   184          CP_OEMCP,
                                                                                        >   185          CP_MACCP,
                                                                                        >   186          CP_THREAD_ACP, // =     3
                                                                                        >   187          CP_SYMBOL         =    42,
                                                                                        >   188          CP_UTF7           = 65000,
                                                                                        >   189          CP_UTF8           = 65001
                                                                                        >   190  }
                                                                                        >   191  
                                                                                        >   192  enum : DWORD {
                                                                                        >   193          CT_CTYPE1 = 1,
                                                                                        >   194          CT_CTYPE2 = 2,
                                                                                        >   195          CT_CTYPE3 = 4
                                                                                        >   196  }
                                                                                        >   197  
                                                                                        >   198  const WORD
                                                                                        >   199          C1_UPPER  =   1,
                                                                                        >   200          C1_LOWER  =   2,
                                                                                        >   201          C1_DIGIT  =   4,
                                                                                        >   202          C1_SPACE  =   8,
                                                                                        >   203          C1_PUNCT  =  16,
                                                                                        >   204          C1_CNTRL  =  32,
                                                                                        >   205          C1_BLANK  =  64,
                                                                                        >   206          C1_XDIGIT = 128,
                                                                                        >   207          C1_ALPHA  = 256;
                                                                                        >   208  
                                                                                        >   209  enum : WORD {
                                                                                        >   210          C2_NOTAPPLICABLE,
                                                                                        >   211          C2_LEFTTORIGHT,
                                                                                        >   212          C2_RIGHTTOLEFT,
                                                                                        >   213          C2_EUROPENUMBER,
                                                                                        >   214          C2_EUROPESEPARATOR,
                                                                                        >   215          C2_EUROPETERMINATOR,
                                                                                        >   216          C2_ARABICNUMBER,
                                                                                        >   217          C2_COMMONSEPARATOR,
                                                                                        >   218          C2_BLOCKSEPARATOR,
                                                                                        >   219          C2_SEGMENTSEPARATOR,
                                                                                        >   220          C2_WHITESPACE,
                                                                                        >   221          C2_OTHERNEUTRAL  // = 11
                                                                                        >   222  }
                                                                                        >   223  
                                                                                        >   224  const WORD
                                                                                        >   225          C3_NOTAPPLICABLE =      0,
                                                                                        >   226          C3_NONSPACING    =      1,
                                                                                        >   227          C3_DIACRITIC     =      2,
                                                                                        >   228          C3_VOWELMARK     =      4,
                                                                                        >   229          C3_SYMBOL        =      8,
                                                                                        >   230          C3_KATAKANA      = 0x0010,
                                                                                        >   231          C3_HIRAGANA      = 0x0020,
                                                                                        >   232          C3_HALFWIDTH     = 0x0040,
                                                                                        >   233          C3_FULLWIDTH     = 0x0080,
                                                                                        >   234          C3_IDEOGRAPH     = 0x0100,
                                                                                        >   235          C3_KASHIDA       = 0x0200,
                                                                                        >   236          C3_LEXICAL       = 0x0400,
                                                                                        >   237          C3_ALPHA         = 0x8000;
                                                                                        >   238  
                                                                                        >   239  const DWORD
  391  enum : uint { TIME_NOMINUTESORSECONDS = 0x00000001 }                             |   240          TIME_NOMINUTESORSECONDS = 1,
  392  enum : uint { TIME_NOSECONDS = 0x00000002 }                                      |   241          TIME_NOSECONDS          = 2,
  393  enum : uint { TIME_NOTIMEMARKER = 0x00000004 }                                   |   242          TIME_NOTIMEMARKER       = 4,
  394  enum : uint { TIME_FORCE24HOURFORMAT = 0x00000008 }                              |   243          TIME_FORCE24HOURFORMAT  = 8;
  395                                                                                   |   244  
  396  enum : uint { DATE_SHORTDATE = 0x00000001 }                                      <
  397  enum : uint { DATE_LONGDATE = 0x00000002 }                                       <
  398  enum : uint { DATE_USE_ALT_CALENDAR = 0x00000004 }                               <
                                                                                        >   245  const DWORD
                                                                                        >   246          MB_PRECOMPOSED       = 1,
                                                                                        >   247          MB_COMPOSITE         = 2,
                                                                                        >   248          MB_USEGLYPHCHARS     = 4,
                                                                                        >   249          MB_ERR_INVALID_CHARS = 8;
  399                                                                                   |   250  
  400  // #if(WINVER >= 0x0500)                                                         <
  401  enum : uint { DATE_YEARMONTH = 0x00000008 }                                      <
  402  enum : uint { DATE_LTRREADING = 0x00000010 }                                     <
  403  enum : uint { DATE_RTLREADING = 0x00000020 }                                     <
  404  // #endif /* WINVER >= 0x0500 */                                                 <
                                                                                        >   251  const DWORD
                                                                                        >   252          WC_DISCARDNS      =  16,
                                                                                        >   253          WC_SEPCHARS       =  32,
                                                                                        >   254          WC_DEFAULTCHAR    =  64,
                                                                                        >   255          WC_COMPOSITECHECK = 512;
  405                                                                                   |   256  
  406  // #if(WINVER >= 0x0500)                                                         <
  407  alias LOCALE_NOUSEROVERRIDE CAL_NOUSEROVERRIDE;                                  <
  408  alias LOCALE_USE_CP_ACP CAL_USE_CP_ACP;                                          <
  409  alias LOCALE_RETURN_NUMBER CAL_RETURN_NUMBER;                                    <
  410  // #endif /* WINVER >= 0x0500 */                                                 <
                                                                                        >   257  enum : LONG {
                                                                                        >   258          CTRY_DEFAULT            =   0,
                                                                                        >   259          CTRY_DOMINICAN_REPUBLIC =   1,
                                                                                        >   260          CTRY_PUERTO_RICO        =   1,
                                                                                        >   261          CTRY_CARIBBEAN          =   1,
                                                                                        >   262          CTRY_JAMAICA            =   1,
                                                                                        >   263          CTRY_UNITED_STATES      =   1,
                                                                                        >   264          CTRY_TRINIDAD_Y_TOBAGO  =   1,
                                                                                        >   265          CTRY_CANADA             =   2,
                                                                                        >   266          CTRY_RUSSIA             =   7,
                                                                                        >   267          CTRY_UZBEKISTAN         =   7,
                                                                                        >   268          CTRY_KAZAKSTAN          =   7,
                                                                                        >   269          CTRY_TATARSTAN          =   7,
                                                                                        >   270          CTRY_EGYPT              =  20,
                                                                                        >   271          CTRY_SOUTH_AFRICA       =  27,
                                                                                        >   272          CTRY_GREECE             =  30,
                                                                                        >   273          CTRY_NETHERLANDS        =  31,
                                                                                        >   274          CTRY_BELGIUM            =  32,
                                                                                        >   275          CTRY_FRANCE             =  33,
                                                                                        >   276          CTRY_MONACO             =  33,
                                                                                        >   277          CTRY_SPAIN              =  34,
                                                                                        >   278          CTRY_HUNGARY            =  36,
                                                                                        >   279          CTRY_ITALY              =  39,
                                                                                        >   280          CTRY_ROMANIA            =  40,
                                                                                        >   281          CTRY_SWITZERLAND        =  41,
                                                                                        >   282          CTRY_LIECHTENSTEIN      =  41,
                                                                                        >   283          CTRY_AUSTRIA            =  43,
                                                                                        >   284          CTRY_UNITED_KINGDOM     =  44,
                                                                                        >   285          CTRY_DENMARK            =  45,
                                                                                        >   286          CTRY_SWEDEN             =  46,
                                                                                        >   287          CTRY_NORWAY             =  47,
                                                                                        >   288          CTRY_POLAND             =  48,
                                                                                        >   289          CTRY_GERMANY            =  49,
                                                                                        >   290          CTRY_PERU               =  51,
                                                                                        >   291          CTRY_MEXICO             =  52,
                                                                                        >   292          CTRY_ARGENTINA          =  54,
                                                                                        >   293          CTRY_BRAZIL             =  55,
                                                                                        >   294          CTRY_CHILE              =  56,
                                                                                        >   295          CTRY_COLOMBIA           =  57,
                                                                                        >   296          CTRY_VENEZUELA          =  58,
                                                                                        >   297          CTRY_MALAYSIA           =  60,
                                                                                        >   298          CTRY_AUSTRALIA          =  61,
                                                                                        >   299          CTRY_INDONESIA          =  62,
                                                                                        >   300          CTRY_PHILIPPINES        =  63,
                                                                                        >   301          CTRY_NEW_ZEALAND        =  64,
                                                                                        >   302          CTRY_SINGAPORE          =  65,
                                                                                        >   303          CTRY_THAILAND           =  66,
                                                                                        >   304          CTRY_JAPAN              =  81,
                                                                                        >   305          CTRY_SOUTH_KOREA        =  82,
                                                                                        >   306          CTRY_VIET_NAM           =  84,
                                                                                        >   307          CTRY_PRCHINA            =  86,
                                                                                        >   308          CTRY_TURKEY             =  90,
                                                                                        >   309          CTRY_INDIA              =  91,
                                                                                        >   310          CTRY_PAKISTAN           =  92,
                                                                                        >   311          CTRY_MOROCCO            = 212,
                                                                                        >   312          CTRY_ALGERIA            = 213,
                                                                                        >   313          CTRY_TUNISIA            = 216,
                                                                                        >   314          CTRY_LIBYA              = 218,
                                                                                        >   315          CTRY_KENYA              = 254,
                                                                                        >   316          CTRY_ZIMBABWE           = 263,
                                                                                        >   317          CTRY_FAEROE_ISLANDS     = 298,
                                                                                        >   318          CTRY_PORTUGAL           = 351,
                                                                                        >   319          CTRY_LUXEMBOURG         = 352,
                                                                                        >   320          CTRY_IRELAND            = 353,
                                                                                        >   321          CTRY_ICELAND            = 354,
                                                                                        >   322          CTRY_ALBANIA            = 355,
                                                                                        >   323          CTRY_FINLAND            = 358,
                                                                                        >   324          CTRY_BULGARIA           = 359,
                                                                                        >   325          CTRY_LITHUANIA          = 370,
                                                                                        >   326          CTRY_LATVIA             = 371,
                                                                                        >   327          CTRY_ESTONIA            = 372,
                                                                                        >   328          CTRY_ARMENIA            = 374,
                                                                                        >   329          CTRY_BELARUS            = 375,
                                                                                        >   330          CTRY_UKRAINE            = 380,
                                                                                        >   331          CTRY_SERBIA             = 381,
                                                                                        >   332          CTRY_CROATIA            = 385,
                                                                                        >   333          CTRY_SLOVENIA           = 386,
                                                                                        >   334          CTRY_MACEDONIA          = 389,
                                                                                        >   335          CTRY_CZECH              = 420,
                                                                                        >   336          CTRY_SLOVAK             = 421,
                                                                                        >   337          CTRY_BELIZE             = 501,
                                                                                        >   338          CTRY_GUATEMALA          = 502,
                                                                                        >   339          CTRY_EL_SALVADOR        = 503,
                                                                                        >   340          CTRY_HONDURAS           = 504,
                                                                                        >   341          CTRY_NICARAGUA          = 505,
                                                                                        >   342          CTRY_COSTA_RICA         = 506,
                                                                                        >   343          CTRY_PANAMA             = 507,
                                                                                        >   344          CTRY_BOLIVIA            = 591,
                                                                                        >   345          CTRY_ECUADOR            = 593,
                                                                                        >   346          CTRY_PARAGUAY           = 595,
                                                                                        >   347          CTRY_URUGUAY            = 598,
                                                                                        >   348          CTRY_BRUNEI_DARUSSALAM  = 673,
                                                                                        >   349          CTRY_HONG_KONG          = 852,
                                                                                        >   350          CTRY_MACAU              = 853,
                                                                                        >   351          CTRY_TAIWAN             = 886,
                                                                                        >   352          CTRY_MALDIVES           = 960,
                                                                                        >   353          CTRY_LEBANON            = 961,
                                                                                        >   354          CTRY_JORDAN             = 962,
                                                                                        >   355          CTRY_SYRIA              = 963,
                                                                                        >   356          CTRY_IRAQ               = 964,
                                                                                        >   357          CTRY_KUWAIT             = 965,
                                                                                        >   358          CTRY_SAUDI_ARABIA       = 966,
                                                                                        >   359          CTRY_YEMEN              = 967,
                                                                                        >   360          CTRY_OMAN               = 968,
                                                                                        >   361          CTRY_UAE                = 971,
                                                                                        >   362          CTRY_ISRAEL             = 972,
                                                                                        >   363          CTRY_BAHRAIN            = 973,
                                                                                        >   364          CTRY_QATAR              = 974,
                                                                                        >   365          CTRY_MONGOLIA           = 976,
                                                                                        >   366          CTRY_IRAN               = 981,
                                                                                        >   367          CTRY_AZERBAIJAN         = 994,
                                                                                        >   368          CTRY_GEORGIA            = 995,
                                                                                        >   369          CTRY_KYRGYZSTAN         = 996
  411                                                                                   |   370  }
                                                                                        >   371  
                                                                                        >   372  enum : CALTYPE {
  412  enum : uint { CAL_ICALINTVALUE = 0x00000001 }                                    |   373          CAL_ICALINTVALUE          = 1,
  413  enum : uint { CAL_SCALNAME = 0x00000002 }                                        |   374          CAL_SCALNAME,
  414  enum : uint { CAL_IYEAROFFSETRANGE = 0x00000003 }                                |   375          CAL_IYEAROFFSETRANGE,
  415  enum : uint { CAL_SERASTRING = 0x00000004 }                                      |   376          CAL_SERASTRING,
  416  enum : uint { CAL_SSHORTDATE = 0x00000005 }                                      |   377          CAL_SSHORTDATE,
  417  enum : uint { CAL_SLONGDATE = 0x00000006 }                                       |   378          CAL_SLONGDATE,
  418  enum : uint { CAL_SDAYNAME1 = 0x00000007 }                                       |   379          CAL_SDAYNAME1,
  419  enum : uint { CAL_SDAYNAME2 = 0x00000008 }                                       |   380          CAL_SDAYNAME2,
  420  enum : uint { CAL_SDAYNAME3 = 0x00000009 }                                       |   381          CAL_SDAYNAME3,
  421  enum : uint { CAL_SDAYNAME4 = 0x0000000a }                                       |   382          CAL_SDAYNAME4,
  422  enum : uint { CAL_SDAYNAME5 = 0x0000000b }                                       |   383          CAL_SDAYNAME5,
  423  enum : uint { CAL_SDAYNAME6 = 0x0000000c }                                       |   384          CAL_SDAYNAME6,
  424  enum : uint { CAL_SDAYNAME7 = 0x0000000d }                                       |   385          CAL_SDAYNAME7,
  425  enum : uint { CAL_SABBREVDAYNAME1 = 0x0000000e }                                 |   386          CAL_SABBREVDAYNAME1,
  426  enum : uint { CAL_SABBREVDAYNAME2 = 0x0000000f }                                 |   387          CAL_SABBREVDAYNAME2,
  427  enum : uint { CAL_SABBREVDAYNAME3 = 0x00000010 }                                 |   388          CAL_SABBREVDAYNAME3,
  428  enum : uint { CAL_SABBREVDAYNAME4 = 0x00000011 }                                 |   389          CAL_SABBREVDAYNAME4,
  429  enum : uint { CAL_SABBREVDAYNAME5 = 0x00000012 }                                 |   390          CAL_SABBREVDAYNAME5,
  430  enum : uint { CAL_SABBREVDAYNAME6 = 0x00000013 }                                 |   391          CAL_SABBREVDAYNAME6,
  431  enum : uint { CAL_SABBREVDAYNAME7 = 0x00000014 }                                 |   392          CAL_SABBREVDAYNAME7,
  432  enum : uint { CAL_SMONTHNAME1 = 0x00000015 }                                     |   393          CAL_SMONTHNAME1,
  433  enum : uint { CAL_SMONTHNAME2 = 0x00000016 }                                     |   394          CAL_SMONTHNAME2,
  434  enum : uint { CAL_SMONTHNAME3 = 0x00000017 }                                     |   395          CAL_SMONTHNAME3,
  435  enum : uint { CAL_SMONTHNAME4 = 0x00000018 }                                     |   396          CAL_SMONTHNAME4,
  436  enum : uint { CAL_SMONTHNAME5 = 0x00000019 }                                     |   397          CAL_SMONTHNAME5,
  437  enum : uint { CAL_SMONTHNAME6 = 0x0000001a }                                     |   398          CAL_SMONTHNAME6,
  438  enum : uint { CAL_SMONTHNAME7 = 0x0000001b }                                     |   399          CAL_SMONTHNAME7,
  439  enum : uint { CAL_SMONTHNAME8 = 0x0000001c }                                     |   400          CAL_SMONTHNAME8,
  440  enum : uint { CAL_SMONTHNAME9 = 0x0000001d }                                     |   401          CAL_SMONTHNAME9,
  441  enum : uint { CAL_SMONTHNAME10 = 0x0000001e }                                    |   402          CAL_SMONTHNAME10,
  442  enum : uint { CAL_SMONTHNAME11 = 0x0000001f }                                    |   403          CAL_SMONTHNAME11,
  443  enum : uint { CAL_SMONTHNAME12 = 0x00000020 }                                    |   404          CAL_SMONTHNAME12,
  444  enum : uint { CAL_SMONTHNAME13 = 0x00000021 }                                    |   405          CAL_SMONTHNAME13,
  445  enum : uint { CAL_SABBREVMONTHNAME1 = 0x00000022 }                               |   406          CAL_SABBREVMONTHNAME1,
  446  enum : uint { CAL_SABBREVMONTHNAME2 = 0x00000023 }                               |   407          CAL_SABBREVMONTHNAME2,
  447  enum : uint { CAL_SABBREVMONTHNAME3 = 0x00000024 }                               |   408          CAL_SABBREVMONTHNAME3,
  448  enum : uint { CAL_SABBREVMONTHNAME4 = 0x00000025 }                               |   409          CAL_SABBREVMONTHNAME4,
  449  enum : uint { CAL_SABBREVMONTHNAME5 = 0x00000026 }                               |   410          CAL_SABBREVMONTHNAME5,
  450  enum : uint { CAL_SABBREVMONTHNAME6 = 0x00000027 }                               |   411          CAL_SABBREVMONTHNAME6,
  451  enum : uint { CAL_SABBREVMONTHNAME7 = 0x00000028 }                               |   412          CAL_SABBREVMONTHNAME7,
  452  enum : uint { CAL_SABBREVMONTHNAME8 = 0x00000029 }                               |   413          CAL_SABBREVMONTHNAME8,
  453  enum : uint { CAL_SABBREVMONTHNAME9 = 0x0000002a }                               |   414          CAL_SABBREVMONTHNAME9,
  454  enum : uint { CAL_SABBREVMONTHNAME10 = 0x0000002b }                              |   415          CAL_SABBREVMONTHNAME10,
  455  enum : uint { CAL_SABBREVMONTHNAME11 = 0x0000002c }                              |   416          CAL_SABBREVMONTHNAME11,
  456  enum : uint { CAL_SABBREVMONTHNAME12 = 0x0000002d }                              |   417          CAL_SABBREVMONTHNAME12,
  457  enum : uint { CAL_SABBREVMONTHNAME13 = 0x0000002e }                              |   418          CAL_SABBREVMONTHNAME13 // = 46
  458                                                                                   |   419  }
  459  // #if(WINVER >= 0x0500)                                                         <
  460  enum : uint { CAL_SYEARMONTH = 0x0000002f }                                      <
  461  enum : uint { CAL_ITWODIGITYEARMAX = 0x00000030 }                                <
  462  // #endif /* WINVER >= 0x0500 */                                                 <
  463                                                                                   |   420  
  464  enum : uint { ENUM_ALL_CALENDARS = 0xffffffff }                                  <
  465                                                                                   |   421  
                                                                                        >   422  enum : CALTYPE {
  466  enum : uint { CAL_GREGORIAN = 1 }                                                |   423          CAL_GREGORIAN                =  1,
  467  enum : uint { CAL_GREGORIAN_US = 2 }                                             |   424          CAL_GREGORIAN_US,
  468  enum : uint { CAL_JAPAN = 3 }                                                    |   425          CAL_JAPAN,
  469  enum : uint { CAL_TAIWAN = 4 }                                                   |   426          CAL_TAIWAN,
  470  enum : uint { CAL_KOREA = 5 }                                                    |   427          CAL_KOREA,
  471  enum : uint { CAL_HIJRI = 6 }                                                    |   428          CAL_HIJRI,
  472  enum : uint { CAL_THAI = 7 }                                                     |   429          CAL_THAI,
  473  enum : uint { CAL_HEBREW = 8 }                                                   |   430          CAL_HEBREW,
  474  enum : uint { CAL_GREGORIAN_ME_FRENCH = 9 }                                      |   431          CAL_GREGORIAN_ME_FRENCH,
  475  enum : uint { CAL_GREGORIAN_ARABIC = 10 }                                        |   432          CAL_GREGORIAN_ARABIC,
  476  enum : uint { CAL_GREGORIAN_XLIT_ENGLISH = 11 }                                  |   433          CAL_GREGORIAN_XLIT_ENGLISH,
  477  enum : uint { CAL_GREGORIAN_XLIT_FRENCH = 12 }                                   |   434          CAL_GREGORIAN_XLIT_FRENCH // = 12
  478                                                                                   |   435  }
                                                                                        >   436  
                                                                                        >   437  enum : int {
                                                                                        >   438          CSTR_LESS_THAN    = 1,
                                                                                        >   439          CSTR_EQUAL,
                                                                                        >   440          CSTR_GREATER_THAN
                                                                                        >   441  }
                                                                                        >   442  
                                                                                        >   443  enum : DWORD {
                                                                                        >   444          LGRPID_INSTALLED = 1,
                                                                                        >   445          LGRPID_SUPPORTED
                                                                                        >   446  }
                                                                                        >   447  
                                                                                        >   448  enum : LGRPID {
  479  enum : uint { LGRPID_WESTERN_EUROPE = 0x0001 }                                   |   449          LGRPID_WESTERN_EUROPE = 1,
  480  enum : uint { LGRPID_CENTRAL_EUROPE = 0x0002 }                                   |   450          LGRPID_CENTRAL_EUROPE,
  481  enum : uint { LGRPID_BALTIC = 0x0003 }                                           |   451          LGRPID_BALTIC,
  482  enum : uint { LGRPID_GREEK = 0x0004 }                                            |   452          LGRPID_GREEK,
  483  enum : uint { LGRPID_CYRILLIC = 0x0005 }                                         |   453          LGRPID_CYRILLIC,
  484  enum : uint { LGRPID_TURKISH = 0x0006 }                                          |   454          LGRPID_TURKISH,
  485  enum : uint { LGRPID_JAPANESE = 0x0007 }                                         |   455          LGRPID_JAPANESE,
  486  enum : uint { LGRPID_KOREAN = 0x0008 }                                           |   456          LGRPID_KOREAN,
  487  enum : uint { LGRPID_TRADITIONAL_CHINESE = 0x0009 }                              |   457          LGRPID_TRADITIONAL_CHINESE,
  488  enum : uint { LGRPID_SIMPLIFIED_CHINESE = 0x000a }                               |   458          LGRPID_SIMPLIFIED_CHINESE,
  489  enum : uint { LGRPID_THAI = 0x000b }                                             |   459          LGRPID_THAI,
  490  enum : uint { LGRPID_HEBREW = 0x000c }                                           |   460          LGRPID_HEBREW,
  491  enum : uint { LGRPID_ARABIC = 0x000d }                                           |   461          LGRPID_ARABIC,
  492  enum : uint { LGRPID_VIETNAMESE = 0x000e }                                       |   462          LGRPID_VIETNAMESE,
  493  enum : uint { LGRPID_INDIC = 0x000f }                                            |   463          LGRPID_INDIC,
  494  enum : uint { LGRPID_GEORGIAN = 0x0010 }                                         |   464          LGRPID_GEORGIAN,
  495  enum : uint { LGRPID_ARMENIAN = 0x0011 }                                         |   465          LGRPID_ARMENIAN // = 17
  496                                                                                   |   466  }
  497  alias DWORD LGRPID;                                                              <
  498                                                                                   |   467  
                                                                                        >   468  static if (WINVER >= 0x500) {
  499  alias DWORD LCTYPE;                                                              |   469          enum : LCTYPE {
                                                                                        >   470                  LOCALE_SYEARMONTH             = 0x1006,
                                                                                        >   471                  LOCALE_SENGCURRNAME           = 0x1007,
                                                                                        >   472                  LOCALE_SNATIVECURRNAME        = 0x1008,
                                                                                        >   473                  LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012,
                                                                                        >   474                  LOCALE_SSORTNAME              = 0x1013,
                                                                                        >   475                  LOCALE_IDIGITSUBSTITUTION     = 0x1014,
                                                                                        >   476                  LOCALE_IPAPERSIZE             = 0x100A
  500                                                                                   |   477          }
  501  alias DWORD CALTYPE;                                                             <
  502                                                                                   |   478  
  503  alias DWORD CALID;                                                               |   479          const DWORD
                                                                                        >   480                  DATE_YEARMONTH  =  8,
                                                                                        >   481                  DATE_LTRREADING = 16,
                                                                                        >   482                  DATE_RTLREADING = 32;
  504                                                                                   |   483  
  505  struct _cpinfo {                                                                 <
  506    UINT MaxCharSize;                                                              <
  507    BYTE DefaultChar[MAX_DEFAULTCHAR];                                             <
  508    BYTE LeadByte[MAX_LEADBYTES];                                                  <
                                                                                        >   484          const DWORD MAP_EXPAND_LIGATURES = 0x2000;
                                                                                        >   485          const DWORD WC_NO_BEST_FIT_CHARS = 1024;
  509  }                                                                                |   486  
  510  alias _cpinfo CPINFO;                                                            <
  511  alias _cpinfo* LPCPINFO;                                                         <
                                                                                        >   487          enum : CALTYPE {
                                                                                        >   488                  CAL_SYEARMONTH       = 47,
                                                                                        >   489                  CAL_ITWODIGITYEARMAX = 48,
                                                                                        >   490                  CAL_NOUSEROVERRIDE   = LOCALE_NOUSEROVERRIDE,
                                                                                        >   491                  CAL_RETURN_NUMBER    = LOCALE_RETURN_NUMBER,
                                                                                        >   492                  CAL_USE_CP_ACP       = LOCALE_USE_CP_ACP
  512                                                                                   |   493          }
  513  struct _cpinfoexA {                                                              <
  514    UINT MaxCharSize;                                                              <
  515    BYTE DefaultChar[MAX_DEFAULTCHAR];                                             <
  516    BYTE LeadByte[MAX_LEADBYTES];                                                  <
  517    WCHAR UnicodeDefaultChar;                                                      <
  518    UINT CodePage;                                                                 <
  519    CHAR CodePageName[MAX_PATH];                                                   <
                                                                                        >   494  } // (WINVER >= 0x500)
  520  }                                                                                |   495  
  521  alias _cpinfoexA CPINFOEXA;                                                      <
  522  alias _cpinfoexA* LPCPINFOEXA;                                                   <
                                                                                        >   496  extern (Windows) {
                                                                                        >   497          alias BOOL function(LPSTR) CALINFO_ENUMPROCA;
                                                                                        >   498          alias BOOL function(LPWSTR) CALINFO_ENUMPROCW;
                                                                                        >   499          alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA;
                                                                                        >   500          alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW;
                                                                                        >   501          alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR)
                                                                                        >   502            LANGUAGEGROUP_ENUMPROCA;
                                                                                        >   503          alias BOOL function(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR)
                                                                                        >   504            LANGUAGEGROUP_ENUMPROCW;
                                                                                        >   505          alias BOOL function(LGRPID, LCID, LPSTR, LONG_PTR)
                                                                                        >   506            LANGGROUPLOCALE_ENUMPROCA;
                                                                                        >   507          alias BOOL function(LGRPID, LCID, LPWSTR, LONG_PTR)
                                                                                        >   508            LANGGROUPLOCALE_ENUMPROCW;
                                                                                        >   509          alias BOOL function(LPWSTR, LONG_PTR) UILANGUAGE_ENUMPROCW;
                                                                                        >   510          alias BOOL function(LPSTR, LONG_PTR) UILANGUAGE_ENUMPROCA;
                                                                                        >   511          alias BOOL function(LPSTR) LOCALE_ENUMPROCA;
                                                                                        >   512          alias BOOL function(LPWSTR) LOCALE_ENUMPROCW;
                                                                                        >   513          alias BOOL function(LPSTR) CODEPAGE_ENUMPROCA;
                                                                                        >   514          alias BOOL function(LPWSTR) CODEPAGE_ENUMPROCW;
                                                                                        >   515          alias BOOL function(LPSTR) DATEFMT_ENUMPROCA;
                                                                                        >   516          alias BOOL function(LPWSTR) DATEFMT_ENUMPROCW;
                                                                                        >   517          alias BOOL function(LPSTR, CALID) DATEFMT_ENUMPROCEXA;
                                                                                        >   518          alias BOOL function(LPWSTR, CALID) DATEFMT_ENUMPROCEXW;
                                                                                        >   519          alias BOOL function(LPSTR) TIMEFMT_ENUMPROCA;
                                                                                        >   520          alias BOOL function(LPWSTR) TIMEFMT_ENUMPROCW;
                                                                                        >   521          alias BOOL function(GEOID) GEO_ENUMPROC;
  523                                                                                   |   522  }
  524  struct _cpinfoexW {                                                              <
  525    UINT MaxCharSize;                                                              <
  526    BYTE DefaultChar[MAX_DEFAULTCHAR];                                             <
  527    BYTE LeadByte[MAX_LEADBYTES];                                                  <
  528    WCHAR UnicodeDefaultChar;                                                      <
  529    UINT CodePage;                                                                 <
  530    WCHAR CodePageName[MAX_PATH];                                                  <
  531  }                                                                                |   523  
  532  alias _cpinfoexW CPINFOEXW;                                                      <
  533  alias _cpinfoexW* LPCPINFOEXW;                                                   <
                                                                                        >   524  enum NLS_FUNCTION {
                                                                                        >   525          COMPARE_STRING = 0x0001
  534                                                                                   |   526  }
  535  // #ifdef UNICODE                                                                <
  536  alias CPINFOEXW CPINFOEX;                                                        <
  537  alias LPCPINFOEXW LPCPINFOEX;                                                    <
  538  // #else                                                                         <
  539  // ...                                                                           <
  540  // #endif // UNICODE                                                             <
  541                                                                                   |   527  
  542  struct _numberfmtA {                                                             <
  543    UINT NumDigits;                                                                <
  544    UINT LeadingZero;                                                              <
  545    UINT Grouping;                                                                 <
  546    LPSTR lpDecimalSep;                                                            <
  547    LPSTR lpThousandSep;                                                           <
  548    UINT NegativeOrder;                                                            <
  549  }                                                                                <
  550  alias _numberfmtA NUMBERFMTA;                                                    <
  551  alias _numberfmtA* LPNUMBERFMTA;                                                 <
  552                                                                                   <
  553  struct _numberfmtW {                                                             <
  554    UINT NumDigits;                                                                <
  555    UINT LeadingZero;                                                              <
  556    UINT Grouping;                                                                 <
  557    LPWSTR lpDecimalSep;                                                           <
  558    LPWSTR lpThousandSep;                                                          <
  559    UINT NegativeOrder;                                                            <
  560  }                                                                                <
  561  alias _numberfmtW NUMBERFMTW;                                                    <
  562  alias _numberfmtW* LPNUMBERFMTW;                                                 <
  563                                                                                   <
  564  // #ifdef UNICODE                                                                <
  565  alias NUMBERFMTW NUMBERFMT;                                                      <
  566  alias LPNUMBERFMTW LPNUMBERFMT;                                                  <
  567  // #else                                                                         <
  568  // ...                                                                           <
  569  // #endif // UNICODE                                                             <
  570                                                                                   <
  571  struct _currencyfmtA {                                                           <
  572    UINT NumDigits;                                                                <
  573    UINT LeadingZero;                                                              <
  574    UINT Grouping;                                                                 <
  575    LPSTR lpDecimalSep;                                                            <
  576    LPSTR lpThousandSep;                                                           <
  577    UINT NegativeOrder;                                                            <
  578    UINT PositiveOrder;                                                            <
  579    LPSTR lpCurrencySymbol;                                                        <
  580  }                                                                                <
  581  alias _currencyfmtA CURRENCYFMTA;                                                <
  582  alias _currencyfmtA* LPCURRENCYFMTA;                                             <
  583                                                                                   <
  584  struct _currencyfmtW {                                                           <
  585    UINT NumDigits;                                                                <
  586    UINT LeadingZero;                                                              <
  587    UINT Grouping;                                                                 <
  588    LPWSTR lpDecimalSep;                                                           <
  589    LPWSTR lpThousandSep;                                                          <
  590    UINT NegativeOrder;                                                            <
  591    UINT PositiveOrder;                                                            <
  592    LPWSTR lpCurrencySymbol;                                                       <
  593  }                                                                                <
  594  alias _currencyfmtW CURRENCYFMTW;                                                <
  595  alias _currencyfmtW* LPCURRENCYFMTW;                                             <
  596                                                                                   <
  597  // #ifdef UNICODE                                                                <
  598  alias CURRENCYFMTW CURRENCYFMT;                                                  <
  599  alias LPCURRENCYFMTW LPCURRENCYFMT;                                              <
  600  // #else                                                                         <
  601  // ...                                                                           <
  602  // #endif // UNICODE                                                             <
  603                                                                                   <
  604  alias LONG GEOID;                                                                <
  605  alias DWORD GEOTYPE;                                                             <
  606  alias DWORD GEOCLASS;                                                            |   528  enum SYSGEOCLASS {
                                                                                        >   529          GEOCLASS_NATION = 16,
                                                                                        >   530          GEOCLASS_REGION = 14
  607                                                                                   |   531  }
  608  enum { GEOID_NOT_AVAILABLE = -1 }                                                <
  609                                                                                       532  
  610  enum SYSGEOTYPE {                                                                    533  enum SYSGEOTYPE {
  611    GEO_NATION = 0x0001,                                                           |   534          GEO_NATION            = 0x0001,
  612    GEO_LATITUDE = 0x0002,                                                         |   535          GEO_LATITUDE          = 0x0002,
  613    GEO_LONGITUDE = 0x0003,                                                        |   536          GEO_LONGITUDE         = 0x0003,
  614    GEO_ISO2 = 0x0004,                                                             |   537          GEO_ISO2              = 0x0004,
  615    GEO_ISO3 = 0x0005,                                                             |   538          GEO_ISO3              = 0x0005,
  616    GEO_RFC1766 = 0x0006,                                                          |   539          GEO_RFC1766           = 0x0006,
  617    GEO_LCID = 0x0007,                                                             |   540          GEO_LCID              = 0x0007,
  618    GEO_FRIENDLYNAME = 0x0008,                                                     |   541          GEO_FRIENDLYNAME      = 0x0008,
  619    GEO_OFFICIALNAME = 0x0009,                                                     |   542          GEO_OFFICIALNAME      = 0x0009,
  620    GEO_TIMEZONES = 0x000A,                                                        |   543          GEO_TIMEZONES         = 0x000a,
  621    GEO_OFFICIALLANGUAGES = 0x000B,                                                |   544          GEO_OFFICIALLANGUAGES = 0x000a
                                                                                        >   545  }
                                                                                        >   546  
                                                                                        >   547  struct CPINFO {
                                                                                        >   548          UINT                  MaxCharSize;
                                                                                        >   549          BYTE[MAX_DEFAULTCHAR] DefaultChar;
                                                                                        >   550          BYTE[MAX_LEADBYTES]   LeadByte;
                                                                                        >   551  }
                                                                                        >   552  alias CPINFO* LPCPINFO;
                                                                                        >   553  
                                                                                        >   554  struct CPINFOEXA {
                                                                                        >   555          UINT                  MaxCharSize;
                                                                                        >   556          BYTE[MAX_DEFAULTCHAR] DefaultChar;
                                                                                        >   557          BYTE[MAX_LEADBYTES]   LeadByte;
                                                                                        >   558          WCHAR                 UnicodeDefaultChar;
                                                                                        >   559          UINT                  CodePage;
                                                                                        >   560          CHAR[MAX_PATH]        CodePageName;
                                                                                        >   561  }
                                                                                        >   562  alias CPINFOEXA* LPCPINFOEXA;
                                                                                        >   563  
                                                                                        >   564  struct CPINFOEXW {
                                                                                        >   565          UINT                  MaxCharSize;
                                                                                        >   566          BYTE[MAX_DEFAULTCHAR] DefaultChar;
                                                                                        >   567          BYTE[MAX_LEADBYTES]   LeadByte;
                                                                                        >   568          WCHAR                 UnicodeDefaultChar;
                                                                                        >   569          UINT                  CodePage;
                                                                                        >   570          WCHAR[MAX_PATH]       CodePageName;
                                                                                        >   571  }
                                                                                        >   572  alias CPINFOEXW* LPCPINFOEXW;
                                                                                        >   573  
                                                                                        >   574  struct CURRENCYFMTA {
                                                                                        >   575          UINT  NumDigits;
                                                                                        >   576          UINT  LeadingZero;
                                                                                        >   577          UINT  Grouping;
                                                                                        >   578          LPSTR lpDecimalSep;
                                                                                        >   579          LPSTR lpThousandSep;
                                                                                        >   580          UINT  NegativeOrder;
                                                                                        >   581          UINT  PositiveOrder;
                                                                                        >   582          LPSTR lpCurrencySymbol;
                                                                                        >   583  }
                                                                                        >   584  alias CURRENCYFMTA* LPCURRENCYFMTA;
                                                                                        >   585  
                                                                                        >   586  struct CURRENCYFMTW {
                                                                                        >   587          UINT   NumDigits;
                                                                                        >   588          UINT   LeadingZero;
                                                                                        >   589          UINT   Grouping;
                                                                                        >   590          LPWSTR lpDecimalSep;
                                                                                        >   591          LPWSTR lpThousandSep;
                                                                                        >   592          UINT   NegativeOrder;
                                                                                        >   593          UINT   PositiveOrder;
                                                                                        >   594          LPWSTR lpCurrencySymbol;
                                                                                        >   595  }
                                                                                        >   596  alias CURRENCYFMTW* LPCURRENCYFMTW;
                                                                                        >   597  
                                                                                        >   598  struct NLSVERSIONINFO {
                                                                                        >   599          DWORD dwNLSVersionInfoSize;
                                                                                        >   600          DWORD dwNLSVersion;
                                                                                        >   601          DWORD dwDefinedVersion;
                                                                                        >   602  }
                                                                                        >   603  alias NLSVERSIONINFO* LPNLSVERSIONINFO;
                                                                                        >   604  
                                                                                        >   605  struct NUMBERFMTA {
                                                                                        >   606          UINT  NumDigits;
                                                                                        >   607          UINT  LeadingZero;
                                                                                        >   608          UINT  Grouping;
                                                                                        >   609          LPSTR lpDecimalSep;
                                                                                        >   610          LPSTR lpThousandSep;
                                                                                        >   611          UINT  NegativeOrder;
                                                                                        >   612  }
                                                                                        >   613  alias NUMBERFMTA* LPNUMBERFMTA;
                                                                                        >   614  
                                                                                        >   615  struct NUMBERFMTW {
                                                                                        >   616          UINT   NumDigits;
                                                                                        >   617          UINT   LeadingZero;
                                                                                        >   618          UINT   Grouping;
                                                                                        >   619          LPWSTR lpDecimalSep;
                                                                                        >   620          LPWSTR lpThousandSep;
                                                                                        >   621          UINT   NegativeOrder;
  622  }                                                                                    622  }
                                                                                        >   623  alias NUMBERFMTW* LPNUMBERFMTW;
                                                                                        >   624  
                                                                                        >   625  extern (Windows) {
                                                                                        >   626          int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int);
                                                                                        >   627          int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int);
                                                                                        >   628          LCID ConvertDefaultLocale(LCID);
                                                                                        >   629          BOOL EnumCalendarInfoA(CALINFO_ENUMPROCA, LCID, CALID, CALTYPE);
                                                                                        >   630          BOOL EnumCalendarInfoW(CALINFO_ENUMPROCW, LCID, CALID, CALTYPE);
                                                                                        >   631          BOOL EnumDateFormatsA(DATEFMT_ENUMPROCA, LCID, DWORD);
                                                                                        >   632          BOOL EnumDateFormatsW(DATEFMT_ENUMPROCW, LCID, DWORD);
                                                                                        >   633          BOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROCA, DWORD);
                                                                                        >   634          BOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROCW, DWORD);
                                                                                        >   635          BOOL EnumSystemGeoID(GEOCLASS, GEOID, GEO_ENUMPROC);
                                                                                        >   636          BOOL EnumSystemLocalesA(LOCALE_ENUMPROCA, DWORD);
                                                                                        >   637          BOOL EnumSystemLocalesW(LOCALE_ENUMPROCW, DWORD);
                                                                                        >   638          BOOL EnumTimeFormatsA(TIMEFMT_ENUMPROCA, LCID, DWORD);
                                                                                        >   639          BOOL EnumTimeFormatsW(TIMEFMT_ENUMPROCW, LCID, DWORD);
                                                                                        >   640          int FoldStringA(DWORD, LPCSTR, int, LPSTR, int);
                                                                                        >   641          int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int);
                                                                                        >   642          UINT GetACP();
                                                                                        >   643          int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD);
                                                                                        >   644          int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD);
                                                                                        >   645          BOOL GetCPInfo(UINT, LPCPINFO);
                                                                                        >   646          BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA);
                                                                                        >   647          BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW);
                                                                                        >   648          int GetCurrencyFormatA(LCID, DWORD, LPCSTR,  CPtr!(CURRENCYFMTA), LPSTR,
                                                                                        >   649          int GetCurrencyFormatW(LCID, DWORD, LPCWSTR,  CPtr!(CURRENCYFMTW), LPWST
                                                                                        >   650            int);
                                                                                        >   651          int GetDateFormatA(LCID, DWORD,  CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int);
                                                                                        >   652          int GetDateFormatW(LCID, DWORD,  CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int
                                                                                        >   653          int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID);
                                                                                        >   654          int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID);
                                                                                        >   655          int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
                                                                                        >   656          int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
                                                                                        >   657          BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO);
                                                                                        >   658          int GetNumberFormatA(LCID, DWORD, LPCSTR,  CPtr!(NUMBERFMTA), LPSTR, int
                                                                                        >   659          int GetNumberFormatW(LCID, DWORD, LPCWSTR,  CPtr!(NUMBERFMTW), LPWSTR, i
                                                                                        >   660          UINT GetOEMCP();
                                                                                        >   661          BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD);
                                                                                        >   662          BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD);
                                                                                        >   663          BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD);
                                                                                        >   664          BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD);
                                                                                        >   665          LANGID GetSystemDefaultLangID();
                                                                                        >   666          LCID GetSystemDefaultLCID();
                                                                                        >   667          LCID GetThreadLocale();
                                                                                        >   668          int GetTimeFormatA(LCID, DWORD,  CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int);
                                                                                        >   669          int GetTimeFormatW(LCID, DWORD,  CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int
                                                                                        >   670          LANGID GetUserDefaultLangID();
                                                                                        >   671          LCID GetUserDefaultLCID();
                                                                                        >   672          GEOID GetUserGeoID(GEOCLASS);
                                                                                        >   673          BOOL IsDBCSLeadByte(BYTE);
                                                                                        >   674          BOOL IsDBCSLeadByteEx(UINT, BYTE);
                                                                                        >   675          BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR,
                                                                                        >   676            int);
                                                                                        >   677          BOOL IsValidCodePage(UINT);
                                                                                        >   678          BOOL IsValidLocale(LCID, DWORD);
                                                                                        >   679          int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int);
                                                                                        >   680          int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int);
                                                                                        >   681          int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int);
                                                                                        >   682          int SetCalendarInfoA(LCID, CALID, CALTYPE, LPCSTR);
                                                                                        >   683          int SetCalendarInfoW(LCID, CALID, CALTYPE, LPCWSTR);
                                                                                        >   684          BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR);
                                                                                        >   685          BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR);
                                                                                        >   686          BOOL SetThreadLocale(LCID);
                                                                                        >   687          BOOL SetUserGeoID(GEOID);
                                                                                        >   688          int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR,
                                                                                        >   689            LPBOOL);
                                                                                        >   690  
                                                                                        >   691          static if (WINVER >= 0x410) {
                                                                                        >   692                  BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTY
                                                                                        >   693                  BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTY
                                                                                        >   694                  BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD);
                                                                                        >   695                  BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD);
                                                                                        >   696                  BOOL IsValidLanguageGroup(LGRPID, DWORD);
                                                                                        >   697          }
                                                                                        >   698  
                                                                                        >   699          static if (WINVER >= 0x500) {
                                                                                        >   700                  LANGID GetSystemDefaultUILanguage();
                                                                                        >   701                  LANGID GetUserDefaultUILanguage();
  623                                                                                       702  
  624  enum SYSGEOCLASS {                                                               |   703                  static if (_WIN32_WINNT_ONLY) {
  625    GEOCLASS_NATION = 16,                                                          |   704                          BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, 
  626    GEOCLASS_REGION = 14,                                                          |   705                            LONG_PTR);
                                                                                        >   706                          BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, 
                                                                                        >   707                            LONG_PTR);
                                                                                        >   708                          BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA
                                                                                        >   709                            DWORD, LONG_PTR);
                                                                                        >   710                          BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW
                                                                                        >   711                            DWORD, LONG_PTR);
                                                                                        >   712                          BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_
                                                                                        >   713                          BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_
                                                                                        >   714                  }
                                                                                        >   715          }
  627  }                                                                                    716  }
  628                                                                                       717  
  629  // #ifdef STRICT                                                                 |   718  version (Unicode) {
  630                                                                                   <
                                                                                        >   719          alias CALINFO_ENUMPROCW CALINFO_ENUMPROC;
  631  // ...                                                                           |   720          alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX;
  632                                                                                   <
                                                                                        >   721          alias LOCALE_ENUMPROCW LOCALE_ENUMPROC;
  633  // ...                                                                           |   722          alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC;
  634                                                                                   <
                                                                                        >   723          alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC;
  635  // #else // !STRICT                                                              |   724          alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX;
  636                                                                                   <
                                                                                        >   725          alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC;
  637  alias FARPROC LANGUAGEGROUP_ENUMPROCA;                                           |   726          alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC;
  638  alias FARPROC LANGGROUPLOCALE_ENUMPROCA;                                         |   727          alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC;
  639  alias FARPROC UILANGUAGE_ENUMPROCA;                                              |   728          alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC;
  640  alias FARPROC LOCALE_ENUMPROCA;                                                  |   729          alias CPINFOEXW CPINFOEX;
  641  alias FARPROC CODEPAGE_ENUMPROCA;                                                |   730          alias LPCPINFOEXW LPCPINFOEX;
  642  alias FARPROC DATEFMT_ENUMPROCA;                                                 |   731          alias CURRENCYFMTW CURRENCYFMT;
  643  alias FARPROC DATEFMT_ENUMPROCEXA;                                               |   732          alias LPCURRENCYFMTW LPCURRENCYFMT;
  644  alias FARPROC TIMEFMT_ENUMPROCA;                                                 |   733          alias NUMBERFMTW NUMBERFMT;
  645  alias FARPROC CALINFO_ENUMPROCA;                                                 |   734          alias LPNUMBERFMTW LPNUMBERFMT;
  646  alias FARPROC CALINFO_ENUMPROCEXA;                                               |   735          alias CompareStringW CompareString;
  647  alias FARPROC GEO_ENUMPROC;                                                      |   736          alias EnumCalendarInfoW EnumCalendarInfo;
                                                                                        >   737          alias EnumSystemCodePagesW EnumSystemCodePages;
                                                                                        >   738          alias EnumSystemLocalesW EnumSystemLocales;
                                                                                        >   739          alias EnumTimeFormatsW EnumTimeFormats;
                                                                                        >   740          alias FoldStringW FoldString;
                                                                                        >   741          alias GetCalendarInfoW GetCalendarInfo;
                                                                                        >   742          alias GetCPInfoExW GetCPInfoEx;
                                                                                        >   743          alias GetCurrencyFormatW GetCurrencyFormat;
                                                                                        >   744          alias GetDateFormatW GetDateFormat;
                                                                                        >   745          alias GetGeoInfoW GetGeoInfo;
                                                                                        >   746          alias GetLocaleInfoW GetLocaleInfo;
                                                                                        >   747          alias GetNumberFormatW GetNumberFormat;
                                                                                        >   748          alias GetStringTypeExW GetStringTypeEx;
                                                                                        >   749          alias GetTimeFormatW GetTimeFormat;
                                                                                        >   750          alias LCMapStringW LCMapString;
                                                                                        >   751          alias SetCalendarInfoW SetCalendarInfo;
                                                                                        >   752          alias SetLocaleInfoW SetLocaleInfo;
  648                                                                                       753  
  649  alias FARPROC LANGUAGEGROUP_ENUMPROCW;                                           |   754          static if (WINVER >= 0x410) {
  650  alias FARPROC LANGGROUPLOCALE_ENUMPROCW;                                         |   755                  alias EnumCalendarInfoExW EnumCalendarInfoEx;
  651  alias FARPROC UILANGUAGE_ENUMPROCW;                                              |   756                  alias EnumDateFormatsExW EnumDateFormatsEx;
  652  alias FARPROC LOCALE_ENUMPROCW;                                                  <
  653  alias FARPROC CODEPAGE_ENUMPROCW;                                                <
  654  alias FARPROC DATEFMT_ENUMPROCW;                                                 <
  655  alias FARPROC DATEFMT_ENUMPROCEXW;                                               <
  656  alias FARPROC TIMEFMT_ENUMPROCW;                                                 <
  657  alias FARPROC CALINFO_ENUMPROCW;                                                 <
  658  alias FARPROC CALINFO_ENUMPROCEXW;                                               <
                                                                                        >   757          }
  659                                                                                       758  
  660  // #endif // !STRICT                                                             |   759          static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) {
  661                                                                                   <
                                                                                        >   760                  alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;
  662  // #ifdef UNICODE                                                                |   761                  alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales;
                                                                                        >   762                  alias EnumUILanguagesW EnumUILanguages;
  663                                                                                   |   763          }
  664  alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC;                            <
  665  alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC;                        <
  666  alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC;                                  <
  667  alias LOCALE_ENUMPROCW LOCALE_ENUMPROC;                                          <
  668  alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC;                                      <
  669  alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC;                                        <
  670  alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX;                                    <
  671  alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC;                                        <
  672  alias CALINFO_ENUMPROCW CALINFO_ENUMPROC;                                        <
  673  alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX;                                    <
  674                                                                                   <
  675  // #else                                                                         <
  676                                                                                   <
  677  // #...                                                                          <
  678  // #...                                                                          <
  679  // #...                                                                          <
  680  // #...                                                                          <
  681  // #...                                                                          <
  682  // #...                                                                          <
  683  // #...                                                                          <
  684  // #...                                                                          <
  685  // #...                                                                          <
  686  // #...                                                                          <
  687                                                                                       764  
  688  // #endif // !UNICODE                                                            |   765  } else {
  689                                                                                   <
                                                                                        >   766          alias CALINFO_ENUMPROCA CALINFO_ENUMPROC;
  690  extern(Windows) export BOOL IsValidCodePage(                                     |   767          alias CALINFO_ENUMPROCEXA CALINFO_ENUMPROCEX;
  691       UINT  CodePage);                                                            |   768          alias LOCALE_ENUMPROCA LOCALE_ENUMPROC;
  692                                                                                   <
                                                                                        >   769          alias CODEPAGE_ENUMPROCA CODEPAGE_ENUMPROC;
  693  extern(Windows) export UINT GetACP();                                            |   770          alias DATEFMT_ENUMPROCA DATEFMT_ENUMPROC;
  694                                                                                   <
                                                                                        >   771          alias DATEFMT_ENUMPROCEXA DATEFMT_ENUMPROCEX;
  695  extern(Windows) export UINT GetOEMCP();                                          |   772          alias TIMEFMT_ENUMPROCA TIMEFMT_ENUMPROC;
  696                                                                                   <
                                                                                        >   773          alias LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROC;
  697  extern(Windows) export BOOL GetCPInfo(                                           |   774          alias LANGGROUPLOCALE_ENUMPROCA LANGGROUPLOCALE_ENUMPROC;
  698       UINT       CodePage,                                                        |   775          alias UILANGUAGE_ENUMPROCA UILANGUAGE_ENUMPROC;
  699       LPCPINFO  lpCPInfo);                                                        |   776          alias CPINFOEXA CPINFOEX;
  700                                                                                   <
  701  extern(Windows) export BOOL GetCPInfoExA(                                        <
  702       UINT          CodePage,                                                     <
  703       DWORD         dwFlags,                                                      <
  704       LPCPINFOEXA  lpCPInfoEx);                                                   |   777          alias LPCPINFOEXA LPCPINFOEX;
                                                                                        >   778          alias CURRENCYFMTA CURRENCYFMT;
                                                                                        >   779          alias LPCURRENCYFMTA LPCURRENCYFMT;
                                                                                        >   780          alias NUMBERFMTA NUMBERFMT;
                                                                                        >   781          alias LPNUMBERFMTA LPNUMBERFMT;
  705  extern(Windows) export BOOL GetCPInfoExW(                                        |   782          alias CompareStringA CompareString;
  706       UINT          CodePage,                                                     |   783          alias EnumCalendarInfoA EnumCalendarInfo;
  707       DWORD         dwFlags,                                                      |   784          alias EnumSystemCodePagesA EnumSystemCodePages;
  708       LPCPINFOEXW  lpCPInfoEx);                                                   |   785          alias EnumSystemLocalesA EnumSystemLocales;
  709  // #ifdef UNICODE                                                                |   786          alias EnumTimeFormatsA EnumTimeFormats;
                                                                                        >   787          alias FoldStringA FoldString;
                                                                                        >   788          alias GetCalendarInfoA GetCalendarInfo;
  710  alias GetCPInfoExW GetCPInfoEx;                                                  |   789          alias GetCPInfoExA GetCPInfoEx;
  711  // #else                                                                         <
  712  // #...                                                                          <
  713  // #endif // !UNICODE                                                            |   790          alias GetCurrencyFormatA GetCurrencyFormat;
  714                                                                                   <
                                                                                        >   791          alias GetDateFormatA GetDateFormat;
  715  extern(Windows) export BOOL IsDBCSLeadByte(                                      |   792          alias GetGeoInfoA GetGeoInfo;
  716       BYTE  TestChar);                                                            |   793          alias GetLocaleInfoA GetLocaleInfo;
  717                                                                                   <
                                                                                        >   794          alias GetNumberFormatA GetNumberFormat;
  718  extern(Windows) export BOOL IsDBCSLeadByteEx(                                    |   795          alias GetStringTypeExA GetStringTypeEx;
  719       UINT  CodePage,                                                             |   796          alias GetTimeFormatA GetTimeFormat;
  720       BYTE  TestChar);                                                            |   797          alias LCMapStringA LCMapString;
  721                                                                                   <
                                                                                        >   798          alias SetCalendarInfoA SetCalendarInfo;
  722  extern(Windows) export int MultiByteToWideChar(                                  |   799          alias SetLocaleInfoA SetLocaleInfo;
  723       UINT     CodePage,                                                          <
  724       DWORD    dwFlags,                                                           <
  725       LPCSTR   lpMultiByteStr,                                                    <
  726       int      cbMultiByte,                                                       <
  727       LPWSTR  lpWideCharStr,                                                      <
  728       int      cchWideChar);                                                      <
  729                                                                                   <
  730  extern(Windows) export int WideCharToMultiByte(                                  <
  731       UINT     CodePage,                                                          <
  732       DWORD    dwFlags,                                                           <
  733       LPCWSTR  lpWideCharStr,                                                     <
  734       int      cchWideChar,                                                       <
  735       LPSTR   lpMultiByteStr,                                                     <
  736       int      cbMultiByte,                                                       <
  737       LPCSTR   lpDefaultChar,                                                     <
  738       LPBOOL  lpUsedDefaultChar);                                                 <
  739                                                                                   <
  740  extern(Windows) export int CompareStringA(                                       <
  741       LCID     Locale,                                                            <
  742       DWORD    dwCmpFlags,                                                        <
  743       LPCSTR  lpString1,                                                          <
  744       int      cchCount1,                                                         <
  745       LPCSTR  lpString2,                                                          <
  746       int      cchCount2);                                                        <
  747  extern(Windows) export int CompareStringW(                                       <
  748       LCID     Locale,                                                            <
  749       DWORD    dwCmpFlags,                                                        <
  750       LPCWSTR  lpString1,                                                         <
  751       int      cchCount1,                                                         <
  752       LPCWSTR  lpString2,                                                         <
  753       int      cchCount2);                                                        <
  754  // #ifdef UNICODE                                                                <
  755  alias CompareStringW CompareString;                                              <
  756  // #else                                                                         <
  757  // #...                                                                          <
  758  // #endif // !UNICODE                                                            <
  759                                                                                       800  
  760  extern(Windows) export int LCMapStringA(                                         <
  761       LCID     Locale,                                                            <
  762       DWORD    dwMapFlags,                                                        <
  763       LPCSTR  lpSrcStr,                                                           <
  764       int      cchSrc,                                                            <
  765       LPSTR  lpDestStr,                                                           <
  766       int      cchDest);                                                          <
  767  extern(Windows) export int LCMapStringW(                                         <
  768       LCID     Locale,                                                            <
  769       DWORD    dwMapFlags,                                                        <
  770       LPCWSTR  lpSrcStr,                                                          <
  771       int      cchSrc,                                                            <
  772       LPWSTR  lpDestStr,                                                          <
  773       int      cchDest);                                                          <
  774  // #ifdef UNICODE                                                                <
  775  alias LCMapStringW LCMapString;                                                  <
  776  // #else                                                                         <
  777  // #...                                                                          <
  778  // #endif // !UNICODE                                                            <
  779                                                                                   <
  780  extern(Windows) export int GetLocaleInfoA(                                       <
  781       LCID     Locale,                                                            <
  782       LCTYPE   LCType,                                                            <
  783       LPSTR  lpLCData,                                                            <
  784       int      cchData);                                                          <
  785  extern(Windows) export int GetLocaleInfoW(                                       <
  786       LCID     Locale,                                                            <
  787       LCTYPE   LCType,                                                            <
  788       LPWSTR  lpLCData,                                                           <
  789       int      cchData);                                                          <
  790  // #ifdef UNICODE                                                                <
  791  alias GetLocaleInfoW GetLocaleInfo;                                              <
  792  // #else                                                                         <
  793  // #...                                                                          <
  794  // #endif // !UNICODE                                                            <
  795                                                                                   <
  796  extern(Windows) export BOOL SetLocaleInfoA(                                      <
  797       LCID     Locale,                                                            <
  798       LCTYPE   LCType,                                                            <
  799       LPCSTR  lpLCData);                                                          <
  800  extern(Windows) export BOOL SetLocaleInfoW(                                      <
  801       LCID     Locale,                                                            <
  802       LCTYPE   LCType,                                                            <
  803       LPCWSTR  lpLCData);                                                         <
  804  // #ifdef UNICODE                                                                <
  805  alias SetLocaleInfoW SetLocaleInfo;                                              <
  806  // #else                                                                         <
  807  // #...                                                                          <
  808  // #endif // !UNICODE                                                            <
  809                                                                                   <
  810  // #if (WINVER >= 0x040A)                                                        |   801          static if (WINVER >= 0x410) {
  811  extern(Windows) export int GetCalendarInfoA(                                     <
  812      LCID     Locale,                                                             <
  813      CALID    Calendar,                                                           <
  814      CALTYPE  CalType,                                                            <
  815      LPSTR   lpCalData,                                                           <
  816      int      cchData,                                                            <
  817      LPDWORD  lpValue);                                                           <
  818  extern(Windows) export int GetCalendarInfoW(                                     <
  819      LCID     Locale,                                                             <
  820      CALID    Calendar,                                                           <
  821      CALTYPE  CalType,                                                            <
  822      LPWSTR   lpCalData,                                                          <
  823      int      cchData,                                                            <
  824      LPDWORD  lpValue);                                                           <
  825  // #ifdef UNICODE                                                                <
  826  alias GetCalendarInfoW GetCalendarInfo;                                          <
  827  // #else                                                                         <
  828  // #...                                                                          <
  829  // #endif // !UNICODE                                                            <
                                                                                        >   802                  alias EnumCalendarInfoExA EnumCalendarInfoEx;
                                                                                        >   803                  alias EnumDateFormatsExA EnumDateFormatsEx;
  830                                                                                   |   804          }
  831  extern(Windows) export BOOL SetCalendarInfoA(                                    <
  832      LCID     Locale,                                                             <
  833      CALID    Calendar,                                                           <
  834      CALTYPE  CalType,                                                            <
  835      LPCSTR  lpCalData);                                                          <
  836  extern(Windows) export BOOL SetCalendarInfoW(                                    <
  837      LCID     Locale,                                                             <
  838      CALID    Calendar,                                                           <
  839      CALTYPE  CalType,                                                            <
  840      LPCWSTR  lpCalData);                                                         <
  841  // #ifdef UNICODE                                                                <
  842  alias SetCalendarInfoW SetCalendarInfo;                                          <
  843  // #else                                                                         <
  844  // #...                                                                          <
  845  // #endif // !UNICODE                                                            <
  846  // #endif                                                                        <
  847                                                                                   <
  848  extern(Windows) export int GetTimeFormatA(                                       <
  849       LCID             Locale,                                                    <
  850       DWORD            dwFlags,                                                   <
  851        SYSTEMTIME *lpTime,                                                        <
  852       LPCSTR          lpFormat,                                                   <
  853       LPSTR          lpTimeStr,                                                   <
  854       int              cchTime);                                                  <
  855  extern(Windows) export int GetTimeFormatW(                                       <
  856       LCID             Locale,                                                    <
  857       DWORD            dwFlags,                                                   <
  858        SYSTEMTIME *lpTime,                                                        <
  859       LPCWSTR          lpFormat,                                                  <
  860       LPWSTR          lpTimeStr,                                                  <
  861       int              cchTime);                                                  <
  862  // #ifdef UNICODE                                                                <
  863  alias GetTimeFormatW GetTimeFormat;                                              <
  864  // #else                                                                         <
  865  // #...                                                                          <
  866  // #endif // !UNICODE                                                            <
  867                                                                                   <
  868  extern(Windows) export int GetDateFormatA(                                       <
  869       LCID             Locale,                                                    <
  870       DWORD            dwFlags,                                                   <
  871        SYSTEMTIME *lpDate,                                                        <
  872       LPCSTR          lpFormat,                                                   <
  873       LPSTR          lpDateStr,                                                   <
  874       int              cchDate);                                                  <
  875  extern(Windows) export int GetDateFormatW(                                       <
  876       LCID             Locale,                                                    <
  877       DWORD            dwFlags,                                                   <
  878        SYSTEMTIME *lpDate,                                                        <
  879       LPCWSTR          lpFormat,                                                  <
  880       LPWSTR          lpDateStr,                                                  <
  881       int              cchDate);                                                  <
  882  // #ifdef UNICODE                                                                <
  883  alias GetDateFormatW GetDateFormat;                                              <
  884  // #else                                                                         <
  885  // #...                                                                          <
  886  // #endif // !UNICODE                                                            <
  887                                                                                       805  
  888  extern(Windows) export int GetNumberFormatA(                                     |   806          static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) {
  889       LCID             Locale,                                                    <
  890       DWORD            dwFlags,                                                   <
  891       LPCSTR          lpValue,                                                    <
  892        NUMBERFMTA *lpFormat,                                                      <
  893       LPSTR          lpNumberStr,                                                 <
  894       int              cchNumber);                                                <
  895  extern(Windows) export int GetNumberFormatW(                                     <
  896       LCID             Locale,                                                    <
  897       DWORD            dwFlags,                                                   <
  898       LPCWSTR          lpValue,                                                   <
  899        NUMBERFMTW *lpFormat,                                                      <
  900       LPWSTR          lpNumberStr,                                                <
  901       int              cchNumber);                                                <
  902  // #ifdef UNICODE                                                                <
  903  alias GetNumberFormatW GetNumberFormat;                                          <
  904  // #else                                                                         <
  905  // #...                                                                          <
  906  // #endif // !UNICODE                                                            <
  907                                                                                   <
  908  extern(Windows) export int GetCurrencyFormatA(                                   <
  909       LCID               Locale,                                                  <
  910       DWORD              dwFlags,                                                 <
  911       LPCSTR            lpValue,                                                  <
  912        CURRENCYFMTA *lpFormat,                                                    <
  913       LPSTR            lpCurrencyStr,                                             <
  914       int                cchCurrency);                                            <
  915  extern(Windows) export int GetCurrencyFormatW(                                   <
  916       LCID               Locale,                                                  <
  917       DWORD              dwFlags,                                                 <
  918       LPCWSTR            lpValue,                                                 <
  919        CURRENCYFMTW *lpFormat,                                                    <
  920       LPWSTR            lpCurrencyStr,                                            <
  921       int                cchCurrency);                                            <
  922  // #ifdef UNICODE                                                                <
  923  alias GetCurrencyFormatW GetCurrencyFormat;                                      <
  924  // #else                                                                         <
  925  // #...                                                                          <
  926  // #endif // !UNICODE                                                            <
  927                                                                                   <
  928  extern(Windows) export BOOL EnumCalendarInfoA(                                   <
  929       CALINFO_ENUMPROCA lpCalInfoEnumProc,                                        <
  930       LCID              Locale,                                                   <
  931       CALID             Calendar,                                                 <
  932       CALTYPE           CalType);                                                 <
  933  extern(Windows) export BOOL EnumCalendarInfoW(                                   <
  934       CALINFO_ENUMPROCW lpCalInfoEnumProc,                                        <
  935       LCID              Locale,                                                   <
  936       CALID             Calendar,                                                 <
  937       CALTYPE           CalType);                                                 <
  938  // #ifdef UNICODE                                                                <
  939  alias EnumCalendarInfoW EnumCalendarInfo;                                        <
  940  // #else                                                                         <
  941  // #...                                                                          <
  942  // #endif // !UNICODE                                                            <
  943                                                                                   <
  944  // #if(WINVER >= 0x0500)                                                         <
  945  extern(Windows) export BOOL EnumCalendarInfoExA(                                 <
  946       CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,                                    <
  947       LCID                Locale,                                                 <
  948       CALID               Calendar,                                               <
  949       CALTYPE             CalType);                                               <
  950  extern(Windows) export BOOL EnumCalendarInfoExW(                                 <
  951       CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,                                    <
  952       LCID                Locale,                                                 <
  953       CALID               Calendar,                                               <
  954       CALTYPE             CalType);                                               <
  955  // #ifdef UNICODE                                                                <
  956  alias EnumCalendarInfoExW EnumCalendarInfoEx;                                    <
  957  // #else                                                                         <
  958  // #...                                                                          <
  959  // #endif // !UNICODE                                                            <
  960  // #endif /* WINVER >= 0x0500 */                                                 <
  961                                                                                   <
  962  extern(Windows) export BOOL EnumTimeFormatsA(                                    <
  963       TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,                                        <
  964       LCID              Locale,                                                   <
  965       DWORD             dwFlags);                                                 <
  966  extern(Windows) export BOOL EnumTimeFormatsW(                                    <
  967       TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,                                        <
  968       LCID              Locale,                                                   <
  969       DWORD             dwFlags);                                                 <
  970  // #ifdef UNICODE                                                                <
  971  alias EnumTimeFormatsW EnumTimeFormats;                                          <
  972  // #else                                                                         <
  973  // #...                                                                          <
  974  // #endif // !UNICODE                                                            <
  975                                                                                   <
  976  extern(Windows) export BOOL EnumDateFormatsA(                                    <
  977       DATEFMT_ENUMPROCA lpDateFmtEnumProc,                                        <
  978       LCID              Locale,                                                   <
  979       DWORD             dwFlags);                                                 <
  980  extern(Windows) export BOOL EnumDateFormatsW(                                    <
  981       DATEFMT_ENUMPROCW lpDateFmtEnumProc,                                        <
  982       LCID              Locale,                                                   <
  983       DWORD             dwFlags);                                                 <
  984  // #ifdef UNICODE                                                                <
  985  alias EnumDateFormatsW EnumDateFormats;                                          <
  986  // #else                                                                         <
  987  // #...                                                                          <
  988  // #endif // !UNICODE                                                            <
  989                                                                                   <
  990  // #if(WINVER >= 0x0500)                                                         <
  991  extern(Windows) export BOOL EnumDateFormatsExA(                                  <
  992       DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,                                    <
  993       LCID                Locale,                                                 <
  994       DWORD               dwFlags);                                               <
  995  extern(Windows) export BOOL EnumDateFormatsExW(                                  <
  996       DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,                                    <
  997       LCID                Locale,                                                 <
  998       DWORD               dwFlags);                                               <
  999  // #ifdef UNICODE                                                                <
 1000  alias EnumDateFormatsExW EnumDateFormatsEx;                                      <
 1001  // #else                                                                         <
 1002  // #...                                                                          <
 1003  // #endif // !UNICODE                                                            <
 1004  // #endif /* WINVER >= 0x0500 */                                                 <
 1005                                                                                   <
 1006  // #if(WINVER >= 0x0500)                                                         <
 1007  extern(Windows) export BOOL IsValidLanguageGroup(                                <
 1008       LGRPID  LanguageGroup,                                                      <
 1009       DWORD   dwFlags);                                                           <
 1010  // #endif /* WINVER >= 0x0500 */                                                 <
 1011                                                                                   <
 1012  extern(Windows) export BOOL IsValidLocale(                                       <
 1013       LCID   Locale,                                                              <
 1014       DWORD  dwFlags);                                                            <
 1015                                                                                   <
 1016  extern(Windows) export int GetGeoInfoA(                                          <
 1017      GEOID       Location,                                                        <
 1018      GEOTYPE     GeoType,                                                         <
 1019      LPSTR     lpGeoData,                                                         <
 1020      int         cchData,                                                         <
 1021      LANGID      LangId);                                                         <
 1022  extern(Windows) export int GetGeoInfoW(                                          <
 1023      GEOID       Location,                                                        <
 1024      GEOTYPE     GeoType,                                                         <
 1025      LPWSTR     lpGeoData,                                                        <
 1026      int         cchData,                                                         <
 1027      LANGID      LangId);                                                         <
 1028  // #ifdef UNICODE                                                                <
 1029  alias GetGeoInfoW GetGeoInfo;                                                    <
 1030  // #else                                                                         <
 1031  // #...                                                                          <
 1032  // #endif // !UNICODE                                                            <
 1033                                                                                   <
 1034  extern(Windows) export BOOL EnumSystemGeoID(                                     <
 1035      GEOCLASS        GeoClass,                                                    <
 1036      GEOID           ParentGeoId,                                                 <
 1037      GEO_ENUMPROC    lpGeoEnumProc);                                              <
 1038                                                                                   <
 1039  extern(Windows) export GEOID GetUserGeoID(                                       <
 1040      GEOCLASS    GeoClass);                                                       <
 1041                                                                                   <
 1042  extern(Windows) export BOOL SetUserGeoID(                                        <
 1043      GEOID       GeoId);                                                          <
 1044                                                                                   <
 1045  extern(Windows) export LCID ConvertDefaultLocale(                                <
 1046        LCID   Locale);                                                            <
 1047                                                                                   <
 1048  extern(Windows) export LCID GetThreadLocale();                                   <
 1049                                                                                   <
 1050  extern(Windows) export BOOL SetThreadLocale(                                     <
 1051       LCID  Locale                                                                <
 1052      );                                                                           <
 1053                                                                                   <
 1054  // #if(WINVER >= 0x0500)                                                         <
 1055  extern(Windows) export LANGID GetSystemDefaultUILanguage();                      <
 1056                                                                                   <
 1057  extern(Windows) export LANGID GetUserDefaultUILanguage();                        <
 1058  // #endif /* WINVER >= 0x0500 */                                                 <
 1059                                                                                   <
 1060  extern(Windows) export LANGID GetSystemDefaultLangID();                          <
 1061                                                                                   <
 1062  extern(Windows) export LANGID GetUserDefaultLangID();                            <
 1063                                                                                   <
 1064  extern(Windows) export LCID GetSystemDefaultLCID();                              <
 1065                                                                                   <
 1066  extern(Windows) export LCID GetUserDefaultLCID();                                <
 1067                                                                                   <
 1068  extern(Windows) export BOOL GetStringTypeExA(                                    <
 1069       LCID     Locale,                                                            <
 1070       DWORD    dwInfoType,                                                        <
 1071       LPCSTR  lpSrcStr,                                                           <
 1072       int      cchSrc,                                                            <
 1073       LPWORD  lpCharType);                                                        <
 1074  extern(Windows) export BOOL GetStringTypeExW(                                    <
 1075       LCID     Locale,                                                            <
 1076       DWORD    dwInfoType,                                                        <
 1077       LPCWSTR  lpSrcStr,                                                          <
 1078       int      cchSrc,                                                            <
 1079       LPWORD  lpCharType);                                                        <
 1080  // #ifdef UNICODE                                                                <
 1081  alias GetStringTypeExW GetStringTypeEx;                                          <
 1082  // #else                                                                         <
 1083  // #...                                                                          <
 1084  // #endif // !UNICODE                                                            <
 1085                                                                                   <
 1086  extern(Windows) export BOOL GetStringTypeA(                                      <
 1087       LCID     Locale,                                                            <
 1088       DWORD    dwInfoType,                                                        <
 1089       LPCSTR   lpSrcStr,                                                          <
 1090       int      cchSrc,                                                            <
 1091       LPWORD  lpCharType);                                                        <
 1092                                                                                   <
 1093  extern(Windows) export BOOL GetStringTypeW(                                      <
 1094       DWORD    dwInfoType,                                                        <
 1095       LPCWSTR  lpSrcStr,                                                          <
 1096       int      cchSrc,                                                            <
 1097       LPWORD  lpCharType);                                                        <
 1098                                                                                   <
 1099  extern(Windows) export int FoldStringA(                                          <
 1100       DWORD    dwMapFlags,                                                        <
 1101       LPCSTR  lpSrcStr,                                                           <
 1102       int      cchSrc,                                                            <
 1103       LPSTR  lpDestStr,                                                           <
 1104       int      cchDest);                                                          <
 1105  extern(Windows) export int FoldStringW(                                          <
 1106       DWORD    dwMapFlags,                                                        <
 1107       LPCWSTR  lpSrcStr,                                                          <
 1108       int      cchSrc,                                                            <
 1109       LPWSTR  lpDestStr,                                                          <
 1110       int      cchDest);                                                          <
 1111  // #ifdef UNICODE                                                                <
 1112  alias FoldStringW FoldString;                                                    <
 1113  // #else                                                                         <
 1114  // #...                                                                          <
 1115  // #endif // !UNICODE                                                            <
 1116                                                                                   <
 1117  // #if(WINVER >= 0x0500)                                                         <
 1118  extern(Windows) export BOOL EnumSystemLanguageGroupsA(                           <
 1119       LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,                            <
 1120       DWORD                   dwFlags,                                            <
 1121       LONG_PTR                lParam);                                            <
 1122  extern(Windows) export BOOL EnumSystemLanguageGroupsW(                           <
 1123       LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,                            <
 1124       DWORD                   dwFlags,                                            <
 1125       LONG_PTR                lParam);                                            <
 1126  // #ifdef UNICODE                                                                <
 1127  alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;                        |   807                  alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups;
 1128  // #else                                                                         <
 1129  // #...                                                                          <
 1130  // #endif // !UNICODE                                                            <
 1131                                                                                   <
 1132  extern(Windows) export BOOL EnumLanguageGroupLocalesA(                           <
 1133       LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,                        <
 1134       LGRPID                    LanguageGroup,                                    <
 1135       DWORD                     dwFlags,                                          <
 1136       LONG_PTR                  lParam);                                          <
 1137  extern(Windows) export BOOL EnumLanguageGroupLocalesW(                           <
 1138       LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,                        <
 1139       LGRPID                    LanguageGroup,                                    <
 1140       DWORD                     dwFlags,                                          <
 1141       LONG_PTR                  lParam);                                          <
 1142  // #ifdef UNICODE                                                                <
 1143  alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales;                        |   808                  alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales;
 1144  // #else                                                                         <
 1145  // #...                                                                          <
 1146  // #endif // !UNICODE                                                            <
 1147                                                                                   <
 1148  extern(Windows) export BOOL EnumUILanguagesA(                                    <
 1149       UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,                                  <
 1150       DWORD                dwFlags,                                               <
 1151       LONG_PTR             lParam);                                               <
 1152  extern(Windows) export BOOL EnumUILanguagesW(                                    <
 1153       UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,                                  <
 1154       DWORD                dwFlags,                                               <
 1155       LONG_PTR             lParam);                                               <
 1156  // #ifdef UNICODE                                                                <
 1157  alias EnumUILanguagesW EnumUILanguages;                                          |   809                  alias EnumUILanguagesA EnumUILanguages;
 1158  // #else                                                                         <
 1159  // #...                                                                          <
 1160  // #endif // !UNICODE                                                            <
 1161  // #endif /* WINVER >= 0x0500 */                                                 <
 1162                                                                                   |   810          }
 1163  extern(Windows) export BOOL EnumSystemLocalesA(                                  <
 1164       LOCALE_ENUMPROCA lpLocaleEnumProc,                                          <
 1165       DWORD            dwFlags);                                                  <
 1166  extern(Windows) export BOOL EnumSystemLocalesW(                                  <
 1167       LOCALE_ENUMPROCW lpLocaleEnumProc,                                          <
 1168       DWORD            dwFlags);                                                  <
 1169  // #ifdef UNICODE                                                                <
 1170  alias EnumSystemLocalesW EnumSystemLocales;                                      <
 1171  // #else                                                                         <
 1172  // #...                                                                          <
 1173  // #endif // !UNICODE                                                            <
 1174                                                                                   |   811  }
 1175  extern(Windows) export BOOL EnumSystemCodePagesA(                                <
 1176       CODEPAGE_ENUMPROCA lpCodePageEnumProc,                                      <
 1177       DWORD              dwFlags);                                                <
 1178  extern(Windows) export BOOL EnumSystemCodePagesW(                                <
 1179       CODEPAGE_ENUMPROCW lpCodePageEnumProc,                                      <
 1180       DWORD              dwFlags);                                                <
 1181  // #ifdef UNICODE                                                                <
 1182  alias EnumSystemCodePagesW EnumSystemCodePages;                                  <
 1183  // #else                                                                         <
 1184  // #...                                                                          <
 1185  // #endif // !UNICODE                                                            <
 1186                                                                                   <
 1187  // #endif // NONLS                                                               <
 1188                                                                                   <
 1189  // #ifdef __cplusplus                                                            <
 1190  // }                                                                             <
 1191  // #endif                                                                        <
 1192                                                                                   <
 1193  // #endif // _WINNLS_                                                            <