Artifact 92f6c63b4156f1a9ab0b6db61abbe97e41b28c7b
- File
src/win32/richole.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.
/***********************************************************************\ * richole.d * * * * Windows API header module * * * * Translated from MinGW Windows headers * * * * Placed into public domain * \***********************************************************************/ module win32.richole; private import win32.objfwd, win32.objidl, win32.ole2, win32.unknwn, win32.windef; private import win32.richedit; // for CHARRANGE align(4): const ULONG REO_GETOBJ_NO_INTERFACES = 0, REO_GETOBJ_POLEOBJ = 1, REO_GETOBJ_PSTG = 2, REO_GETOBJ_POLESITE = 4, REO_GETOBJ_ALL_INTERFACES = 7, REO_CP_SELECTION = -1, REO_IOB_SELECTION = -1, REO_IOB_USE_CP = -2, REO_NULL = 0, REO_READWRITEMASK = 0x3F, REO_DONTNEEDPALETTE = 32, REO_BLANK = 16, REO_DYNAMICSIZE = 8, REO_INVERTEDSELECT = 4, REO_BELOWBASELINE = 2, REO_RESIZABLE = 1, REO_LINK = 0x80000000, REO_STATIC = 0x40000000, REO_SELECTED = 0x08000000, REO_OPEN = 0x4000000, REO_INPLACEACTIVE = 0x2000000, REO_HILITED = 0x1000000, REO_LINKAVAILABLE = 0x800000, REO_GETMETAFILE = 0x400000; enum { RECO_PASTE = 0, RECO_DROP, RECO_COPY, RECO_CUT, RECO_DRAG // = 4 } extern (C) extern const GUID IID_IRichEditOle, IID_IRichEditOleCallback; struct REOBJECT { DWORD cbStruct = REOBJECT.sizeof; LONG cp; CLSID clsid; LPOLEOBJECT poleobj; LPSTORAGE pstg; LPOLECLIENTSITE polesite; SIZEL sizel; DWORD dvaspect; DWORD dwFlags; DWORD dwUser; } interface IRichEditOle : IUnknown { HRESULT GetClientSite(LPOLECLIENTSITE*); LONG GetObjectCount(); LONG GetLinkCount(); HRESULT GetObject(LONG, REOBJECT*, DWORD); HRESULT InsertObject(REOBJECT*); HRESULT ConvertObject(LONG, REFCLSID, LPCSTR); HRESULT ActivateAs(REFCLSID, REFCLSID); HRESULT SetHostNames(LPCSTR, LPCSTR); HRESULT SetLinkAvailable(LONG, BOOL); HRESULT SetDvaspect(LONG, DWORD); HRESULT HandsOffStorage(LONG); HRESULT SaveCompleted(LONG, LPSTORAGE); HRESULT InPlaceDeactivate(); HRESULT ContextSensitiveHelp(BOOL); HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); HRESULT ImportDataObject(LPDATAOBJECT, CLIPFORMAT, HGLOBAL); }; alias IRichEditOle LPRICHEDITOLE; interface IRichEditOleCallback : IUnknown { HRESULT GetNewStorage(LPSTORAGE*); HRESULT GetInPlaceContext(LPOLEINPLACEFRAME*, LPOLEINPLACEUIWINDOW*, LPOLEINPLACEFRAMEINFO); HRESULT ShowContainerUI(BOOL); HRESULT QueryInsertObject(LPCLSID, LPSTORAGE, LONG); HRESULT DeleteObject(LPOLEOBJECT); HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL); HRESULT ContextSensitiveHelp(BOOL); HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); HRESULT GetDragDropEffect(BOOL, DWORD, PDWORD); HRESULT GetContextMenu(WORD, LPOLEOBJECT, CHARRANGE*, HMENU*); }; alias IRichEditOleCallback LPRICHEDITOLECALLBACK;