Differences From 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]
To Artifact [36a7fbecd1a8b466]:
- File
src/win32/winnls.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
5 5 * *
6 6 * Translated from MinGW Windows headers *
7 7 * by Stewart Gordon *
8 8 * *
9 9 * Placed into public domain *
10 10 \***********************************************************************/
11 11 module win32.winnls;
12 -pragma(lib, "kernel32.lib");
12 +pragma(lib, "kernel32");
13 13
14 14 private import win32.basetsd, win32.w32api, win32.winbase, win32.windef;
15 15
16 16 alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS;
17 17
18 18 const size_t
19 19 MAX_DEFAULTCHAR = 2,
................................................................................
461 461 LGRPID_ARABIC,
462 462 LGRPID_VIETNAMESE,
463 463 LGRPID_INDIC,
464 464 LGRPID_GEORGIAN,
465 465 LGRPID_ARMENIAN // = 17
466 466 }
467 467
468 -static if (WINVER >= 0x500) {
468 +static if (_WIN32_WINNT >= 0x500) {
469 469 enum : LCTYPE {
470 470 LOCALE_SYEARMONTH = 0x1006,
471 471 LOCALE_SENGCURRNAME = 0x1007,
472 472 LOCALE_SNATIVECURRNAME = 0x1008,
473 473 LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012,
474 474 LOCALE_SSORTNAME = 0x1013,
475 475 LOCALE_IDIGITSUBSTITUTION = 0x1014,
................................................................................
487 487 enum : CALTYPE {
488 488 CAL_SYEARMONTH = 47,
489 489 CAL_ITWODIGITYEARMAX = 48,
490 490 CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE,
491 491 CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER,
492 492 CAL_USE_CP_ACP = LOCALE_USE_CP_ACP
493 493 }
494 -} // (WINVER >= 0x500)
494 +} // (_WIN32_WINNT >= 0x500)
495 495
496 496 extern (Windows) {
497 497 alias BOOL function(LPSTR) CALINFO_ENUMPROCA;
498 498 alias BOOL function(LPWSTR) CALINFO_ENUMPROCW;
499 499 alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA;
500 500 alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW;
501 501 alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR)
................................................................................
641 641 int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int);
642 642 UINT GetACP();
643 643 int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD);
644 644 int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD);
645 645 BOOL GetCPInfo(UINT, LPCPINFO);
646 646 BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA);
647 647 BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW);
648 - int GetCurrencyFormatA(LCID, DWORD, LPCSTR, CPtr!(CURRENCYFMTA), LPSTR, int);
649 - int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, CPtr!(CURRENCYFMTW), LPWSTR,
648 + int GetCurrencyFormatA(LCID, DWORD, LPCSTR, const(CURRENCYFMTA)*, LPSTR, int);
649 + int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, const(CURRENCYFMTW)*, LPWSTR,
650 650 int);
651 - int GetDateFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int);
652 - int GetDateFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int);
651 + int GetDateFormatA(LCID, DWORD, const(SYSTEMTIME)*, LPCSTR, LPSTR, int);
652 + int GetDateFormatW(LCID, DWORD, const(SYSTEMTIME)*, LPCWSTR, LPWSTR, int);
653 653 int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID);
654 654 int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID);
655 655 int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
656 656 int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
657 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, int);
658 + int GetNumberFormatA(LCID, DWORD, LPCSTR, const(NUMBERFMTA)*, LPSTR, int);
659 + int GetNumberFormatW(LCID, DWORD, LPCWSTR, const(NUMBERFMTW)*, LPWSTR, int);
660 660 UINT GetOEMCP();
661 661 BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD);
662 662 BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD);
663 663 BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD);
664 664 BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD);
665 665 LANGID GetSystemDefaultLangID();
666 666 LCID GetSystemDefaultLCID();
667 667 LCID GetThreadLocale();
668 - int GetTimeFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int);
669 - int GetTimeFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int);
668 + int GetTimeFormatA(LCID, DWORD, const(SYSTEMTIME)*, LPCSTR, LPSTR, int);
669 + int GetTimeFormatW(LCID, DWORD, const(SYSTEMTIME)*, LPCWSTR, LPWSTR, int);
670 670 LANGID GetUserDefaultLangID();
671 671 LCID GetUserDefaultLCID();
672 672 GEOID GetUserGeoID(GEOCLASS);
673 673 BOOL IsDBCSLeadByte(BYTE);
674 674 BOOL IsDBCSLeadByteEx(UINT, BYTE);
675 675 BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR,
676 676 int);
................................................................................
684 684 BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR);
685 685 BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR);
686 686 BOOL SetThreadLocale(LCID);
687 687 BOOL SetUserGeoID(GEOID);
688 688 int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR,
689 689 LPBOOL);
690 690
691 - static if (WINVER >= 0x410) {
691 + static if (_WIN32_WINNT >= 0x410) {
692 692 BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE);
693 693 BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE);
694 694 BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD);
695 695 BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD);
696 696 BOOL IsValidLanguageGroup(LGRPID, DWORD);
697 697 }
698 698
699 - static if (WINVER >= 0x500) {
699 + static if (_WIN32_WINNT >= 0x500) {
700 700 LANGID GetSystemDefaultUILanguage();
701 701 LANGID GetUserDefaultUILanguage();
702 702
703 - static if (_WIN32_WINNT_ONLY) {
704 - BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD,
705 - LONG_PTR);
706 - BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD,
707 - LONG_PTR);
708 - BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID,
709 - DWORD, LONG_PTR);
710 - BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID,
711 - DWORD, LONG_PTR);
712 - BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR);
713 - BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR);
714 - }
703 + BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD,
704 + LONG_PTR);
705 + BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD,
706 + LONG_PTR);
707 + BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID,
708 + DWORD, LONG_PTR);
709 + BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID,
710 + DWORD, LONG_PTR);
711 + BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR);
712 + BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR);
715 713 }
716 714 }
717 715
718 716 version (Unicode) {
719 717 alias CALINFO_ENUMPROCW CALINFO_ENUMPROC;
720 718 alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX;
721 719 alias LOCALE_ENUMPROCW LOCALE_ENUMPROC;
................................................................................
747 745 alias GetNumberFormatW GetNumberFormat;
748 746 alias GetStringTypeExW GetStringTypeEx;
749 747 alias GetTimeFormatW GetTimeFormat;
750 748 alias LCMapStringW LCMapString;
751 749 alias SetCalendarInfoW SetCalendarInfo;
752 750 alias SetLocaleInfoW SetLocaleInfo;
753 751
754 - static if (WINVER >= 0x410) {
752 + static if (_WIN32_WINNT >= 0x410) {
755 753 alias EnumCalendarInfoExW EnumCalendarInfoEx;
756 754 alias EnumDateFormatsExW EnumDateFormatsEx;
757 755 }
758 756
759 - static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) {
757 + static if (_WIN32_WINNT >= 0x500) {
760 758 alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;
761 759 alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales;
762 760 alias EnumUILanguagesW EnumUILanguages;
763 761 }
764 762
765 763 } else {
766 764 alias CALINFO_ENUMPROCA CALINFO_ENUMPROC;
................................................................................
794 792 alias GetNumberFormatA GetNumberFormat;
795 793 alias GetStringTypeExA GetStringTypeEx;
796 794 alias GetTimeFormatA GetTimeFormat;
797 795 alias LCMapStringA LCMapString;
798 796 alias SetCalendarInfoA SetCalendarInfo;
799 797 alias SetLocaleInfoA SetLocaleInfo;
800 798
801 - static if (WINVER >= 0x410) {
799 + static if (_WIN32_WINNT >= 0x410) {
802 800 alias EnumCalendarInfoExA EnumCalendarInfoEx;
803 801 alias EnumDateFormatsExA EnumDateFormatsEx;
804 802 }
805 803
806 - static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) {
804 + static if (_WIN32_WINNT >= 0x500) {
807 805 alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups;
808 806 alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales;
809 807 alias EnumUILanguagesA EnumUILanguages;
810 808 }
811 809 }