Home | History | Annotate | Download | only in include
      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