source: trunk/include/win/wine/obj_oleobj.h

Last change on this file was 21493, checked in by dmik, 15 years ago

Fixed broken build after r21492 by sorting out a huuuuge wagon of duplicates, wrong include order and other dirty mess.

File size: 8.2 KB
Line 
1/* $Id: obj_oleobj.h,v 1.8 2000-12-24 11:23:57 sandervl Exp $ */
2/*
3 * Defines IOleObject COM and other oleidl.h interfaces
4 *
5 * Depends on 'obj_base.h'.
6 */
7
8#ifndef __WINE_WINE_OBJ_OLEOBJ_H
9#define __WINE_WINE_OBJ_OLEOBJ_H
10
11
12#include "winbase.h"
13#include "winuser.h"
14#include "wine/obj_base.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* defined(__cplusplus) */
19
20/*****************************************************************************
21 * Declare the structures
22 */
23typedef struct tagOBJECTDESCRIPTOR
24{
25 ULONG cbSize;
26 CLSID clsid;
27 DWORD dwDrawAspect;
28 SIZEL sizel;
29 POINTL pointl;
30 DWORD dwStatus;
31 DWORD dwFullUserTypeName;
32 DWORD dwSrcOfCopy;
33} OBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR;
34
35typedef enum tagOLEMISC
36{
37 OLEMISC_RECOMPOSEONRESIZE = 0x1,
38 OLEMISC_ONLYICONIC = 0x2,
39 OLEMISC_INSERTNOTREPLACE = 0x4,
40 OLEMISC_STATIC = 0x8,
41 OLEMISC_CANTLINKINSIDE = 0x10,
42 OLEMISC_CANLINKBYOLE1 = 0x20,
43 OLEMISC_ISLINKOBJECT = 0x40,
44 OLEMISC_INSIDEOUT = 0x80,
45 OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
46 OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
47 OLEMISC_INVISIBLEATRUNTIME = 0x400,
48 OLEMISC_ALWAYSRUN = 0x800,
49 OLEMISC_ACTSLIKEBUTTON = 0x1000,
50 OLEMISC_ACTSLIKELABEL = 0x2000,
51 OLEMISC_NOUIACTIVATE = 0x4000,
52 OLEMISC_ALIGNABLE = 0x8000,
53 OLEMISC_SIMPLEFRAME = 0x10000,
54 OLEMISC_SETCLIENTSITEFIRST = 0x20000,
55 OLEMISC_IMEMODE = 0x40000,
56 OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
57 OLEMISC_WANTSTOMENUMERGE = 0x100000,
58 OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
59} OLEMISC;
60
61typedef enum tagOLEVERBATTRIB
62{
63 OLEVERBATTRIB_NEVERDIRTIES = 1,
64 OLEVERBATTRIB_ONCONTAINERMENU = 2
65} OLEVERBATTRIB;
66
67/*****************************************************************************
68 * Predeclare the interfaces
69 */
70DEFINE_OLEGUID(IID_IOleObject, 0x00000112L, 0, 0);
71#if !defined(__WINE_OLE_H)
72typedef struct IOleObject IOleObject, *LPOLEOBJECT;
73#else
74typedef struct IOleObject IOleObject;
75#endif
76
77DEFINE_OLEGUID(IID_IOleAdviseHolder, 0x00000111L, 0, 0);
78typedef struct IOleAdviseHolder IOleAdviseHolder, *LPOLEADVISEHOLDER;
79
80DEFINE_OLEGUID(IID_IEnumOLEVERB, 0x00000104L, 0, 0);
81typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB;
82
83/*****************************************************************************
84 * IOleObject interface
85 */
86#define ICOM_INTERFACE IOleObject
87#define IOleObject_METHODS \
88 ICOM_METHOD1(HRESULT,SetClientSite, IOleClientSite*,pClientSite) \
89 ICOM_METHOD1(HRESULT,GetClientSite, IOleClientSite**,ppClientSite) \
90 ICOM_METHOD2(HRESULT,SetHostNames, LPCOLESTR,szContainerApp, LPCOLESTR,szContainerObj) \
91 ICOM_METHOD1(HRESULT,Close, DWORD,dwSaveOption) \
92 ICOM_METHOD2(HRESULT,SetMoniker, DWORD,dwWhichMoniker, IMoniker*,pmk) \
93 ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk) \
94 ICOM_METHOD3(HRESULT,InitFromData, IDataObject*,pDataObject, BOOL,fCreation, DWORD,dwReserved) \
95 ICOM_METHOD2(HRESULT,GetClipboardData, DWORD,dwReserved, IDataObject**,ppDataObject) \
96 ICOM_METHOD6(HRESULT,DoVerb, LONG,iVerb, LPMSG,lpmsg, IOleClientSite*,pActiveSite, LONG,lindex, HWND,hwndParent, LPCRECT,lprcPosRect) \
97 ICOM_METHOD1(HRESULT,EnumVerbs, IEnumOLEVERB**,ppEnumOleVerb) \
98 ICOM_METHOD (HRESULT,Update) \
99 ICOM_METHOD (HRESULT,IsUpToDate) \
100 ICOM_METHOD1(HRESULT,GetUserClassID, CLSID*,pClsid) \
101 ICOM_METHOD2(HRESULT,GetUserType, DWORD,dwFormOfType, LPOLESTR*,pszUserType) \
102 ICOM_METHOD2(HRESULT,SetExtent, DWORD,dwDrawAspect, SIZEL*,psizel) \
103 ICOM_METHOD2(HRESULT,GetExtent, DWORD,dwDrawAspect, SIZEL*,psizel) \
104 ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvSink, DWORD*,pdwConnection) \
105 ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \
106 ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \
107 ICOM_METHOD2(HRESULT,GetMiscStatus, DWORD,dwAspect, DWORD*,pdwStatus) \
108 ICOM_METHOD1(HRESULT,SetColorScheme, LOGPALETTE*,pLogpal)
109#define IOleObject_IMETHODS \
110 IUnknown_IMETHODS \
111 IOleObject_METHODS
112ICOM_DEFINE(IOleObject,IUnknown)
113#undef ICOM_INTERFACE
114
115#ifdef ICOM_CINTERFACE
116/*** IUnknwon methods ***/
117#define IOleObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
118#define IOleObject_AddRef(p) ICOM_CALL (AddRef,p)
119#define IOleObject_Release(p) ICOM_CALL (Release,p)
120/*** IOleObject methods ***/
121#define IOleObject_SetClientSite(p,a) ICOM_CALL1(SetClientSite,p,a)
122#define IOleObject_GetClientSite(p,a,b) ICOM_CALL1(GetClientSite,p,a)
123#define IOleObject_SetHostNames(p,a,b) ICOM_CALL2(SetHostNames,p,a,b)
124#define IOleObject_Close(p,a,b) ICOM_CALL1(Close,p,a)
125#define IOleObject_SetMoniker(p,a,b) ICOM_CALL2(SetMoniker,p,a,b)
126#define IOleObject_GetMoniker(p,a,b) ICOM_CALL3(GetMoniker,p,a,b,c)
127#define IOleObject_InitFromData(p,a,b) ICOM_CALL3(InitFromData,p,a,b,c)
128#define IOleObject_GetClipboardData(p,a,b) ICOM_CALL2(GetClipboardData,p,a,b)
129#define IOleObject_DoVerb(p,a,b) ICOM_CALL6(DoVerb,p,a,b,c,d,e,f)
130#define IOleObject_EnumVerbs(p,a,b) ICOM_CALL1(EnumVerbs,p,a)
131#define IOleObject_Update(p,a,b) ICOM_CALL (Update,p)
132#define IOleObject_IsUpToDate(p,a,b) ICOM_CALL (IsUpToDate,p)
133#define IOleObject_GetUserClassID(p,a,b) ICOM_CALL1(GetUserClassID,p,a)
134#define IOleObject_GetUserType(p,a,b) ICOM_CALL2(GetUserType,p,a,b)
135#define IOleObject_SetExtent(p,a,b) ICOM_CALL2(SetExtent,p,a,b)
136#define IOleObject_GetExtent(p,a,b) ICOM_CALL2(GetExtent,p,a,b)
137#define IOleObject_Advise(p,a,b) ICOM_CALL2(Advise,p,a,b)
138#define IOleObject_Unadvise(p,a,b) ICOM_CALL1(Unadvise,p,a)
139#define IOleObject_EnumAdvise(p,a,b) ICOM_CALL1(EnumAdvise,p,a)
140#define IOleObject_GetMiscStatus(p,a,b) ICOM_CALL2(GetMiscStatus,p,a,b)
141#define IOleObject_SetColorScheme(p,a,b) ICOM_CALL1(SetColorScheme,p,a)
142#endif
143
144
145/*****************************************************************************
146 * IOleAdviseHolder interface
147 */
148#define ICOM_INTERFACE IOleAdviseHolder
149#define IOleAdviseHolder_METHODS \
150 ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvise, DWORD*,pdwConnection) \
151 ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \
152 ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \
153 ICOM_METHOD1(HRESULT,SendOnRename, IMoniker*,pmk) \
154 ICOM_METHOD (HRESULT,SendOnSave) \
155 ICOM_METHOD (HRESULT,SendOnClose)
156#define IOleAdviseHolder_IMETHODS \
157 IUnknown_IMETHODS \
158 IOleAdviseHolder_METHODS
159ICOM_DEFINE(IOleAdviseHolder,IUnknown)
160#undef ICOM_INTERFACE
161
162#ifdef ICOM_CINTERFACE
163/*** IUnknwon methods ***/
164#define IOleAdviseHolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
165#define IOleAdviseHolder_AddRef(p) ICOM_CALL (AddRef,p)
166#define IOleAdviseHolder_Release(p) ICOM_CALL (Release,p)
167/*** IOleAdviseHolder methods ***/
168#define IOleAdviseHolder_Advise(p,a,b) ICOM_CALL2(Advise,p,a,b)
169#define IOleAdviseHolder_Unadvise(p,a) ICOM_CALL1(Unadvise,p,a)
170#define IOleAdviseHolder_EnumAdvise(p,a) ICOM_CALL1(EnumAdvise,p,a)
171#define IOleAdviseHolder_SendOnRename(p,a) ICOM_CALL1(SendOnRename,p,a)
172#define IOleAdviseHolder_SendOnSave(p) ICOM_CALL (SendOnSave,p)
173#define IOleAdviseHolder_SendOnClose(p) ICOM_CALL (SendOnClose,p)
174#endif
175
176
177/*****************************************************************************
178 * IEnumOLEVERB interface
179 */
180#define ICOM_INTERFACE IEnumOLEVERB
181#define IEnumOLEVERB_METHODS \
182 ICOM_METHOD3(HRESULT,Next, ULONG,celt, LPOLEVERB,rgelt, ULONG*,pceltFetched) \
183 ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
184 ICOM_METHOD (HRESULT,Reset) \
185 ICOM_METHOD1(HRESULT,Clone, IEnumOLEVERB**,ppenum)
186#define IEnumOLEVERB_IMETHODS \
187 IUnknown_IMETHODS \
188 IEnumOLEVERB_METHODS
189ICOM_DEFINE(IEnumOLEVERB,IUnknown)
190#undef ICOM_INTERFACE
191
192#ifdef ICOM_CINTERFACE
193/*** IUnknown methods ***/
194#define IEnumOLEVERB_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
195#define IEnumOLEVERB_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
196#define IEnumOLEVERB_Release(p) ICOM_ICALL (IUnknown,Release,p)
197/*** IEnumOLEVERB methods ***/
198#define IEnumOLEVERB_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
199#define IEnumOLEVERB_Skip(p,a) ICOM_CALL1(Skip,p,a)
200#define IEnumOLEVERB_Reset(p,a) ICOM_CALL (Reset,p)
201#define IEnumOLEVERB_Clone(p,a) ICOM_CALL1(Clone,p,a)
202#endif
203
204#ifdef __cplusplus
205} /* extern "C" */
206#endif /* defined(__cplusplus) */
207
208#endif /* __WINE_WINE_OBJ_OLEOBJ_H */
209
Note: See TracBrowser for help on using the repository browser.