Differences From Artifact [037c81af9c06936e]:
- File
src/win32/oledlg.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 [5675873348358744]:
- File
src/win32/oledlg.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.
480 HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 480 HRESULT GetLinkUpdateOptions(DWORD, PDWORD);
481 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 481 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL);
482 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B 482 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B
483 HRESULT OpenLinkSource(DWORD); 483 HRESULT OpenLinkSource(DWORD);
484 HRESULT UpdateLink(DWORD, BOOL, BOOL); 484 HRESULT UpdateLink(DWORD, BOOL, BOOL);
485 HRESULT CancelLink(DWORD); 485 HRESULT CancelLink(DWORD);
486 } 486 }
487 alias IOleUILinkContainerW* LPOLEUILINKCONTAINERW; | 487 alias IOleUILinkContainerW LPOLEUILINKCONTAINERW;
488 488
489 interface IOleUILinkContainerA : IUnknown 489 interface IOleUILinkContainerA : IUnknown
490 { 490 {
491 HRESULT QueryInterface(REFIID, PVOID*); 491 HRESULT QueryInterface(REFIID, PVOID*);
492 ULONG AddRef(); 492 ULONG AddRef();
493 ULONG Release(); 493 ULONG Release();
494 DWORD GetNextLink(DWORD); 494 DWORD GetNextLink(DWORD);
................................................................................................................................................................................
496 HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 496 HRESULT GetLinkUpdateOptions(DWORD, PDWORD);
497 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 497 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL);
498 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL 498 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL
499 HRESULT OpenLinkSource(DWORD); 499 HRESULT OpenLinkSource(DWORD);
500 HRESULT UpdateLink(DWORD, BOOL, BOOL); 500 HRESULT UpdateLink(DWORD, BOOL, BOOL);
501 HRESULT CancelLink(DWORD); 501 HRESULT CancelLink(DWORD);
502 } 502 }
503 alias IOleUILinkContainerA* LPOLEUILINKCONTAINERA; | 503 alias IOleUILinkContainerA LPOLEUILINKCONTAINERA;
504 504
505 struct OLEUIEDITLINKSW { 505 struct OLEUIEDITLINKSW {
506 DWORD cbStruct; 506 DWORD cbStruct;
507 DWORD dwFlags; 507 DWORD dwFlags;
508 HWND hWndOwner; 508 HWND hWndOwner;
509 LPCWSTR lpszCaption; 509 LPCWSTR lpszCaption;
510 LPFNOLEUIHOOK lpfnHook; 510 LPFNOLEUIHOOK lpfnHook;
................................................................................................................................................................................
538 LPFNOLEUIHOOK lpfnHook; 538 LPFNOLEUIHOOK lpfnHook;
539 LPARAM lCustData; 539 LPARAM lCustData;
540 HINSTANCE hInstance; 540 HINSTANCE hInstance;
541 LPCWSTR lpszTemplate; 541 LPCWSTR lpszTemplate;
542 HRSRC hResource; 542 HRSRC hResource;
543 HGLOBAL hMetaPict; 543 HGLOBAL hMetaPict;
544 CLSID clsid; 544 CLSID clsid;
545 WCHAR szIconExe[MAX_PATH]; | 545 WCHAR[MAX_PATH] szIconExe;
546 int cchIconExe; 546 int cchIconExe;
547 } 547 }
548 alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW; 548 alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW;
549 549
550 struct OLEUICHANGEICONA { 550 struct OLEUICHANGEICONA {
551 DWORD cbStruct; 551 DWORD cbStruct;
552 DWORD dwFlags; 552 DWORD dwFlags;
................................................................................................................................................................................
555 LPFNOLEUIHOOK lpfnHook; 555 LPFNOLEUIHOOK lpfnHook;
556 LPARAM lCustData; 556 LPARAM lCustData;
557 HINSTANCE hInstance; 557 HINSTANCE hInstance;
558 LPCSTR lpszTemplate; 558 LPCSTR lpszTemplate;
559 HRSRC hResource; 559 HRSRC hResource;
560 HGLOBAL hMetaPict; 560 HGLOBAL hMetaPict;
561 CLSID clsid; 561 CLSID clsid;
562 CHAR szIconExe[MAX_PATH]; | 562 CHAR[MAX_PATH] szIconExe;
563 int cchIconExe; 563 int cchIconExe;
564 } 564 }
565 alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA; 565 alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA;
566 566
567 struct OLEUICONVERTW { 567 struct OLEUICONVERTW {
568 DWORD cbStruct; 568 DWORD cbStruct;
569 DWORD dwFlags; 569 DWORD dwFlags;
................................................................................................................................................................................
653 LPCWSTR lpszCaption; 653 LPCWSTR lpszCaption;
654 LPFNOLEUIHOOK lpfnHook; 654 LPFNOLEUIHOOK lpfnHook;
655 LPARAM lCustData; 655 LPARAM lCustData;
656 HINSTANCE hInstance; 656 HINSTANCE hInstance;
657 LPCWSTR lpszTemplate; 657 LPCWSTR lpszTemplate;
658 HRSRC hResource; 658 HRSRC hResource;
659 OPENFILENAMEW* lpOFN; 659 OPENFILENAMEW* lpOFN;
660 DWORD dwReserved1[4]; | 660 DWORD[4] dwReserved1;
661 LPOLEUILINKCONTAINERW lpOleUILinkContainer; 661 LPOLEUILINKCONTAINERW lpOleUILinkContainer;
662 DWORD dwLink; 662 DWORD dwLink;
663 LPWSTR lpszDisplayName; 663 LPWSTR lpszDisplayName;
664 ULONG nFileLength; 664 ULONG nFileLength;
665 LPWSTR lpszFrom; 665 LPWSTR lpszFrom;
666 LPWSTR lpszTo; 666 LPWSTR lpszTo;
667 } 667 }
................................................................................................................................................................................
674 LPCSTR lpszCaption; 674 LPCSTR lpszCaption;
675 LPFNOLEUIHOOK lpfnHook; 675 LPFNOLEUIHOOK lpfnHook;
676 LPARAM lCustData; 676 LPARAM lCustData;
677 HINSTANCE hInstance; 677 HINSTANCE hInstance;
678 LPCSTR lpszTemplate; 678 LPCSTR lpszTemplate;
679 HRSRC hResource; 679 HRSRC hResource;
680 OPENFILENAMEA *lpOFN; 680 OPENFILENAMEA *lpOFN;
681 DWORD dwReserved1[4]; | 681 DWORD[4] dwReserved1;
682 LPOLEUILINKCONTAINERA lpOleUILinkContainer; 682 LPOLEUILINKCONTAINERA lpOleUILinkContainer;
683 DWORD dwLink; 683 DWORD dwLink;
684 LPSTR lpszDisplayName; 684 LPSTR lpszDisplayName;
685 ULONG nFileLength; 685 ULONG nFileLength;
686 LPSTR lpszFrom; 686 LPSTR lpszFrom;
687 LPSTR lpszTo; 687 LPSTR lpszTo;
688 } 688 }
................................................................................................................................................................................
695 ULONG Release(); 695 ULONG Release();
696 HRESULT GetObjectInfo(DWORD, PDWORD, LPWSTR*, LPWSTR*, LPWSTR*, LPWSTR*) 696 HRESULT GetObjectInfo(DWORD, PDWORD, LPWSTR*, LPWSTR*, LPWSTR*, LPWSTR*)
697 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 697 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*);
698 HRESULT ConvertObject(DWORD, REFCLSID); 698 HRESULT ConvertObject(DWORD, REFCLSID);
699 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 699 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*);
700 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 700 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL);
701 } 701 }
702 alias IOleUIObjInfoW *LPOLEUIOBJINFOW; | 702 alias IOleUIObjInfoW LPOLEUIOBJINFOW;
703 703
704 interface IOleUIObjInfoA : IUnknown 704 interface IOleUIObjInfoA : IUnknown
705 { 705 {
706 HRESULT QueryInterface(REFIID, PVOID*); 706 HRESULT QueryInterface(REFIID, PVOID*);
707 ULONG AddRef(); 707 ULONG AddRef();
708 ULONG Release(); 708 ULONG Release();
709 HRESULT GetObjectInfo(DWORD, PDWORD, LPSTR*, LPSTR*, LPSTR*, LPSTR*); 709 HRESULT GetObjectInfo(DWORD, PDWORD, LPSTR*, LPSTR*, LPSTR*, LPSTR*);
710 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 710 HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*);
711 HRESULT ConvertObject(DWORD, REFCLSID); 711 HRESULT ConvertObject(DWORD, REFCLSID);
712 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 712 HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*);
713 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 713 HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL);
714 } 714 }
715 alias IOleUIObjInfoA *LPOLEUIOBJINFOA; | 715 alias IOleUIObjInfoA LPOLEUIOBJINFOA;
716 716
717 interface IOleUILinkInfoW : IOleUILinkContainerW 717 interface IOleUILinkInfoW : IOleUILinkContainerW
718 { 718 {
719 HRESULT QueryInterface(REFIID, PVOID*); 719 HRESULT QueryInterface(REFIID, PVOID*);
720 ULONG AddRef(); 720 ULONG AddRef();
721 ULONG Release(); 721 ULONG Release();
722 DWORD GetNextLink(DWORD); 722 DWORD GetNextLink(DWORD);
................................................................................................................................................................................
725 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 725 HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL);
726 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B 726 HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, B
727 HRESULT OpenLinkSource(DWORD); 727 HRESULT OpenLinkSource(DWORD);
728 HRESULT UpdateLink(DWORD, BOOL, BOOL); 728 HRESULT UpdateLink(DWORD, BOOL, BOOL);
729 HRESULT CancelLink(DWORD); 729 HRESULT CancelLink(DWORD);
730 HRESULT GetLastUpdate(DWORD, FILETIME*); 730 HRESULT GetLastUpdate(DWORD, FILETIME*);
731 } 731 }
732 alias IOleUILinkInfoW *LPOLEUILINKINFOW; | 732 alias IOleUILinkInfoW LPOLEUILINKINFOW;
733 733
734 interface IOleUILinkInfoA : IOleUILinkContainerA 734 interface IOleUILinkInfoA : IOleUILinkContainerA
735 { 735 {
736 HRESULT QueryInterface(REFIID, PVOID*); 736 HRESULT QueryInterface(REFIID, PVOID*);
737 ULONG AddRef(); 737 ULONG AddRef();
738 ULONG Release(); 738 ULONG Release();
739 DWORD GetNextLink(DWORD); 739 DWORD GetNextLink(DWORD);
................................................................................................................................................................................
742 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 742 HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL);
743 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL 743 HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL
744 HRESULT OpenLinkSource(DWORD); 744 HRESULT OpenLinkSource(DWORD);
745 HRESULT UpdateLink(DWORD, BOOL, BOOL); 745 HRESULT UpdateLink(DWORD, BOOL, BOOL);
746 HRESULT CancelLink(DWORD); 746 HRESULT CancelLink(DWORD);
747 HRESULT GetLastUpdate(DWORD, FILETIME*); 747 HRESULT GetLastUpdate(DWORD, FILETIME*);
748 } 748 }
749 alias IOleUILinkInfoA* LPOLEUILINKINFOA; | 749 alias IOleUILinkInfoA LPOLEUILINKINFOA;
750 750
751 struct OLEUIGNRLPROPSW { 751 struct OLEUIGNRLPROPSW {
752 DWORD cbStruct; 752 DWORD cbStruct;
753 DWORD dwFlags; 753 DWORD dwFlags;
754 DWORD dwReserved1[2]; | 754 DWORD[2] dwReserved1;
755 LPFNOLEUIHOOK lpfnHook; 755 LPFNOLEUIHOOK lpfnHook;
756 LPARAM lCustData; 756 LPARAM lCustData;
757 DWORD dwReserved2[3]; | 757 DWORD[3] dwReserved2;
758 OLEUIOBJECTPROPSW* lpOP; 758 OLEUIOBJECTPROPSW* lpOP;
759 } 759 }
760 alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW; 760 alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW;
761 761
762 struct OLEUIGNRLPROPSA { 762 struct OLEUIGNRLPROPSA {
763 DWORD cbStruct; 763 DWORD cbStruct;
764 DWORD dwFlags; 764 DWORD dwFlags;
765 DWORD dwReserved1[2]; | 765 DWORD[2] dwReserved1;
766 LPFNOLEUIHOOK lpfnHook; 766 LPFNOLEUIHOOK lpfnHook;
767 LPARAM lCustData; 767 LPARAM lCustData;
768 DWORD dwReserved2[3]; | 768 DWORD[3] dwReserved2;
769 OLEUIOBJECTPROPSA* lpOP; 769 OLEUIOBJECTPROPSA* lpOP;
770 } 770 }
771 alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA; 771 alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA;
772 772
773 struct OLEUIVIEWPROPSW { 773 struct OLEUIVIEWPROPSW {
774 DWORD cbStruct; 774 DWORD cbStruct;
775 DWORD dwFlags; 775 DWORD dwFlags;
776 DWORD dwReserved1[2]; | 776 DWORD[2] dwReserved1;
777 LPFNOLEUIHOOK lpfnHook; 777 LPFNOLEUIHOOK lpfnHook;
778 LPARAM lCustData; 778 LPARAM lCustData;
779 DWORD dwReserved2[3]; | 779 DWORD[3] dwReserved2;
780 OLEUIOBJECTPROPSW* lpOP; 780 OLEUIOBJECTPROPSW* lpOP;
781 int nScaleMin; 781 int nScaleMin;
782 int nScaleMax; 782 int nScaleMax;
783 } 783 }
784 alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW; 784 alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW;
785 785
786 struct OLEUIVIEWPROPSA { 786 struct OLEUIVIEWPROPSA {
787 DWORD cbStruct; 787 DWORD cbStruct;
788 DWORD dwFlags; 788 DWORD dwFlags;
789 DWORD dwReserved1[2]; | 789 DWORD[2] dwReserved1;
790 LPFNOLEUIHOOK lpfnHook; 790 LPFNOLEUIHOOK lpfnHook;
791 LPARAM lCustData; 791 LPARAM lCustData;
792 DWORD dwReserved2[3]; | 792 DWORD[3] dwReserved2;
793 OLEUIOBJECTPROPSA *lpOP; 793 OLEUIOBJECTPROPSA *lpOP;
794 int nScaleMin; 794 int nScaleMin;
795 int nScaleMax; 795 int nScaleMax;
796 } 796 }
797 alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA; 797 alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA;
798 798
799 struct OLEUILINKPROPSW { 799 struct OLEUILINKPROPSW {
800 DWORD cbStruct; 800 DWORD cbStruct;
801 DWORD dwFlags; 801 DWORD dwFlags;
802 DWORD dwReserved1[2]; | 802 DWORD[2] dwReserved1;
803 LPFNOLEUIHOOK lpfnHook; 803 LPFNOLEUIHOOK lpfnHook;
804 LPARAM lCustData; 804 LPARAM lCustData;
805 DWORD dwReserved2[3]; | 805 DWORD[3] dwReserved2;
806 OLEUIOBJECTPROPSW *lpOP; 806 OLEUIOBJECTPROPSW *lpOP;
807 } 807 }
808 alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW; 808 alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW;
809 809
810 struct OLEUILINKPROPSA { 810 struct OLEUILINKPROPSA {
811 DWORD cbStruct; 811 DWORD cbStruct;
812 DWORD dwFlags; 812 DWORD dwFlags;
813 DWORD dwReserved1[2]; | 813 DWORD[2] dwReserved1;
814 LPFNOLEUIHOOK lpfnHook; 814 LPFNOLEUIHOOK lpfnHook;
815 LPARAM lCustData; 815 LPARAM lCustData;
816 DWORD dwReserved2[3]; | 816 DWORD[3] dwReserved2;
817 OLEUIOBJECTPROPSA* lpOP; 817 OLEUIOBJECTPROPSA* lpOP;
818 } 818 }
819 alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA; 819 alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA;
820 820
821 struct OLEUIOBJECTPROPSW { 821 struct OLEUIOBJECTPROPSW {
822 DWORD cbStruct; 822 DWORD cbStruct;
823 DWORD dwFlags; 823 DWORD dwFlags;