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