| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * Authors: Stewart Gordon |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC src/core/sys/windows/_winnls.d) |
| */ |
| module core.sys.windows.winnls; |
| version (Windows): |
| @system: |
| |
| version (ANSI) {} else version = Unicode; |
| pragma(lib, "kernel32"); |
| |
| import core.sys.windows.basetsd, core.sys.windows.w32api, core.sys.windows.winbase, core.sys.windows.windef; |
| |
| alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS; |
| |
| enum size_t |
| MAX_DEFAULTCHAR = 2, |
| MAX_LEADBYTES = 12; |
| |
| enum LCTYPE |
| LOCALE_USE_CP_ACP = 0x40000000, |
| LOCALE_RETURN_NUMBER = 0x20000000; |
| |
| enum : LCTYPE { |
| LOCALE_ILANGUAGE = 1, |
| LOCALE_SLANGUAGE, |
| LOCALE_SABBREVLANGNAME, |
| LOCALE_SNATIVELANGNAME, |
| LOCALE_ICOUNTRY, |
| LOCALE_SCOUNTRY, |
| LOCALE_SABBREVCTRYNAME, |
| LOCALE_SNATIVECTRYNAME, |
| LOCALE_IDEFAULTLANGUAGE, |
| LOCALE_IDEFAULTCOUNTRY, |
| LOCALE_IDEFAULTCODEPAGE, |
| LOCALE_SLIST, |
| LOCALE_IMEASURE, |
| LOCALE_SDECIMAL, |
| LOCALE_STHOUSAND, |
| LOCALE_SGROUPING, |
| LOCALE_IDIGITS, |
| LOCALE_ILZERO, |
| LOCALE_SNATIVEDIGITS, |
| LOCALE_SCURRENCY, |
| LOCALE_SINTLSYMBOL, |
| LOCALE_SMONDECIMALSEP, |
| LOCALE_SMONTHOUSANDSEP, |
| LOCALE_SMONGROUPING, |
| LOCALE_ICURRDIGITS, |
| LOCALE_IINTLCURRDIGITS, |
| LOCALE_ICURRENCY, |
| LOCALE_INEGCURR, |
| LOCALE_SDATE, |
| LOCALE_STIME, |
| LOCALE_SSHORTDATE, |
| LOCALE_SLONGDATE, |
| LOCALE_IDATE, |
| LOCALE_ILDATE, |
| LOCALE_ITIME, |
| LOCALE_ICENTURY, |
| LOCALE_ITLZERO, |
| LOCALE_IDAYLZERO, |
| LOCALE_IMONLZERO, |
| LOCALE_S1159, |
| LOCALE_S2359, |
| LOCALE_SDAYNAME1, |
| LOCALE_SDAYNAME2, |
| LOCALE_SDAYNAME3, |
| LOCALE_SDAYNAME4, |
| LOCALE_SDAYNAME5, |
| LOCALE_SDAYNAME6, |
| LOCALE_SDAYNAME7, |
| LOCALE_SABBREVDAYNAME1, |
| LOCALE_SABBREVDAYNAME2, |
| LOCALE_SABBREVDAYNAME3, |
| LOCALE_SABBREVDAYNAME4, |
| LOCALE_SABBREVDAYNAME5, |
| LOCALE_SABBREVDAYNAME6, |
| LOCALE_SABBREVDAYNAME7, |
| LOCALE_SMONTHNAME1, |
| LOCALE_SMONTHNAME2, |
| LOCALE_SMONTHNAME3, |
| LOCALE_SMONTHNAME4, |
| LOCALE_SMONTHNAME5, |
| LOCALE_SMONTHNAME6, |
| LOCALE_SMONTHNAME7, |
| LOCALE_SMONTHNAME8, |
| LOCALE_SMONTHNAME9, |
| LOCALE_SMONTHNAME10, |
| LOCALE_SMONTHNAME11, |
| LOCALE_SMONTHNAME12, |
| LOCALE_SABBREVMONTHNAME1, |
| LOCALE_SABBREVMONTHNAME2, |
| LOCALE_SABBREVMONTHNAME3, |
| LOCALE_SABBREVMONTHNAME4, |
| LOCALE_SABBREVMONTHNAME5, |
| LOCALE_SABBREVMONTHNAME6, |
| LOCALE_SABBREVMONTHNAME7, |
| LOCALE_SABBREVMONTHNAME8, |
| LOCALE_SABBREVMONTHNAME9, |
| LOCALE_SABBREVMONTHNAME10, |
| LOCALE_SABBREVMONTHNAME11, |
| LOCALE_SABBREVMONTHNAME12, |
| LOCALE_SPOSITIVESIGN, |
| LOCALE_SNEGATIVESIGN, |
| LOCALE_IPOSSIGNPOSN, |
| LOCALE_INEGSIGNPOSN, |
| LOCALE_IPOSSYMPRECEDES, |
| LOCALE_IPOSSEPBYSPACE, |
| LOCALE_INEGSYMPRECEDES, |
| LOCALE_INEGSEPBYSPACE, |
| LOCALE_FONTSIGNATURE, |
| LOCALE_SISO639LANGNAME, |
| LOCALE_SISO3166CTRYNAME, // = 90 |
| LOCALE_SENGLANGUAGE = 0x1001, |
| LOCALE_SENGCOUNTRY = 0x1002, |
| LOCALE_IDEFAULTANSICODEPAGE = 0x1004, |
| LOCALE_INEGNUMBER = 0x1010, |
| LOCALE_STIMEFORMAT = 0x1003, |
| LOCALE_ITIMEMARKPOSN = 0x1005, |
| LOCALE_ICALENDARTYPE = 0x1009, |
| LOCALE_IOPTIONALCALENDAR = 0x100B, |
| LOCALE_IFIRSTDAYOFWEEK = 0x100C, |
| LOCALE_IFIRSTWEEKOFYEAR = 0x100D, |
| LOCALE_SMONTHNAME13 = 0x100E, |
| LOCALE_SABBREVMONTHNAME13 = 0x100F |
| } |
| |
| enum : LCID { |
| LOCALE_USER_DEFAULT = 0x400, |
| LOCALE_SYSTEM_DEFAULT = 0x800 |
| } |
| |
| enum DWORD |
| NORM_IGNORECASE = 1, |
| NORM_IGNORENONSPACE = 2, |
| NORM_IGNORESYMBOLS = 4, |
| SORT_STRINGSORT = 0x01000, |
| NORM_IGNOREKANATYPE = 0x10000, |
| NORM_IGNOREWIDTH = 0x20000; |
| |
| enum DWORD |
| LCMAP_LOWERCASE = 0x00000100, |
| LCMAP_UPPERCASE = 0x00000200, |
| LCMAP_SORTKEY = 0x00000400, |
| LCMAP_BYTEREV = 0x00000800, |
| LCMAP_HIRAGANA = 0x00100000, |
| LCMAP_KATAKANA = 0x00200000, |
| LCMAP_HALFWIDTH = 0x00400000, |
| LCMAP_FULLWIDTH = 0x00800000, |
| LCMAP_LINGUISTIC_CASING = 0x01000000, |
| LCMAP_SIMPLIFIED_CHINESE = 0x02000000, |
| LCMAP_TRADITIONAL_CHINESE = 0x04000000; |
| |
| enum CALID ENUM_ALL_CALENDARS = -1; |
| |
| enum DWORD |
| DATE_SHORTDATE = 1, |
| DATE_LONGDATE = 2, |
| DATE_USE_ALT_CALENDAR = 4, |
| LOCALE_NOUSEROVERRIDE = 0x80000000; |
| |
| enum : DWORD { |
| CP_INSTALLED = 1, |
| CP_SUPPORTED |
| } |
| |
| enum : DWORD { |
| LCID_INSTALLED = 1, |
| LCID_SUPPORTED = 2, |
| LCID_ALTERNATE_SORTS = 4 |
| } |
| |
| enum DWORD |
| MAP_FOLDCZONE = 16, |
| MAP_PRECOMPOSED = 32, |
| MAP_COMPOSITE = 64, |
| MAP_FOLDDIGITS = 128; |
| |
| enum : UINT { |
| CP_ACP, |
| CP_OEMCP, |
| CP_MACCP, |
| CP_THREAD_ACP, // = 3 |
| CP_SYMBOL = 42, |
| CP_UTF7 = 65000, |
| CP_UTF8 = 65001 |
| } |
| |
| enum : DWORD { |
| CT_CTYPE1 = 1, |
| CT_CTYPE2 = 2, |
| CT_CTYPE3 = 4 |
| } |
| |
| enum WORD |
| C1_UPPER = 1, |
| C1_LOWER = 2, |
| C1_DIGIT = 4, |
| C1_SPACE = 8, |
| C1_PUNCT = 16, |
| C1_CNTRL = 32, |
| C1_BLANK = 64, |
| C1_XDIGIT = 128, |
| C1_ALPHA = 256; |
| |
| enum : WORD { |
| C2_NOTAPPLICABLE, |
| C2_LEFTTORIGHT, |
| C2_RIGHTTOLEFT, |
| C2_EUROPENUMBER, |
| C2_EUROPESEPARATOR, |
| C2_EUROPETERMINATOR, |
| C2_ARABICNUMBER, |
| C2_COMMONSEPARATOR, |
| C2_BLOCKSEPARATOR, |
| C2_SEGMENTSEPARATOR, |
| C2_WHITESPACE, |
| C2_OTHERNEUTRAL // = 11 |
| } |
| |
| enum WORD |
| C3_NOTAPPLICABLE = 0, |
| C3_NONSPACING = 1, |
| C3_DIACRITIC = 2, |
| C3_VOWELMARK = 4, |
| C3_SYMBOL = 8, |
| C3_KATAKANA = 0x0010, |
| C3_HIRAGANA = 0x0020, |
| C3_HALFWIDTH = 0x0040, |
| C3_FULLWIDTH = 0x0080, |
| C3_IDEOGRAPH = 0x0100, |
| C3_KASHIDA = 0x0200, |
| C3_LEXICAL = 0x0400, |
| C3_ALPHA = 0x8000; |
| |
| enum DWORD |
| TIME_NOMINUTESORSECONDS = 1, |
| TIME_NOSECONDS = 2, |
| TIME_NOTIMEMARKER = 4, |
| TIME_FORCE24HOURFORMAT = 8; |
| |
| enum DWORD |
| MB_PRECOMPOSED = 1, |
| MB_COMPOSITE = 2, |
| MB_USEGLYPHCHARS = 4, |
| MB_ERR_INVALID_CHARS = 8; |
| |
| enum DWORD |
| WC_DISCARDNS = 16, |
| WC_SEPCHARS = 32, |
| WC_DEFAULTCHAR = 64, |
| WC_COMPOSITECHECK = 512; |
| |
| enum : LONG { |
| CTRY_DEFAULT = 0, |
| CTRY_DOMINICAN_REPUBLIC = 1, |
| CTRY_PUERTO_RICO = 1, |
| CTRY_CARIBBEAN = 1, |
| CTRY_JAMAICA = 1, |
| CTRY_UNITED_STATES = 1, |
| CTRY_TRINIDAD_Y_TOBAGO = 1, |
| CTRY_CANADA = 2, |
| CTRY_RUSSIA = 7, |
| CTRY_UZBEKISTAN = 7, |
| CTRY_KAZAKSTAN = 7, |
| CTRY_TATARSTAN = 7, |
| CTRY_EGYPT = 20, |
| CTRY_SOUTH_AFRICA = 27, |
| CTRY_GREECE = 30, |
| CTRY_NETHERLANDS = 31, |
| CTRY_BELGIUM = 32, |
| CTRY_FRANCE = 33, |
| CTRY_MONACO = 33, |
| CTRY_SPAIN = 34, |
| CTRY_HUNGARY = 36, |
| CTRY_ITALY = 39, |
| CTRY_ROMANIA = 40, |
| CTRY_SWITZERLAND = 41, |
| CTRY_LIECHTENSTEIN = 41, |
| CTRY_AUSTRIA = 43, |
| CTRY_UNITED_KINGDOM = 44, |
| CTRY_DENMARK = 45, |
| CTRY_SWEDEN = 46, |
| CTRY_NORWAY = 47, |
| CTRY_POLAND = 48, |
| CTRY_GERMANY = 49, |
| CTRY_PERU = 51, |
| CTRY_MEXICO = 52, |
| CTRY_ARGENTINA = 54, |
| CTRY_BRAZIL = 55, |
| CTRY_CHILE = 56, |
| CTRY_COLOMBIA = 57, |
| CTRY_VENEZUELA = 58, |
| CTRY_MALAYSIA = 60, |
| CTRY_AUSTRALIA = 61, |
| CTRY_INDONESIA = 62, |
| CTRY_PHILIPPINES = 63, |
| CTRY_NEW_ZEALAND = 64, |
| CTRY_SINGAPORE = 65, |
| CTRY_THAILAND = 66, |
| CTRY_JAPAN = 81, |
| CTRY_SOUTH_KOREA = 82, |
| CTRY_VIET_NAM = 84, |
| CTRY_PRCHINA = 86, |
| CTRY_TURKEY = 90, |
| CTRY_INDIA = 91, |
| CTRY_PAKISTAN = 92, |
| CTRY_MOROCCO = 212, |
| CTRY_ALGERIA = 213, |
| CTRY_TUNISIA = 216, |
| CTRY_LIBYA = 218, |
| CTRY_KENYA = 254, |
| CTRY_ZIMBABWE = 263, |
| CTRY_FAEROE_ISLANDS = 298, |
| CTRY_PORTUGAL = 351, |
| CTRY_LUXEMBOURG = 352, |
| CTRY_IRELAND = 353, |
| CTRY_ICELAND = 354, |
| CTRY_ALBANIA = 355, |
| CTRY_FINLAND = 358, |
| CTRY_BULGARIA = 359, |
| CTRY_LITHUANIA = 370, |
| CTRY_LATVIA = 371, |
| CTRY_ESTONIA = 372, |
| CTRY_ARMENIA = 374, |
| CTRY_BELARUS = 375, |
| CTRY_UKRAINE = 380, |
| CTRY_SERBIA = 381, |
| CTRY_CROATIA = 385, |
| CTRY_SLOVENIA = 386, |
| CTRY_MACEDONIA = 389, |
| CTRY_CZECH = 420, |
| CTRY_SLOVAK = 421, |
| CTRY_BELIZE = 501, |
| CTRY_GUATEMALA = 502, |
| CTRY_EL_SALVADOR = 503, |
| CTRY_HONDURAS = 504, |
| CTRY_NICARAGUA = 505, |
| CTRY_COSTA_RICA = 506, |
| CTRY_PANAMA = 507, |
| CTRY_BOLIVIA = 591, |
| CTRY_ECUADOR = 593, |
| CTRY_PARAGUAY = 595, |
| CTRY_URUGUAY = 598, |
| CTRY_BRUNEI_DARUSSALAM = 673, |
| CTRY_HONG_KONG = 852, |
| CTRY_MACAU = 853, |
| CTRY_TAIWAN = 886, |
| CTRY_MALDIVES = 960, |
| CTRY_LEBANON = 961, |
| CTRY_JORDAN = 962, |
| CTRY_SYRIA = 963, |
| CTRY_IRAQ = 964, |
| CTRY_KUWAIT = 965, |
| CTRY_SAUDI_ARABIA = 966, |
| CTRY_YEMEN = 967, |
| CTRY_OMAN = 968, |
| CTRY_UAE = 971, |
| CTRY_ISRAEL = 972, |
| CTRY_BAHRAIN = 973, |
| CTRY_QATAR = 974, |
| CTRY_MONGOLIA = 976, |
| CTRY_IRAN = 981, |
| CTRY_AZERBAIJAN = 994, |
| CTRY_GEORGIA = 995, |
| CTRY_KYRGYZSTAN = 996 |
| } |
| |
| enum : CALTYPE { |
| CAL_ICALINTVALUE = 1, |
| CAL_SCALNAME, |
| CAL_IYEAROFFSETRANGE, |
| CAL_SERASTRING, |
| CAL_SSHORTDATE, |
| CAL_SLONGDATE, |
| CAL_SDAYNAME1, |
| CAL_SDAYNAME2, |
| CAL_SDAYNAME3, |
| CAL_SDAYNAME4, |
| CAL_SDAYNAME5, |
| CAL_SDAYNAME6, |
| CAL_SDAYNAME7, |
| CAL_SABBREVDAYNAME1, |
| CAL_SABBREVDAYNAME2, |
| CAL_SABBREVDAYNAME3, |
| CAL_SABBREVDAYNAME4, |
| CAL_SABBREVDAYNAME5, |
| CAL_SABBREVDAYNAME6, |
| CAL_SABBREVDAYNAME7, |
| CAL_SMONTHNAME1, |
| CAL_SMONTHNAME2, |
| CAL_SMONTHNAME3, |
| CAL_SMONTHNAME4, |
| CAL_SMONTHNAME5, |
| CAL_SMONTHNAME6, |
| CAL_SMONTHNAME7, |
| CAL_SMONTHNAME8, |
| CAL_SMONTHNAME9, |
| CAL_SMONTHNAME10, |
| CAL_SMONTHNAME11, |
| CAL_SMONTHNAME12, |
| CAL_SMONTHNAME13, |
| CAL_SABBREVMONTHNAME1, |
| CAL_SABBREVMONTHNAME2, |
| CAL_SABBREVMONTHNAME3, |
| CAL_SABBREVMONTHNAME4, |
| CAL_SABBREVMONTHNAME5, |
| CAL_SABBREVMONTHNAME6, |
| CAL_SABBREVMONTHNAME7, |
| CAL_SABBREVMONTHNAME8, |
| CAL_SABBREVMONTHNAME9, |
| CAL_SABBREVMONTHNAME10, |
| CAL_SABBREVMONTHNAME11, |
| CAL_SABBREVMONTHNAME12, |
| CAL_SABBREVMONTHNAME13 // = 46 |
| } |
| |
| |
| enum : CALTYPE { |
| CAL_GREGORIAN = 1, |
| CAL_GREGORIAN_US, |
| CAL_JAPAN, |
| CAL_TAIWAN, |
| CAL_KOREA, |
| CAL_HIJRI, |
| CAL_THAI, |
| CAL_HEBREW, |
| CAL_GREGORIAN_ME_FRENCH, |
| CAL_GREGORIAN_ARABIC, |
| CAL_GREGORIAN_XLIT_ENGLISH, |
| CAL_GREGORIAN_XLIT_FRENCH // = 12 |
| } |
| |
| enum : int { |
| CSTR_LESS_THAN = 1, |
| CSTR_EQUAL, |
| CSTR_GREATER_THAN |
| } |
| |
| enum : DWORD { |
| LGRPID_INSTALLED = 1, |
| LGRPID_SUPPORTED |
| } |
| |
| enum : LGRPID { |
| LGRPID_WESTERN_EUROPE = 1, |
| LGRPID_CENTRAL_EUROPE, |
| LGRPID_BALTIC, |
| LGRPID_GREEK, |
| LGRPID_CYRILLIC, |
| LGRPID_TURKISH, |
| LGRPID_JAPANESE, |
| LGRPID_KOREAN, |
| LGRPID_TRADITIONAL_CHINESE, |
| LGRPID_SIMPLIFIED_CHINESE, |
| LGRPID_THAI, |
| LGRPID_HEBREW, |
| LGRPID_ARABIC, |
| LGRPID_VIETNAMESE, |
| LGRPID_INDIC, |
| LGRPID_GEORGIAN, |
| LGRPID_ARMENIAN // = 17 |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| enum : LCTYPE { |
| LOCALE_SYEARMONTH = 0x1006, |
| LOCALE_SENGCURRNAME = 0x1007, |
| LOCALE_SNATIVECURRNAME = 0x1008, |
| LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012, |
| LOCALE_SSORTNAME = 0x1013, |
| LOCALE_IDIGITSUBSTITUTION = 0x1014, |
| LOCALE_IPAPERSIZE = 0x100A |
| } |
| |
| enum DWORD |
| DATE_YEARMONTH = 8, |
| DATE_LTRREADING = 16, |
| DATE_RTLREADING = 32; |
| |
| enum DWORD MAP_EXPAND_LIGATURES = 0x2000; |
| enum DWORD WC_NO_BEST_FIT_CHARS = 1024; |
| |
| enum : CALTYPE { |
| CAL_SYEARMONTH = 47, |
| CAL_ITWODIGITYEARMAX = 48, |
| CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE, |
| CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER, |
| CAL_USE_CP_ACP = LOCALE_USE_CP_ACP |
| } |
| } // (_WIN32_WINNT >= 0x500) |
| |
| extern (Windows) { |
| alias BOOL function(LPSTR) CALINFO_ENUMPROCA; |
| alias BOOL function(LPWSTR) CALINFO_ENUMPROCW; |
| alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA; |
| alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW; |
| alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR) |
| LANGUAGEGROUP_ENUMPROCA; |
| alias BOOL function(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR) |
| LANGUAGEGROUP_ENUMPROCW; |
| alias BOOL function(LGRPID, LCID, LPSTR, LONG_PTR) |
| LANGGROUPLOCALE_ENUMPROCA; |
| alias BOOL function(LGRPID, LCID, LPWSTR, LONG_PTR) |
| LANGGROUPLOCALE_ENUMPROCW; |
| alias BOOL function(LPWSTR, LONG_PTR) UILANGUAGE_ENUMPROCW; |
| alias BOOL function(LPSTR, LONG_PTR) UILANGUAGE_ENUMPROCA; |
| alias BOOL function(LPSTR) LOCALE_ENUMPROCA; |
| alias BOOL function(LPWSTR) LOCALE_ENUMPROCW; |
| alias BOOL function(LPSTR) CODEPAGE_ENUMPROCA; |
| alias BOOL function(LPWSTR) CODEPAGE_ENUMPROCW; |
| alias BOOL function(LPSTR) DATEFMT_ENUMPROCA; |
| alias BOOL function(LPWSTR) DATEFMT_ENUMPROCW; |
| alias BOOL function(LPSTR, CALID) DATEFMT_ENUMPROCEXA; |
| alias BOOL function(LPWSTR, CALID) DATEFMT_ENUMPROCEXW; |
| alias BOOL function(LPSTR) TIMEFMT_ENUMPROCA; |
| alias BOOL function(LPWSTR) TIMEFMT_ENUMPROCW; |
| alias BOOL function(GEOID) GEO_ENUMPROC; |
| } |
| |
| enum NLS_FUNCTION { |
| COMPARE_STRING = 0x0001 |
| } |
| |
| enum SYSGEOCLASS { |
| GEOCLASS_NATION = 16, |
| GEOCLASS_REGION = 14 |
| } |
| |
| enum SYSGEOTYPE { |
| GEO_NATION = 0x0001, |
| GEO_LATITUDE = 0x0002, |
| GEO_LONGITUDE = 0x0003, |
| GEO_ISO2 = 0x0004, |
| GEO_ISO3 = 0x0005, |
| GEO_RFC1766 = 0x0006, |
| GEO_LCID = 0x0007, |
| GEO_FRIENDLYNAME = 0x0008, |
| GEO_OFFICIALNAME = 0x0009, |
| GEO_TIMEZONES = 0x000a, |
| GEO_OFFICIALLANGUAGES = 0x000a |
| } |
| |
| struct CPINFO { |
| UINT MaxCharSize; |
| BYTE[MAX_DEFAULTCHAR] DefaultChar; |
| BYTE[MAX_LEADBYTES] LeadByte; |
| } |
| alias CPINFO* LPCPINFO; |
| |
| struct CPINFOEXA { |
| UINT MaxCharSize; |
| BYTE[MAX_DEFAULTCHAR] DefaultChar; |
| BYTE[MAX_LEADBYTES] LeadByte; |
| WCHAR UnicodeDefaultChar = 0; |
| UINT CodePage; |
| CHAR[MAX_PATH] CodePageName = 0; |
| } |
| alias CPINFOEXA* LPCPINFOEXA; |
| |
| struct CPINFOEXW { |
| UINT MaxCharSize; |
| BYTE[MAX_DEFAULTCHAR] DefaultChar; |
| BYTE[MAX_LEADBYTES] LeadByte; |
| WCHAR UnicodeDefaultChar = 0; |
| UINT CodePage; |
| WCHAR[MAX_PATH] CodePageName = 0; |
| } |
| alias CPINFOEXW* LPCPINFOEXW; |
| |
| struct CURRENCYFMTA { |
| UINT NumDigits; |
| UINT LeadingZero; |
| UINT Grouping; |
| LPSTR lpDecimalSep; |
| LPSTR lpThousandSep; |
| UINT NegativeOrder; |
| UINT PositiveOrder; |
| LPSTR lpCurrencySymbol; |
| } |
| alias CURRENCYFMTA* LPCURRENCYFMTA; |
| |
| struct CURRENCYFMTW { |
| UINT NumDigits; |
| UINT LeadingZero; |
| UINT Grouping; |
| LPWSTR lpDecimalSep; |
| LPWSTR lpThousandSep; |
| UINT NegativeOrder; |
| UINT PositiveOrder; |
| LPWSTR lpCurrencySymbol; |
| } |
| alias CURRENCYFMTW* LPCURRENCYFMTW; |
| |
| struct NLSVERSIONINFO { |
| DWORD dwNLSVersionInfoSize; |
| DWORD dwNLSVersion; |
| DWORD dwDefinedVersion; |
| } |
| alias NLSVERSIONINFO* LPNLSVERSIONINFO; |
| |
| struct NUMBERFMTA { |
| UINT NumDigits; |
| UINT LeadingZero; |
| UINT Grouping; |
| LPSTR lpDecimalSep; |
| LPSTR lpThousandSep; |
| UINT NegativeOrder; |
| } |
| alias NUMBERFMTA* LPNUMBERFMTA; |
| |
| struct NUMBERFMTW { |
| UINT NumDigits; |
| UINT LeadingZero; |
| UINT Grouping; |
| LPWSTR lpDecimalSep; |
| LPWSTR lpThousandSep; |
| UINT NegativeOrder; |
| } |
| alias NUMBERFMTW* LPNUMBERFMTW; |
| |
| extern (Windows) nothrow @nogc { |
| int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int); |
| int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int); |
| LCID ConvertDefaultLocale(LCID); |
| BOOL EnumCalendarInfoA(CALINFO_ENUMPROCA, LCID, CALID, CALTYPE); |
| BOOL EnumCalendarInfoW(CALINFO_ENUMPROCW, LCID, CALID, CALTYPE); |
| BOOL EnumDateFormatsA(DATEFMT_ENUMPROCA, LCID, DWORD); |
| BOOL EnumDateFormatsW(DATEFMT_ENUMPROCW, LCID, DWORD); |
| BOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROCA, DWORD); |
| BOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROCW, DWORD); |
| BOOL EnumSystemGeoID(GEOCLASS, GEOID, GEO_ENUMPROC); |
| BOOL EnumSystemLocalesA(LOCALE_ENUMPROCA, DWORD); |
| BOOL EnumSystemLocalesW(LOCALE_ENUMPROCW, DWORD); |
| BOOL EnumTimeFormatsA(TIMEFMT_ENUMPROCA, LCID, DWORD); |
| BOOL EnumTimeFormatsW(TIMEFMT_ENUMPROCW, LCID, DWORD); |
| int FoldStringA(DWORD, LPCSTR, int, LPSTR, int); |
| int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int); |
| UINT GetACP(); |
| int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD); |
| int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD); |
| BOOL GetCPInfo(UINT, LPCPINFO); |
| BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA); |
| BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW); |
| int GetCurrencyFormatA(LCID, DWORD, LPCSTR, const(CURRENCYFMTA)*, LPSTR, int); |
| int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, const(CURRENCYFMTW)*, LPWSTR, |
| int); |
| int GetDateFormatA(LCID, DWORD, const(SYSTEMTIME)*, LPCSTR, LPSTR, int); |
| int GetDateFormatW(LCID, DWORD, const(SYSTEMTIME)*, LPCWSTR, LPWSTR, int); |
| int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID); |
| int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID); |
| int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int); |
| int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int); |
| BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO); |
| int GetNumberFormatA(LCID, DWORD, LPCSTR, const(NUMBERFMTA)*, LPSTR, int); |
| int GetNumberFormatW(LCID, DWORD, LPCWSTR, const(NUMBERFMTW)*, LPWSTR, int); |
| UINT GetOEMCP(); |
| BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD); |
| BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD); |
| BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD); |
| BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD); |
| LANGID GetSystemDefaultLangID(); |
| LCID GetSystemDefaultLCID(); |
| LCID GetThreadLocale(); |
| int GetTimeFormatA(LCID, DWORD, const(SYSTEMTIME)*, LPCSTR, LPSTR, int); |
| int GetTimeFormatW(LCID, DWORD, const(SYSTEMTIME)*, LPCWSTR, LPWSTR, int); |
| LANGID GetUserDefaultLangID(); |
| LCID GetUserDefaultLCID(); |
| GEOID GetUserGeoID(GEOCLASS); |
| BOOL IsDBCSLeadByte(BYTE); |
| BOOL IsDBCSLeadByteEx(UINT, BYTE); |
| BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, |
| int); |
| BOOL IsValidCodePage(UINT); |
| BOOL IsValidLocale(LCID, DWORD); |
| int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int); |
| int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int); |
| int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int); |
| int SetCalendarInfoA(LCID, CALID, CALTYPE, LPCSTR); |
| int SetCalendarInfoW(LCID, CALID, CALTYPE, LPCWSTR); |
| BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR); |
| BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR); |
| BOOL SetThreadLocale(LCID); |
| BOOL SetUserGeoID(GEOID); |
| int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, |
| LPBOOL); |
| |
| static if (_WIN32_WINNT >= 0x410) { |
| BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE); |
| BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE); |
| BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD); |
| BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD); |
| BOOL IsValidLanguageGroup(LGRPID, DWORD); |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| LANGID GetSystemDefaultUILanguage(); |
| LANGID GetUserDefaultUILanguage(); |
| |
| BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD, |
| LONG_PTR); |
| BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD, |
| LONG_PTR); |
| BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID, |
| DWORD, LONG_PTR); |
| BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID, |
| DWORD, LONG_PTR); |
| BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR); |
| BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR); |
| } |
| } |
| |
| version (Unicode) { |
| alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; |
| alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; |
| alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; |
| alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC; |
| alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC; |
| alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX; |
| alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC; |
| alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC; |
| alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC; |
| alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC; |
| alias CPINFOEXW CPINFOEX; |
| alias LPCPINFOEXW LPCPINFOEX; |
| alias CURRENCYFMTW CURRENCYFMT; |
| alias LPCURRENCYFMTW LPCURRENCYFMT; |
| alias NUMBERFMTW NUMBERFMT; |
| alias LPNUMBERFMTW LPNUMBERFMT; |
| alias CompareStringW CompareString; |
| alias EnumCalendarInfoW EnumCalendarInfo; |
| alias EnumSystemCodePagesW EnumSystemCodePages; |
| alias EnumSystemLocalesW EnumSystemLocales; |
| alias EnumTimeFormatsW EnumTimeFormats; |
| alias FoldStringW FoldString; |
| alias GetCalendarInfoW GetCalendarInfo; |
| alias GetCPInfoExW GetCPInfoEx; |
| alias GetCurrencyFormatW GetCurrencyFormat; |
| alias GetDateFormatW GetDateFormat; |
| alias GetGeoInfoW GetGeoInfo; |
| alias GetLocaleInfoW GetLocaleInfo; |
| alias GetNumberFormatW GetNumberFormat; |
| alias GetStringTypeExW GetStringTypeEx; |
| alias GetTimeFormatW GetTimeFormat; |
| alias LCMapStringW LCMapString; |
| alias SetCalendarInfoW SetCalendarInfo; |
| alias SetLocaleInfoW SetLocaleInfo; |
| |
| static if (_WIN32_WINNT >= 0x410) { |
| alias EnumCalendarInfoExW EnumCalendarInfoEx; |
| alias EnumDateFormatsExW EnumDateFormatsEx; |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; |
| alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; |
| alias EnumUILanguagesW EnumUILanguages; |
| } |
| |
| } else { |
| alias CALINFO_ENUMPROCA CALINFO_ENUMPROC; |
| alias CALINFO_ENUMPROCEXA CALINFO_ENUMPROCEX; |
| alias LOCALE_ENUMPROCA LOCALE_ENUMPROC; |
| alias CODEPAGE_ENUMPROCA CODEPAGE_ENUMPROC; |
| alias DATEFMT_ENUMPROCA DATEFMT_ENUMPROC; |
| alias DATEFMT_ENUMPROCEXA DATEFMT_ENUMPROCEX; |
| alias TIMEFMT_ENUMPROCA TIMEFMT_ENUMPROC; |
| alias LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROC; |
| alias LANGGROUPLOCALE_ENUMPROCA LANGGROUPLOCALE_ENUMPROC; |
| alias UILANGUAGE_ENUMPROCA UILANGUAGE_ENUMPROC; |
| alias CPINFOEXA CPINFOEX; |
| alias LPCPINFOEXA LPCPINFOEX; |
| alias CURRENCYFMTA CURRENCYFMT; |
| alias LPCURRENCYFMTA LPCURRENCYFMT; |
| alias NUMBERFMTA NUMBERFMT; |
| alias LPNUMBERFMTA LPNUMBERFMT; |
| alias CompareStringA CompareString; |
| alias EnumCalendarInfoA EnumCalendarInfo; |
| alias EnumSystemCodePagesA EnumSystemCodePages; |
| alias EnumSystemLocalesA EnumSystemLocales; |
| alias EnumTimeFormatsA EnumTimeFormats; |
| alias FoldStringA FoldString; |
| alias GetCalendarInfoA GetCalendarInfo; |
| alias GetCPInfoExA GetCPInfoEx; |
| alias GetCurrencyFormatA GetCurrencyFormat; |
| alias GetDateFormatA GetDateFormat; |
| alias GetGeoInfoA GetGeoInfo; |
| alias GetLocaleInfoA GetLocaleInfo; |
| alias GetNumberFormatA GetNumberFormat; |
| alias GetStringTypeExA GetStringTypeEx; |
| alias GetTimeFormatA GetTimeFormat; |
| alias LCMapStringA LCMapString; |
| alias SetCalendarInfoA SetCalendarInfo; |
| alias SetLocaleInfoA SetLocaleInfo; |
| |
| static if (_WIN32_WINNT >= 0x410) { |
| alias EnumCalendarInfoExA EnumCalendarInfoEx; |
| alias EnumDateFormatsExA EnumDateFormatsEx; |
| } |
| |
| static if (_WIN32_WINNT >= 0x500) { |
| alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups; |
| alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales; |
| alias EnumUILanguagesA EnumUILanguages; |
| } |
| } |