1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _OLE2_H_ 7 #define _OLE2_H_ 8 9 #include <pshpack8.h> 10 11 #ifndef WIN32 12 #define WIN32 100 13 #endif 14 15 #include <winerror.h> 16 #include <objbase.h> 17 #include <oleauto.h> 18 19 #define E_DRAW VIEW_E_DRAW 20 21 #define DATA_E_FORMATETC DV_E_FORMATETC 22 23 #define OLEIVERB_PRIMARY (__MSABI_LONG(0)) 24 #define OLEIVERB_SHOW (__MSABI_LONG(-1)) 25 #define OLEIVERB_OPEN (__MSABI_LONG(-2)) 26 #define OLEIVERB_HIDE (__MSABI_LONG(-3)) 27 #define OLEIVERB_UIACTIVATE (__MSABI_LONG(-4)) 28 #define OLEIVERB_INPLACEACTIVATE (__MSABI_LONG(-5)) 29 #define OLEIVERB_DISCARDUNDOSTATE (__MSABI_LONG(-6)) 30 31 #define EMBDHLP_INPROC_HANDLER __MSABI_LONG(0x0000) 32 #define EMBDHLP_INPROC_SERVER __MSABI_LONG(0x0001) 33 #define EMBDHLP_CREATENOW __MSABI_LONG(0x00000000) 34 #define EMBDHLP_DELAYCREATE __MSABI_LONG(0x00010000) 35 36 #define OLECREATE_LEAVERUNNING 0x00000001 37 38 #include <oleidl.h> 39 40 WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER *ppDAHolder); 41 WINOLEAPI_(DWORD) OleBuildVersion(VOID); 42 WINOLEAPI ReadClassStg(LPSTORAGE pStg,CLSID *pclsid); 43 WINOLEAPI WriteClassStg(LPSTORAGE pStg,REFCLSID rclsid); 44 WINOLEAPI ReadClassStm(LPSTREAM pStm,CLSID *pclsid); 45 WINOLEAPI WriteClassStm(LPSTREAM pStm,REFCLSID rclsid); 46 WINOLEAPI WriteFmtUserTypeStg (LPSTORAGE pstg,CLIPFORMAT cf,LPOLESTR lpszUserType); 47 WINOLEAPI ReadFmtUserTypeStg (LPSTORAGE pstg,CLIPFORMAT *pcf,LPOLESTR *lplpszUserType); 48 WINOLEAPI OleInitialize(LPVOID pvReserved); 49 WINOLEAPI_(void) OleUninitialize(void); 50 WINOLEAPI OleQueryLinkFromData(LPDATAOBJECT pSrcDataObject); 51 WINOLEAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject); 52 WINOLEAPI OleCreate(REFCLSID rclsid,REFIID riid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 53 WINOLEAPI OleCreateEx(REFCLSID rclsid,REFIID riid,DWORD dwFlags,DWORD renderopt,ULONG cFormats,DWORD *rgAdvf,LPFORMATETC rgFormatEtc,IAdviseSink *lpAdviseSink,DWORD *rgdwConnection,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 54 WINOLEAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj,REFIID riid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 55 WINOLEAPI OleCreateFromDataEx(LPDATAOBJECT pSrcDataObj,REFIID riid,DWORD dwFlags,DWORD renderopt,ULONG cFormats,DWORD *rgAdvf,LPFORMATETC rgFormatEtc,IAdviseSink *lpAdviseSink,DWORD *rgdwConnection,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 56 WINOLEAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj,REFIID riid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 57 WINOLEAPI OleCreateLinkFromDataEx(LPDATAOBJECT pSrcDataObj,REFIID riid,DWORD dwFlags,DWORD renderopt,ULONG cFormats,DWORD *rgAdvf,LPFORMATETC rgFormatEtc,IAdviseSink *lpAdviseSink,DWORD *rgdwConnection,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 58 WINOLEAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj,REFIID iid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 59 WINOLEAPI OleCreateLink(LPMONIKER pmkLinkSrc,REFIID riid,DWORD renderopt,LPFORMATETC lpFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 60 WINOLEAPI OleCreateLinkEx(LPMONIKER pmkLinkSrc,REFIID riid,DWORD dwFlags,DWORD renderopt,ULONG cFormats,DWORD *rgAdvf,LPFORMATETC rgFormatEtc,IAdviseSink *lpAdviseSink,DWORD *rgdwConnection,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 61 WINOLEAPI OleCreateLinkToFile(LPCOLESTR lpszFileName,REFIID riid,DWORD renderopt,LPFORMATETC lpFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 62 WINOLEAPI OleCreateLinkToFileEx(LPCOLESTR lpszFileName,REFIID riid,DWORD dwFlags,DWORD renderopt,ULONG cFormats,DWORD *rgAdvf,LPFORMATETC rgFormatEtc,IAdviseSink *lpAdviseSink,DWORD *rgdwConnection,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 63 WINOLEAPI OleCreateFromFile(REFCLSID rclsid,LPCOLESTR lpszFileName,REFIID riid,DWORD renderopt,LPFORMATETC lpFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 64 WINOLEAPI OleCreateFromFileEx(REFCLSID rclsid,LPCOLESTR lpszFileName,REFIID riid,DWORD dwFlags,DWORD renderopt,ULONG cFormats,DWORD *rgAdvf,LPFORMATETC rgFormatEtc,IAdviseSink *lpAdviseSink,DWORD *rgdwConnection,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 65 WINOLEAPI OleLoad(LPSTORAGE pStg,REFIID riid,LPOLECLIENTSITE pClientSite,LPVOID *ppvObj); 66 WINOLEAPI OleSave(LPPERSISTSTORAGE pPS,LPSTORAGE pStg,WINBOOL fSameAsLoad); 67 WINOLEAPI OleLoadFromStream(LPSTREAM pStm,REFIID iidInterface,LPVOID *ppvObj); 68 WINOLEAPI OleSaveToStream(LPPERSISTSTREAM pPStm,LPSTREAM pStm); 69 WINOLEAPI OleSetContainedObject(LPUNKNOWN pUnknown,WINBOOL fContained); 70 WINOLEAPI OleNoteObjectVisible(LPUNKNOWN pUnknown,WINBOOL fVisible); 71 WINOLEAPI RegisterDragDrop(HWND hwnd,LPDROPTARGET pDropTarget); 72 WINOLEAPI RevokeDragDrop(HWND hwnd); 73 WINOLEAPI DoDragDrop(LPDATAOBJECT pDataObj,LPDROPSOURCE pDropSource,DWORD dwOKEffects,LPDWORD pdwEffect); 74 WINOLEAPI OleSetClipboard(LPDATAOBJECT pDataObj); 75 WINOLEAPI OleGetClipboard(LPDATAOBJECT *ppDataObj); 76 WINOLEAPI OleFlushClipboard(void); 77 WINOLEAPI OleIsCurrentClipboard(LPDATAOBJECT pDataObj); 78 WINOLEAPI_(HOLEMENU) OleCreateMenuDescriptor (HMENU hmenuCombined,LPOLEMENUGROUPWIDTHS lpMenuWidths); 79 WINOLEAPI OleSetMenuDescriptor (HOLEMENU holemenu,HWND hwndFrame,HWND hwndActiveObject,LPOLEINPLACEFRAME lpFrame,LPOLEINPLACEACTIVEOBJECT lpActiveObj); 80 WINOLEAPI OleDestroyMenuDescriptor (HOLEMENU holemenu); 81 WINOLEAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame,LPOLEINPLACEFRAMEINFO lpFrameInfo,LPMSG lpmsg); 82 WINOLEAPI_(HANDLE) OleDuplicateData (HANDLE hSrc,CLIPFORMAT cfFormat,UINT uiFlags); 83 WINOLEAPI OleDraw (LPUNKNOWN pUnknown,DWORD dwAspect,HDC hdcDraw,LPCRECT lprcBounds); 84 WINOLEAPI OleRun(LPUNKNOWN pUnknown); 85 WINOLEAPI_(WINBOOL) OleIsRunning(LPOLEOBJECT pObject); 86 WINOLEAPI OleLockRunning(LPUNKNOWN pUnknown,WINBOOL fLock,WINBOOL fLastUnlockCloses); 87 WINOLEAPI_(void) ReleaseStgMedium(LPSTGMEDIUM); 88 WINOLEAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER *ppOAHolder); 89 WINOLEAPI OleCreateDefaultHandler(REFCLSID clsid,LPUNKNOWN pUnkOuter,REFIID riid,LPVOID *lplpObj); 90 WINOLEAPI OleCreateEmbeddingHelper(REFCLSID clsid,LPUNKNOWN pUnkOuter,DWORD flags,LPCLASSFACTORY pCF,REFIID riid,LPVOID *lplpObj); 91 WINOLEAPI_(WINBOOL) IsAccelerator(HACCEL hAccel,int cAccelEntries,LPMSG lpMsg,WORD *lpwCmd); 92 WINOLEAPI_(HGLOBAL) OleGetIconOfFile(LPOLESTR lpszPath,WINBOOL fUseFileAsLabel); 93 WINOLEAPI_(HGLOBAL) OleGetIconOfClass(REFCLSID rclsid,LPOLESTR lpszLabel,WINBOOL fUseTypeAsLabel); 94 WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON hIcon,LPOLESTR lpszLabel,LPOLESTR lpszSourceFile,UINT iIconIndex); 95 WINOLEAPI OleRegGetUserType (REFCLSID clsid,DWORD dwFormOfType,LPOLESTR *pszUserType); 96 WINOLEAPI OleRegGetMiscStatus (REFCLSID clsid,DWORD dwAspect,DWORD *pdwStatus); 97 WINOLEAPI OleRegEnumFormatEtc (REFCLSID clsid,DWORD dwDirection,LPENUMFORMATETC *ppenum); 98 WINOLEAPI OleRegEnumVerbs (REFCLSID clsid,LPENUMOLEVERB *ppenum); 99 100 typedef struct _OLESTREAM *LPOLESTREAM; 101 102 #ifndef _DEFINED_OLESTREAMVRBL 103 #define _DEFINED_OLESTREAMVRBL 104 typedef struct _OLESTREAMVTBL { 105 DWORD (CALLBACK *Get)(LPOLESTREAM,void *,DWORD); 106 DWORD (CALLBACK *Put)(LPOLESTREAM,const void *,DWORD); 107 } OLESTREAMVTBL; 108 109 typedef OLESTREAMVTBL *LPOLESTREAMVTBL; 110 #endif 111 112 #ifndef _DEFINED_OLESTREAM 113 #define _DEFINED_OLESTREAM 114 typedef struct _OLESTREAM { 115 LPOLESTREAMVTBL lpstbl; 116 } OLESTREAM; 117 #endif 118 119 WINOLEAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM lpolestream,LPSTORAGE pstg,const DVTARGETDEVICE *ptd); 120 WINOLEAPI OleConvertIStorageToOLESTREAM(LPSTORAGE pstg,LPOLESTREAM lpolestream); 121 WINOLEAPI GetHGlobalFromILockBytes (LPLOCKBYTES plkbyt,HGLOBAL *phglobal); 122 WINOLEAPI CreateILockBytesOnHGlobal (HGLOBAL hGlobal,WINBOOL fDeleteOnRelease,LPLOCKBYTES *pplkbyt); 123 WINOLEAPI GetHGlobalFromStream (LPSTREAM pstm,HGLOBAL *phglobal); 124 WINOLEAPI CreateStreamOnHGlobal (HGLOBAL hGlobal,WINBOOL fDeleteOnRelease,LPSTREAM *ppstm); 125 WINOLEAPI OleDoAutoConvert(LPSTORAGE pStg,LPCLSID pClsidNew); 126 WINOLEAPI OleGetAutoConvert(REFCLSID clsidOld,LPCLSID pClsidNew); 127 WINOLEAPI OleSetAutoConvert(REFCLSID clsidOld,REFCLSID clsidNew); 128 WINOLEAPI GetConvertStg(LPSTORAGE pStg); 129 WINOLEAPI SetConvertStg(LPSTORAGE pStg,WINBOOL fConvert); 130 WINOLEAPI OleConvertIStorageToOLESTREAMEx(LPSTORAGE pstg,CLIPFORMAT cfFormat,LONG lWidth,LONG lHeight,DWORD dwSize,LPSTGMEDIUM pmedium,LPOLESTREAM polestm); 131 WINOLEAPI OleConvertOLESTREAMToIStorageEx(LPOLESTREAM polestm,LPSTORAGE pstg,CLIPFORMAT *pcfFormat,LONG *plwWidth,LONG *plHeight,DWORD *pdwSize,LPSTGMEDIUM pmedium); 132 133 #ifndef RC_INVOKED 134 #include <poppack.h> 135 #endif 136 #endif 137