1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_ole2.d) 8 */ 9 module core.sys.windows.ole2; 10 version (Windows): 11 @system: 12 pragma(lib, "ole32"); 13 14 public import core.sys.windows.basetyps, core.sys.windows.objbase, core.sys.windows.oleauto, core.sys.windows.olectlid, 15 core.sys.windows.oleidl, core.sys.windows.unknwn, core.sys.windows.winerror, core.sys.windows.uuid; 16 import core.sys.windows.objfwd, core.sys.windows.objidl, core.sys.windows.windef, core.sys.windows.wtypes; 17 import core.sys.windows.winuser; // for LPMSG 18 19 enum E_DRAW = VIEW_E_DRAW; 20 21 enum DATA_E_FORMATETC = DV_E_FORMATETC; 22 23 enum { 24 OLEIVERB_PRIMARY = 0, 25 OLEIVERB_SHOW = -1, 26 OLEIVERB_OPEN = -2, 27 OLEIVERB_HIDE = -3, 28 OLEIVERB_UIACTIVATE = -4, 29 OLEIVERB_INPLACEACTIVATE = -5, 30 OLEIVERB_DISCARDUNDOSTATE = -6 31 } 32 33 enum EMBDHLP_INPROC_HANDLER = 0x0000L; 34 enum EMBDHLP_INPROC_SERVER = 0x0001L; 35 enum EMBDHLP_CREATENOW = 0x00000000L; 36 enum EMBDHLP_DELAYCREATE = 0x00010000L; 37 38 align(8): 39 struct OLESTREAM { 40 LPOLESTREAMVTBL lpstbl; 41 } 42 alias OLESTREAM* LPOLESTREAM; 43 44 extern (Windows) { 45 struct OLESTREAMVTBL { 46 DWORD function (LPOLESTREAM, void*, DWORD) Get; 47 DWORD function (LPOLESTREAM, const(void)*, DWORD) Put; 48 } 49 } 50 alias OLESTREAMVTBL* LPOLESTREAMVTBL; 51 52 extern (Windows) { 53 HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 54 DWORD OleBuildVersion(); 55 HRESULT ReadClassStg(LPSTORAGE, CLSID*); 56 HRESULT WriteClassStg(LPSTORAGE, REFCLSID); 57 HRESULT ReadClassStm(LPSTREAM, CLSID*); 58 HRESULT WriteClassStm(LPSTREAM, REFCLSID); 59 HRESULT WriteFmtUserTypeStg(LPSTORAGE, CLIPFORMAT, LPOLESTR); 60 HRESULT ReadFmtUserTypeStg(LPSTORAGE, CLIPFORMAT*, LPOLESTR*); 61 HRESULT OleInitialize(PVOID); 62 void OleUninitialize(); 63 HRESULT OleQueryLinkFromData(LPDATAOBJECT); 64 HRESULT OleQueryCreateFromData(LPDATAOBJECT); 65 HRESULT OleCreate(REFCLSID, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 66 HRESULT OleCreateFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 67 HRESULT OleCreateLinkFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 68 HRESULT OleCreateStaticFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 69 HRESULT OleCreateLink(LPMONIKER, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 70 HRESULT OleCreateLinkToFile(LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 71 HRESULT OleCreateFromFile(REFCLSID, LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 72 HRESULT OleLoad(LPSTORAGE, REFIID, LPOLECLIENTSITE, PVOID*); 73 HRESULT OleSave(LPPERSISTSTORAGE, LPSTORAGE, BOOL); 74 HRESULT OleLoadFromStream(LPSTREAM, REFIID, PVOID*); 75 HRESULT OleSaveToStream(LPPERSISTSTREAM, LPSTREAM); 76 HRESULT OleSetContainedObject(LPUNKNOWN, BOOL); 77 HRESULT OleNoteObjectVisible(LPUNKNOWN, BOOL); 78 HRESULT RegisterDragDrop(HWND, LPDROPTARGET); 79 HRESULT RevokeDragDrop(HWND); 80 HRESULT DoDragDrop(LPDATAOBJECT, LPDROPSOURCE, DWORD, PDWORD); 81 HRESULT OleSetClipboard(LPDATAOBJECT); 82 HRESULT OleGetClipboard(LPDATAOBJECT*); 83 HRESULT OleFlushClipboard(); 84 HRESULT OleIsCurrentClipboard(LPDATAOBJECT); 85 HOLEMENU OleCreateMenuDescriptor(HMENU, LPOLEMENUGROUPWIDTHS); 86 HRESULT OleSetMenuDescriptor(HOLEMENU, HWND, HWND, LPOLEINPLACEFRAME, LPOLEINPLACEACTIVEOBJECT); 87 HRESULT OleDestroyMenuDescriptor(HOLEMENU); 88 HRESULT OleTranslateAccelerator(LPOLEINPLACEFRAME, LPOLEINPLACEFRAMEINFO, LPMSG); 89 HANDLE OleDuplicateData(HANDLE, CLIPFORMAT, UINT); 90 HRESULT OleDraw(LPUNKNOWN, DWORD, HDC, LPCRECT); 91 HRESULT OleRun(LPUNKNOWN); 92 BOOL OleIsRunning(LPOLEOBJECT); 93 HRESULT OleLockRunning(LPUNKNOWN, BOOL, BOOL); 94 void ReleaseStgMedium(LPSTGMEDIUM); 95 HRESULT CreateOleAdviseHolder(LPOLEADVISEHOLDER*); 96 HRESULT OleCreateDefaultHandler(REFCLSID, LPUNKNOWN, REFIID, PVOID*); 97 HRESULT OleCreateEmbeddingHelper(REFCLSID, LPUNKNOWN, DWORD, LPCLASSFACTORY, REFIID, PVOID*); 98 BOOL IsAccelerator(HACCEL, int, LPMSG, WORD*); 99 HGLOBAL OleGetIconOfFile(LPOLESTR, BOOL); 100 HGLOBAL OleGetIconOfClass(REFCLSID, LPOLESTR, BOOL); 101 HGLOBAL OleMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT); 102 HRESULT OleRegGetUserType(REFCLSID, DWORD, LPOLESTR*); 103 HRESULT OleRegGetMiscStatus(REFCLSID, DWORD, DWORD*); 104 HRESULT OleRegEnumFormatEtc (REFCLSID, DWORD, LPENUMFORMATETC*); 105 HRESULT OleRegEnumVerbs (REFCLSID, LPENUMOLEVERB*); 106 HRESULT OleConvertOLESTREAMToIStorage(LPOLESTREAM, LPSTORAGE, const(DVTARGETDEVICE)*); 107 HRESULT OleConvertIStorageToOLESTREAM(LPSTORAGE, LPOLESTREAM); 108 HRESULT GetHGlobalFromILockBytes(LPLOCKBYTES, HGLOBAL*); 109 HRESULT CreateILockBytesOnHGlobal(HGLOBAL, BOOL, LPLOCKBYTES*); 110 HRESULT GetHGlobalFromStream(LPSTREAM, HGLOBAL*); 111 HRESULT CreateStreamOnHGlobal(HGLOBAL, BOOL, LPSTREAM*); 112 HRESULT OleDoAutoConvert(LPSTORAGE, LPCLSID); 113 HRESULT OleGetAutoConvert(REFCLSID, LPCLSID); 114 HRESULT OleSetAutoConvert(REFCLSID, REFCLSID); 115 HRESULT GetConvertStg(LPSTORAGE); 116 HRESULT SetConvertStg(LPSTORAGE, BOOL); 117 HRESULT OleConvertIStorageToOLESTREAMEx(LPSTORAGE, CLIPFORMAT, LONG, LONG, DWORD, LPSTGMEDIUM, LPOLESTREAM); 118 HRESULT OleConvertOLESTREAMToIStorageEx(LPOLESTREAM, LPSTORAGE, CLIPFORMAT*, LONG*, LONG*, DWORD*, LPSTGMEDIUM); 119 } 120