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 40WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER *ppDAHolder); 41WINOLEAPI_(DWORD) OleBuildVersion(VOID); 42WINOLEAPI ReadClassStg(LPSTORAGE pStg,CLSID *pclsid); 43WINOLEAPI WriteClassStg(LPSTORAGE pStg,REFCLSID rclsid); 44WINOLEAPI ReadClassStm(LPSTREAM pStm,CLSID *pclsid); 45WINOLEAPI WriteClassStm(LPSTREAM pStm,REFCLSID rclsid); 46WINOLEAPI WriteFmtUserTypeStg (LPSTORAGE pstg,CLIPFORMAT cf,LPOLESTR lpszUserType); 47WINOLEAPI ReadFmtUserTypeStg (LPSTORAGE pstg,CLIPFORMAT *pcf,LPOLESTR *lplpszUserType); 48WINOLEAPI OleInitialize(LPVOID pvReserved); 49WINOLEAPI_(void) OleUninitialize(void); 50WINOLEAPI OleQueryLinkFromData(LPDATAOBJECT pSrcDataObject); 51WINOLEAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject); 52WINOLEAPI OleCreate(REFCLSID rclsid,REFIID riid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 53WINOLEAPI 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); 54WINOLEAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj,REFIID riid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 55WINOLEAPI 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); 56WINOLEAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj,REFIID riid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 57WINOLEAPI 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); 58WINOLEAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj,REFIID iid,DWORD renderopt,LPFORMATETC pFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 59WINOLEAPI OleCreateLink(LPMONIKER pmkLinkSrc,REFIID riid,DWORD renderopt,LPFORMATETC lpFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 60WINOLEAPI 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); 61WINOLEAPI OleCreateLinkToFile(LPCOLESTR lpszFileName,REFIID riid,DWORD renderopt,LPFORMATETC lpFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 62WINOLEAPI 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); 63WINOLEAPI OleCreateFromFile(REFCLSID rclsid,LPCOLESTR lpszFileName,REFIID riid,DWORD renderopt,LPFORMATETC lpFormatEtc,LPOLECLIENTSITE pClientSite,LPSTORAGE pStg,LPVOID *ppvObj); 64WINOLEAPI 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); 65WINOLEAPI OleLoad(LPSTORAGE pStg,REFIID riid,LPOLECLIENTSITE pClientSite,LPVOID *ppvObj); 66WINOLEAPI OleSave(LPPERSISTSTORAGE pPS,LPSTORAGE pStg,WINBOOL fSameAsLoad); 67WINOLEAPI OleLoadFromStream(LPSTREAM pStm,REFIID iidInterface,LPVOID *ppvObj); 68WINOLEAPI OleSaveToStream(LPPERSISTSTREAM pPStm,LPSTREAM pStm); 69WINOLEAPI OleSetContainedObject(LPUNKNOWN pUnknown,WINBOOL fContained); 70WINOLEAPI OleNoteObjectVisible(LPUNKNOWN pUnknown,WINBOOL fVisible); 71WINOLEAPI RegisterDragDrop(HWND hwnd,LPDROPTARGET pDropTarget); 72WINOLEAPI RevokeDragDrop(HWND hwnd); 73WINOLEAPI DoDragDrop(LPDATAOBJECT pDataObj,LPDROPSOURCE pDropSource,DWORD dwOKEffects,LPDWORD pdwEffect); 74WINOLEAPI OleSetClipboard(LPDATAOBJECT pDataObj); 75WINOLEAPI OleGetClipboard(LPDATAOBJECT *ppDataObj); 76WINOLEAPI OleFlushClipboard(void); 77WINOLEAPI OleIsCurrentClipboard(LPDATAOBJECT pDataObj); 78WINOLEAPI_(HOLEMENU) OleCreateMenuDescriptor (HMENU hmenuCombined,LPOLEMENUGROUPWIDTHS lpMenuWidths); 79WINOLEAPI OleSetMenuDescriptor (HOLEMENU holemenu,HWND hwndFrame,HWND hwndActiveObject,LPOLEINPLACEFRAME lpFrame,LPOLEINPLACEACTIVEOBJECT lpActiveObj); 80WINOLEAPI OleDestroyMenuDescriptor (HOLEMENU holemenu); 81WINOLEAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame,LPOLEINPLACEFRAMEINFO lpFrameInfo,LPMSG lpmsg); 82WINOLEAPI_(HANDLE) OleDuplicateData (HANDLE hSrc,CLIPFORMAT cfFormat,UINT uiFlags); 83WINOLEAPI OleDraw (LPUNKNOWN pUnknown,DWORD dwAspect,HDC hdcDraw,LPCRECT lprcBounds); 84WINOLEAPI OleRun(LPUNKNOWN pUnknown); 85WINOLEAPI_(WINBOOL) OleIsRunning(LPOLEOBJECT pObject); 86WINOLEAPI OleLockRunning(LPUNKNOWN pUnknown,WINBOOL fLock,WINBOOL fLastUnlockCloses); 87WINOLEAPI_(void) ReleaseStgMedium(LPSTGMEDIUM); 88WINOLEAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER *ppOAHolder); 89WINOLEAPI OleCreateDefaultHandler(REFCLSID clsid,LPUNKNOWN pUnkOuter,REFIID riid,LPVOID *lplpObj); 90WINOLEAPI OleCreateEmbeddingHelper(REFCLSID clsid,LPUNKNOWN pUnkOuter,DWORD flags,LPCLASSFACTORY pCF,REFIID riid,LPVOID *lplpObj); 91WINOLEAPI_(WINBOOL) IsAccelerator(HACCEL hAccel,int cAccelEntries,LPMSG lpMsg,WORD *lpwCmd); 92WINOLEAPI_(HGLOBAL) OleGetIconOfFile(LPOLESTR lpszPath,WINBOOL fUseFileAsLabel); 93WINOLEAPI_(HGLOBAL) OleGetIconOfClass(REFCLSID rclsid,LPOLESTR lpszLabel,WINBOOL fUseTypeAsLabel); 94WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON hIcon,LPOLESTR lpszLabel,LPOLESTR lpszSourceFile,UINT iIconIndex); 95WINOLEAPI OleRegGetUserType (REFCLSID clsid,DWORD dwFormOfType,LPOLESTR *pszUserType); 96WINOLEAPI OleRegGetMiscStatus (REFCLSID clsid,DWORD dwAspect,DWORD *pdwStatus); 97WINOLEAPI OleRegEnumFormatEtc (REFCLSID clsid,DWORD dwDirection,LPENUMFORMATETC *ppenum); 98WINOLEAPI OleRegEnumVerbs (REFCLSID clsid,LPENUMOLEVERB *ppenum); 99 100typedef struct _OLESTREAM *LPOLESTREAM; 101 102#ifndef _DEFINED_OLESTREAMVRBL 103#define _DEFINED_OLESTREAMVRBL 104typedef struct _OLESTREAMVTBL { 105 DWORD (CALLBACK *Get)(LPOLESTREAM,void *,DWORD); 106 DWORD (CALLBACK *Put)(LPOLESTREAM,const void *,DWORD); 107} OLESTREAMVTBL; 108 109typedef OLESTREAMVTBL *LPOLESTREAMVTBL; 110#endif 111 112#ifndef _DEFINED_OLESTREAM 113#define _DEFINED_OLESTREAM 114typedef struct _OLESTREAM { 115 LPOLESTREAMVTBL lpstbl; 116} OLESTREAM; 117#endif 118 119WINOLEAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM lpolestream,LPSTORAGE pstg,const DVTARGETDEVICE *ptd); 120WINOLEAPI OleConvertIStorageToOLESTREAM(LPSTORAGE pstg,LPOLESTREAM lpolestream); 121WINOLEAPI GetHGlobalFromILockBytes (LPLOCKBYTES plkbyt,HGLOBAL *phglobal); 122WINOLEAPI CreateILockBytesOnHGlobal (HGLOBAL hGlobal,WINBOOL fDeleteOnRelease,LPLOCKBYTES *pplkbyt); 123WINOLEAPI GetHGlobalFromStream (LPSTREAM pstm,HGLOBAL *phglobal); 124WINOLEAPI CreateStreamOnHGlobal (HGLOBAL hGlobal,WINBOOL fDeleteOnRelease,LPSTREAM *ppstm); 125WINOLEAPI OleDoAutoConvert(LPSTORAGE pStg,LPCLSID pClsidNew); 126WINOLEAPI OleGetAutoConvert(REFCLSID clsidOld,LPCLSID pClsidNew); 127WINOLEAPI OleSetAutoConvert(REFCLSID clsidOld,REFCLSID clsidNew); 128WINOLEAPI GetConvertStg(LPSTORAGE pStg); 129WINOLEAPI SetConvertStg(LPSTORAGE pStg,WINBOOL fConvert); 130WINOLEAPI OleConvertIStorageToOLESTREAMEx(LPSTORAGE pstg,CLIPFORMAT cfFormat,LONG lWidth,LONG lHeight,DWORD dwSize,LPSTGMEDIUM pmedium,LPOLESTREAM polestm); 131WINOLEAPI 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