2 * Declarations for OLE2
4 * Copyright (C) the Wine project
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 #define __WINE_INCLUDE_OLEIDL
29 #undef __WINE_INCLUDE_OLEIDL
37 #endif /* defined(__cplusplus) */
39 #define E_DRAW VIEW_E_DRAW
40 #define DATA_E_FORMATETC DV_E_FORMATETC
42 #define OLEIVERB_PRIMARY (0L)
43 #define OLEIVERB_SHOW (-1L)
44 #define OLEIVERB_OPEN (-2L)
45 #define OLEIVERB_HIDE (-3L)
46 #define OLEIVERB_UIACTIVATE (-4L)
47 #define OLEIVERB_INPLACEACTIVATE (-5L)
48 #define OLEIVERB_DISCARDUNDOSTATE (-6L)
49 #define OLEIVERB_PROPERTIES (-7L)
54 HRESULT WINAPI
RegisterDragDrop(HWND
,LPDROPTARGET
);
55 HRESULT WINAPI
RevokeDragDrop(HWND
);
56 HRESULT WINAPI
DoDragDrop(LPDATAOBJECT
,LPDROPSOURCE
,DWORD
,DWORD
*);
57 HRESULT WINAPI
OleLoadFromStream(IStream
*pStm
,REFIID iidInterface
,void** ppvObj
);
58 HRESULT WINAPI
OleSaveToStream(IPersistStream
*pPStm
,IStream
*pStm
);
59 HOLEMENU WINAPI
OleCreateMenuDescriptor(HMENU hmenuCombined
,LPOLEMENUGROUPWIDTHS lpMenuWidths
);
60 HRESULT WINAPI
OleDestroyMenuDescriptor(HOLEMENU hmenuDescriptor
);
61 HRESULT WINAPI
OleSetMenuDescriptor(HOLEMENU hmenuDescriptor
,HWND hwndFrame
,HWND hwndActiveObject
,LPOLEINPLACEFRAME lpFrame
,LPOLEINPLACEACTIVEOBJECT lpActiveObject
);
63 HRESULT WINAPI
ReadClassStg(IStorage
*pstg
,CLSID
*pclsid
);
64 HRESULT WINAPI
WriteClassStm(IStream
*pStm
,REFCLSID rclsid
);
65 HRESULT WINAPI
ReadClassStm(IStream
*pStm
,CLSID
*pclsid
);
68 HRESULT WINAPI
OleSave(LPPERSISTSTORAGE pPS
, LPSTORAGE pStg
, BOOL fSameAsLoad
);
69 HRESULT WINAPI
OleRegGetUserType(REFCLSID clsid
,
71 LPOLESTR
* pszUserType
);
72 HRESULT WINAPI
OleRegGetMiscStatus (REFCLSID clsid
, DWORD dwAspect
, DWORD
* pdwStatus
);
73 HRESULT WINAPI
OleRegEnumFormatEtc (REFCLSID clsid
,
75 LPENUMFORMATETC
* ppenumFormatetc
);
76 HRESULT WINAPI
CreateStreamOnHGlobal (HGLOBAL hGlobal
, BOOL fDeleteOnRelease
, LPSTREAM
* ppstm
);
77 HRESULT WINAPI
GetHGlobalFromStream(LPSTREAM pstm
, HGLOBAL
* phglobal
);
78 HRESULT WINAPI
OleRegEnumVerbs (REFCLSID clsid
, LPENUMOLEVERB
* ppenum
);
79 BOOL WINAPI
OleIsRunning(LPOLEOBJECT pObject
);
80 HRESULT WINAPI
OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj
, REFIID riid
,
81 DWORD renderopt
, LPFORMATETC pFormatEtc
,
82 LPOLECLIENTSITE pClientSite
, LPSTORAGE pStg
,
84 HRESULT WINAPI
OleSetContainedObject(LPUNKNOWN pUnknown
, BOOL fContained
);
85 HRESULT WINAPI
OleQueryLinkFromData(IDataObject
* pSrcDataObject
);
86 HRESULT WINAPI
OleQueryCreateFromData(LPDATAOBJECT pSrcDataObject
);
87 HRESULT WINAPI
OleRun(LPUNKNOWN pUnknown
);
88 VOID WINAPI
ReleaseStgMedium(LPSTGMEDIUM
);
89 HRESULT WINAPI
OleGetClipboard(IDataObject
** ppDataObj
);
90 HRESULT WINAPI
OleIsCurrentClipboard(LPDATAOBJECT
);
91 HRESULT WINAPI
OleSetClipboard(LPDATAOBJECT
);
92 HRESULT WINAPI
OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj
, REFIID iid
,
93 DWORD renderopt
, LPFORMATETC pFormatEtc
, LPOLECLIENTSITE pClientSite
,
94 LPSTORAGE pStg
, LPVOID
* ppvObj
);
95 HRESULT WINAPI
ReadFmtUserTypeStg(LPSTORAGE pstg
, CLIPFORMAT
* pcf
, LPOLESTR
* lplpszUserType
);
96 HRESULT WINAPI
OleLoad(LPSTORAGE pStg
, REFIID riid
, LPOLECLIENTSITE pClientSite
, LPVOID
* ppvObj
);
97 HRESULT WINAPI
GetHGlobalFromILockBytes(LPLOCKBYTES plkbyt
, HGLOBAL
* phglobal
);
98 HRESULT WINAPI
CreateILockBytesOnHGlobal(HGLOBAL hGlobal
, BOOL fDeleteOnRelease
, LPLOCKBYTES
* pplkbyt
);
99 HRESULT WINAPI
CreateDataAdviseHolder(LPDATAADVISEHOLDER
* ppDAHolder
);
100 HGLOBAL WINAPI
OleGetIconOfClass(REFCLSID rclsid
, LPOLESTR lpszLabel
, BOOL fUseTypeAsLabel
);
101 HRESULT WINAPI
OleLockRunning(LPUNKNOWN pUnknown
, BOOL fLock
, BOOL fLastUnlockCloses
);
102 HRESULT WINAPI
OleCreateFromFile(REFCLSID rclsid
, LPCOLESTR lpszFileName
, REFIID riid
,
103 DWORD renderopt
, LPFORMATETC lpFormatEtc
, LPOLECLIENTSITE pClientSite
, LPSTORAGE pStg
, LPVOID
* ppvObj
);
104 HRESULT WINAPI
OleCreateLink(LPMONIKER pmkLinkSrc
, REFIID riid
, DWORD renderopt
, LPFORMATETC lpFormatEtc
,
105 LPOLECLIENTSITE pClientSite
, LPSTORAGE pStg
, LPVOID
* ppvObj
);
106 HRESULT WINAPI
OleCreate(REFCLSID rclsid
, REFIID riid
, DWORD renderopt
, LPFORMATETC pFormatEtc
, LPOLECLIENTSITE pClientSite
,
107 LPSTORAGE pStg
, LPVOID
* ppvObj
);
108 HRESULT WINAPI
OleFlushClipboard(void);
109 HRESULT WINAPI
SetConvertStg(LPSTORAGE pStg
, BOOL fConvert
);
110 BOOL WINAPI
IsAccelerator(HACCEL hAccel
, int cAccelEntries
, struct tagMSG
* lpMsg
, WORD
* lpwCmd
);
111 HRESULT WINAPI
OleCreateLinkToFile(LPCOLESTR lpszFileName
, REFIID riid
, DWORD renderopt
, LPFORMATETC lpFormatEtc
,
112 LPOLECLIENTSITE pClientSite
, LPSTORAGE pStg
, LPVOID
* ppvObj
);
113 HRESULT WINAPI
OleDuplicateData(HANDLE hSrc
, CLIPFORMAT cfFormat
, UINT uiFlags
);
114 HRESULT WINAPI
WriteFmtUserTypeStg(LPSTORAGE pstg
, CLIPFORMAT cf
, LPOLESTR lpszUserType
);
115 HRESULT WINAPI
OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame
, LPOLEINPLACEFRAMEINFO lpFrameInfo
, struct tagMSG
* lpmsg
);
116 HRESULT WINAPI
OleCreateFromData(LPDATAOBJECT pSrcDataObj
, REFIID riid
, DWORD renderopt
, LPFORMATETC pFormatEtc
,
117 LPOLECLIENTSITE pClientSite
, LPSTORAGE pStg
, LPVOID
* ppvObj
);
118 HRESULT WINAPI
OleCreateDefaultHandler(REFCLSID clsid
,
122 HRESULT WINAPI
CreateOleAdviseHolder (LPOLEADVISEHOLDER
*ppOAHolder
);
123 HRESULT WINAPI
OleInitialize(LPVOID pvReserved
);
124 void WINAPI
OleUninitialize(void);
125 BOOL WINAPI
IsValidInterface(LPUNKNOWN punk
);
128 * OLE version conversion declarations
132 typedef struct _OLESTREAM
* LPOLESTREAM
;
133 typedef struct _OLESTREAMVTBL
{
134 DWORD (CALLBACK
*Get
)(LPOLESTREAM
,LPSTR
,DWORD
);
135 DWORD (CALLBACK
*Put
)(LPOLESTREAM
,LPSTR
,DWORD
);
137 typedef OLESTREAMVTBL
* LPOLESTREAMVTBL
;
138 typedef struct _OLESTREAM
{
139 LPOLESTREAMVTBL lpstbl
;
142 HRESULT WINAPI
OleConvertOLESTREAMToIStorage( LPOLESTREAM lpolestream
, LPSTORAGE pstg
, const DVTARGETDEVICE
* ptd
);
143 HRESULT WINAPI
OleConvertIStorageToOLESTREAM( LPSTORAGE pstg
, LPOLESTREAM lpolestream
);
145 HRESULT WINAPI
OleGetAutoConvert( REFCLSID clsidOld
, LPCLSID pClsidNew
);
146 HRESULT WINAPI
OleSetAutoConvert( REFCLSID clsidOld
, REFCLSID clsidNew
);
150 #endif /* defined(__cplusplus) */
152 #endif /* __WINE_OLE2_H */