Alexandre Julliard | bd34d4f | 1995-06-20 19:08:12 +0000 | [diff] [blame] | 1 | /* |
| 2 | * ole2.h - Declarations for OLE2 |
| 3 | */ |
| 4 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 5 | #ifndef __WINE_OLE2_H |
| 6 | #define __WINE_OLE2_H |
| 7 | |
Jim Aston | 2e1cafa | 1999-03-14 16:35:05 +0000 | [diff] [blame] | 8 | #include "windef.h" |
Paul Quinn | 40d9d3d | 1999-02-25 17:10:15 +0000 | [diff] [blame] | 9 | #include "winerror.h" |
Michael Veksler | 4405f3c | 1999-08-18 18:35:57 +0000 | [diff] [blame] | 10 | #include "wine/obj_storage.h" |
| 11 | #include "wine/obj_moniker.h" |
| 12 | #include "wine/obj_base.h" |
| 13 | #include "wine/obj_dragdrop.h" |
| 14 | #include "wine/obj_inplace.h" |
| 15 | #include "wine/obj_oleobj.h" |
Abey George | 21dbb6c | 2000-03-08 18:49:36 +0000 | [diff] [blame] | 16 | #include "wine/obj_oleview.h" |
Michael Veksler | 4405f3c | 1999-08-18 18:35:57 +0000 | [diff] [blame] | 17 | #ifndef __WINE__ |
Marcus Meissner | 317af32 | 1999-02-17 13:51:06 +0000 | [diff] [blame] | 18 | #include "oleidl.h" |
Francois Gouget | fcfce84 | 1999-03-13 18:14:13 +0000 | [diff] [blame] | 19 | #include "oleauto.h" |
Michael Veksler | 4405f3c | 1999-08-18 18:35:57 +0000 | [diff] [blame] | 20 | #endif |
| 21 | struct tagMSG; |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 22 | |
Patrik Stridvall | 14da7b1 | 1999-06-12 10:53:06 +0000 | [diff] [blame] | 23 | #ifdef __cplusplus |
| 24 | extern "C" { |
| 25 | #endif /* defined(__cplusplus) */ |
| 26 | |
Paul Quinn | 89b21b4 | 1999-03-14 13:47:00 +0000 | [diff] [blame] | 27 | #define OLEIVERB_PRIMARY (0L) |
| 28 | #define OLEIVERB_SHOW (-1L) |
| 29 | #define OLEIVERB_OPEN (-2L) |
| 30 | #define OLEIVERB_HIDE (-3L) |
| 31 | #define OLEIVERB_UIACTIVATE (-4L) |
| 32 | #define OLEIVERB_INPLACEACTIVATE (-5L) |
| 33 | #define OLEIVERB_DISCARDUNDOSTATE (-6L) |
| 34 | #define OLEIVERB_PROPERTIES (-7L) |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 35 | |
Francis Beaudet | 3f7ad7a | 1999-02-13 09:13:49 +0000 | [diff] [blame] | 36 | /* |
| 37 | * API declarations |
| 38 | */ |
| 39 | HRESULT WINAPI RegisterDragDrop16(HWND16,LPDROPTARGET); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 40 | HRESULT WINAPI RegisterDragDrop(HWND,LPDROPTARGET); |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 41 | HRESULT WINAPI RevokeDragDrop16(HWND16); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 42 | HRESULT WINAPI RevokeDragDrop(HWND); |
Paul Quinn | 40d9d3d | 1999-02-25 17:10:15 +0000 | [diff] [blame] | 43 | HRESULT WINAPI DoDragDrop16(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 44 | HRESULT WINAPI DoDragDrop(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); |
Noomen Hamza | ed494ec | 1999-03-23 13:48:56 +0000 | [diff] [blame] | 45 | HRESULT WINAPI OleLoadFromStream(IStream *pStm,REFIID iidInterface,void** ppvObj); |
| 46 | HRESULT WINAPI OleSaveToStream(IPersistStream *pPStm,IStream *pStm); |
| 47 | HOLEMENU WINAPI OleCreateMenuDescriptor(HMENU hmenuCombined,LPOLEMENUGROUPWIDTHS lpMenuWidths); |
Paul Quinn | 89b21b4 | 1999-03-14 13:47:00 +0000 | [diff] [blame] | 48 | HRESULT WINAPI OleDestroyMenuDescriptor(HOLEMENU hmenuDescriptor); |
Noomen Hamza | ed494ec | 1999-03-23 13:48:56 +0000 | [diff] [blame] | 49 | HRESULT WINAPI OleSetMenuDescriptor(HOLEMENU hmenuDescriptor,HWND hwndFrame,HWND hwndActiveObject,LPOLEINPLACEFRAME lpFrame,LPOLEINPLACEACTIVEOBJECT lpActiveObject); |
| 50 | |
| 51 | HRESULT WINAPI ReadClassStg(IStorage *pstg,CLSID *pclsid); |
| 52 | HRESULT WINAPI WriteClassStm(IStream *pStm,REFCLSID rclsid); |
Paul Quinn | aaa8306 | 1999-06-05 15:23:20 +0000 | [diff] [blame] | 53 | HRESULT WINAPI ReadClassStm(IStream *pStm,CLSID *pclsid); |
Francis Beaudet | 1921ef2 | 1999-02-20 16:05:50 +0000 | [diff] [blame] | 54 | |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 55 | |
| 56 | HRESULT WINAPI OleSave(LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad); |
Francis Beaudet | ebdea25 | 1999-05-02 09:27:08 +0000 | [diff] [blame] | 57 | HRESULT WINAPI OleRegGetUserType(REFCLSID clsid, |
| 58 | DWORD dwFormOfType, |
| 59 | LPOLESTR* pszUserType); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 60 | HRESULT WINAPI OleRegGetMiscStatus (REFCLSID clsid, DWORD dwAspect, DWORD* pdwStatus); |
Francis Beaudet | ebdea25 | 1999-05-02 09:27:08 +0000 | [diff] [blame] | 61 | HRESULT WINAPI OleRegEnumFormatEtc (REFCLSID clsid, |
| 62 | DWORD dwDirection, |
| 63 | LPENUMFORMATETC* ppenumFormatetc); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 64 | HRESULT WINAPI CreateStreamOnHGlobal (HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM* ppstm); |
| 65 | HRESULT WINAPI OleRegEnumVerbs (REFCLSID clsid, LPENUMOLEVERB* ppenum); |
| 66 | BOOL WINAPI OleIsRunning(LPOLEOBJECT pObject); |
| 67 | HRESULT WINAPI OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, |
| 68 | DWORD renderopt, LPFORMATETC pFormatEtc, |
| 69 | LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, |
| 70 | LPVOID* ppvObj); |
| 71 | HRESULT WINAPI OleSetContainedObject(LPUNKNOWN pUnknown, BOOL fContained); |
| 72 | HRESULT WINAPI OleQueryLinkFromData(IDataObject* pSrcDataObject); |
| 73 | HRESULT WINAPI OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject); |
| 74 | HRESULT WINAPI OleRun(LPUNKNOWN pUnknown); |
Noel Borthwick | 557ff41 | 1999-07-18 15:43:45 +0000 | [diff] [blame] | 75 | VOID WINAPI ReleaseStgMedium(LPSTGMEDIUM); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 76 | HRESULT WINAPI OleGetClipboard(IDataObject** ppDataObj); |
| 77 | HRESULT WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid, |
| 78 | DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, |
| 79 | LPSTORAGE pStg, LPVOID* ppvObj); |
| 80 | HRESULT WINAPI ReadFmtUserTypeStg(LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType); |
| 81 | HRESULT WINAPI OleLoad(LPSTORAGE pStg, REFIID riid, LPOLECLIENTSITE pClientSite, LPVOID* ppvObj); |
| 82 | HRESULT WINAPI GetHGlobalFromILockBytes(LPLOCKBYTES plkbyt, HGLOBAL* phglobal); |
| 83 | HRESULT WINAPI CreateILockBytesOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPLOCKBYTES* pplkbyt); |
| 84 | HRESULT WINAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER* ppDAHolder); |
| 85 | HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel); |
| 86 | HRESULT WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses); |
| 87 | HRESULT WINAPI OleCreateFromFile(REFCLSID rclsid, LPCOLESTR lpszFileName, REFIID riid, |
| 88 | DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj); |
| 89 | HRESULT WINAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc, |
| 90 | LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj); |
| 91 | HRESULT WINAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, |
| 92 | LPSTORAGE pStg, LPVOID* ppvObj); |
Juergen Schmied | 235776b | 1999-07-25 11:17:37 +0000 | [diff] [blame] | 93 | HRESULT WINAPI OleFlushClipboard(void); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 94 | HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert); |
Michael Veksler | 4405f3c | 1999-08-18 18:35:57 +0000 | [diff] [blame] | 95 | BOOL WINAPI IsAccelerator(HACCEL hAccel, int cAccelEntries, struct tagMSG* lpMsg, WORD* lpwCmd); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 96 | HRESULT WINAPI OleCreateLinkToFile(LPCOLESTR lpszFileName, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc, |
| 97 | LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj); |
| 98 | HRESULT WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat, UINT uiFlags); |
| 99 | HRESULT WINAPI WriteFmtUserTypeStg(LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType); |
Michael Veksler | 4405f3c | 1999-08-18 18:35:57 +0000 | [diff] [blame] | 100 | HRESULT WINAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEFRAMEINFO lpFrameInfo, struct tagMSG* lpmsg); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 101 | HRESULT WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, |
| 102 | LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj); |
Francis Beaudet | ebdea25 | 1999-05-02 09:27:08 +0000 | [diff] [blame] | 103 | HRESULT WINAPI OleCreateDefaultHandler(REFCLSID clsid, |
| 104 | LPUNKNOWN pUnkOuter, |
| 105 | REFIID riid, |
| 106 | LPVOID* ppvObj); |
| 107 | HRESULT WINAPI CreateOleAdviseHolder (LPOLEADVISEHOLDER *ppOAHolder); |
Juergen Schmied | 61ef511 | 2000-02-26 19:33:11 +0000 | [diff] [blame] | 108 | HRESULT WINAPI OleInitialize(LPVOID pvReserved); |
| 109 | void WINAPI OleUninitialize(void); |
Patrik Stridvall | 7e9913f | 2000-03-08 18:25:22 +0000 | [diff] [blame] | 110 | BOOL WINAPI IsValidInterface(LPUNKNOWN punk); |
Alexandre Julliard | f80b2ab | 1999-03-28 13:15:40 +0000 | [diff] [blame] | 111 | |
Pierre Mageau | 89aa861 | 2000-02-25 20:58:25 +0000 | [diff] [blame] | 112 | /* |
| 113 | * OLE version conversion declarations |
| 114 | */ |
| 115 | |
| 116 | |
| 117 | typedef struct _OLESTREAM* LPOLESTREAM; |
| 118 | typedef struct _OLESTREAMVTBL { |
Francois Gouget | ae41e8c | 2000-06-11 20:07:58 +0000 | [diff] [blame] | 119 | DWORD CALLBACK (*Get)(LPOLESTREAM,LPSTR,DWORD); |
| 120 | DWORD CALLBACK (*Put)(LPOLESTREAM,LPSTR,DWORD); |
Pierre Mageau | 89aa861 | 2000-02-25 20:58:25 +0000 | [diff] [blame] | 121 | } OLESTREAMVTBL; |
| 122 | typedef OLESTREAMVTBL* LPOLESTREAMVTBL; |
| 123 | typedef struct _OLESTREAM { |
| 124 | LPOLESTREAMVTBL lpstbl; |
| 125 | } OLESTREAM; |
| 126 | |
| 127 | HRESULT WINAPI OleConvertOLESTREAMToIStorage( LPOLESTREAM lpolestream, LPSTORAGE pstg, const DVTARGETDEVICE* ptd); |
| 128 | HRESULT WINAPI OleConvertIStorageToOLESTREAM( LPSTORAGE pstg, LPOLESTREAM lpolestream); |
| 129 | |
Patrik Stridvall | 14da7b1 | 1999-06-12 10:53:06 +0000 | [diff] [blame] | 130 | #ifdef __cplusplus |
| 131 | } /* extern "C" */ |
| 132 | #endif /* defined(__cplusplus) */ |
| 133 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 134 | #endif /* __WINE_OLE2_H */ |
Francis Beaudet | 1921ef2 | 1999-02-20 16:05:50 +0000 | [diff] [blame] | 135 | |