Added wine_dbg_sprintf function that allocates a temporary buffer in
[wine] / include / wine / obj_inplace.h
1 /*
2  * Defines the COM interfaces and APIs related to structured data storage.
3  *
4  * Depends on 'obj_base.h'.
5  *
6  * Copyright (C) 1999 Paul Quinn
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  */
22
23 #ifndef __WINE_WINE_OBJ_INPLACE_H
24 #define __WINE_WINE_OBJ_INPLACE_H
25
26 struct tagMSG;
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif /* defined(__cplusplus) */
31
32 /*****************************************************************************
33  * Predeclare the structures
34  */
35 typedef struct  tagOleMenuGroupWidths
36 {
37         LONG width[ 6 ];
38 } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS;
39
40
41 typedef struct tagOleInPlaceFrameInfo
42 {
43         UINT cb;
44         BOOL fMDIApp;
45         HWND hwndFrame;
46         HACCEL haccel;
47         UINT cAccelEntries;
48 } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO;
49
50 typedef enum tagOLEGETMONIKER
51 {
52         OLEGETMONIKER_ONLYIFTHERE = 1,
53         OLEGETMONIKER_FORCEASSIGN = 2,
54         OLEGETMONIKER_UNASSIGN = 3,
55         OLEGETMONIKER_TEMPFORUSER = 4
56 } OLEGETMONIKER;
57
58 typedef enum tagOLERENDER
59 {
60         OLERENDER_NONE = 0,
61         OLERENDER_DRAW = 1,
62         OLERENDER_FORMAT = 2,
63         OLERENDER_ASIS = 3
64 } OLERENDER;
65
66 typedef enum tagUSERCLASSTYPE
67 {
68         USERCLASSTYPE_FULL = 1,
69         USERCLASSTYPE_SHORT = 2,
70         USERCLASSTYPE_APPNAME = 3
71 } USERCLASSTYPE;
72
73 typedef enum tagOLECLOSE
74 {
75         OLECLOSE_SAVEIFDIRTY = 1,
76         OLECLOSE_NOSAVE = 2,
77         OLECLOSE_PROMPTSAVE = 3
78 } OLECLOSE;
79
80 typedef enum tagOLEUPDATE
81 {
82         OLEUPDATE_ALWAYS = 1,
83         OLEUPDATE_ONCALL = 3
84 } OLEUPDATE, *LPOLEUPDATE;
85
86 typedef struct tagOLEVERB
87 {
88         LONG lVerb;
89         LPOLESTR lpszVerbName;
90         DWORD fuFlags;
91         DWORD grfAttribs;
92 } OLEVERB, *LPOLEVERB;
93
94 typedef enum tagOLELINKBIND
95 {
96         OLELINKBIND_EVENIFCLASSDIFF = 1
97 } OLELINKBIND;
98
99 typedef enum tagOLEWHICHMK
100 {
101         OLEWHICHMK_CONTAINER = 1,
102         OLEWHICHMK_OBJREL = 2,
103         OLEWHICHMK_OBJFULL = 3
104 } OLEWHICHMK;
105
106 typedef enum tagBINDSPEED
107 {
108         BINDSPEED_INDEFINITE = 1,
109         BINDSPEED_MODERATE = 2,
110         BINDSPEED_IMMEDIATE = 3
111 } BINDSPEED;
112
113 typedef enum tagOLECONTF
114 {
115         OLECONTF_EMBEDDINGS = 1,
116         OLECONTF_LINKS = 2,
117         OLECONTF_OTHERS = 4,
118         OLECONTF_OLNYUSER = 8,
119         OLECONTF_ONLYIFRUNNING = 16
120 } OLECONTF;
121
122 typedef HGLOBAL HOLEMENU;
123 typedef LPRECT LPBORDERWIDTHS;
124 typedef LPCRECT LPCBORDERWIDTHS;
125
126
127 /*****************************************************************************
128  * Predeclare the interfaces
129  */
130 DEFINE_OLEGUID(IID_IOleWindow,  0x00000114L, 0, 0);
131 typedef struct IOleWindow IOleWindow, *LPOLEWINDOW;
132
133 DEFINE_OLEGUID(IID_IOleInPlaceObject,  0x00000113L, 0, 0);
134 typedef struct IOleInPlaceObject IOleInPlaceObject, *LPOLEINPLACEOBJECT;
135
136 DEFINE_OLEGUID(IID_IOleInPlaceActiveObject,  0x00000117L, 0, 0);
137 typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject, *LPOLEINPLACEACTIVEOBJECT;
138
139 DEFINE_OLEGUID(IID_IOleInPlaceUIWindow,  0x00000115L, 0, 0);
140 typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow, *LPOLEINPLACEUIWINDOW;
141
142 DEFINE_OLEGUID(IID_IOleInPlaceFrame,  0x00000116L, 0, 0);
143 typedef struct IOleInPlaceFrame IOleInPlaceFrame, *LPOLEINPLACEFRAME;
144
145 DEFINE_OLEGUID(IID_IOleInPlaceSite,  0x00000119L, 0, 0);
146 typedef struct IOleInPlaceSite IOleInPlaceSite, *LPOLEINPLACESITE;
147
148 DEFINE_OLEGUID(IID_IOleClientSite,  0x00000118L, 0, 0);
149 typedef struct IOleClientSite IOleClientSite, *LPOLECLIENTSITE;
150
151 DEFINE_OLEGUID(IID_IOleContainer,  0x0000011bL, 0, 0);
152 typedef struct IOleContainer IOleContainer, *LPOLECONTAINER;
153
154 DEFINE_OLEGUID(IID_IParseDisplayName,  0x0000011aL, 0, 0);
155 typedef struct IParseDisplayName IParseDisplayName, *LPPARSEDISPLAYNAME;
156
157 DEFINE_OLEGUID(IID_IOleItemContainer,  0x0000011cL, 0, 0);
158 typedef struct IOleItemContainer IOleItemContainer, *LPOLEITEMCONTAINER;
159
160 DEFINE_OLEGUID(IID_IOleLink,  0x0000011dL, 0, 0);
161 typedef struct IOleLink IOleLink, *LPOLELINK;
162
163 /*****************************************************************************
164  * IOleWindow interface
165  */
166 #define ICOM_INTERFACE IOleWindow
167 #define IOleWindow_METHODS \
168         ICOM_METHOD1(HRESULT,GetWindow, HWND*,phwnd) \
169         ICOM_METHOD1(HRESULT,ContextSensitiveHelp, BOOL,fEnterMode)
170 #define IOleWindow_IMETHODS \
171         IUnknown_IMETHODS \
172         IOleWindow_METHODS
173 ICOM_DEFINE(IOleWindow,IUnknown)
174 #undef ICOM_INTERFACE
175
176 /*** IUnknown methods ***/
177 #define IOleWindow_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
178 #define IOleWindow_AddRef(p)                  ICOM_CALL (AddRef,p)
179 #define IOleWindow_Release(p)                 ICOM_CALL (Release,p)
180 /*** IOleWindow methods ***/
181 #define IOleWindow_GetWindow(p,a)             ICOM_CALL1(GetWindow,p,a)
182 #define IOleWindow_ContextSensitiveHelp(p,a)  ICOM_CALL1(ContextSensitiveHelp,p,a)
183
184
185 /*****************************************************************************
186  * IOleInPlaceObject interface
187  */
188 #define ICOM_INTERFACE IOleInPlaceObject
189 #define IOleInPlaceObject_METHODS \
190         ICOM_METHOD (HRESULT,InPlaceDeactivate) \
191         ICOM_METHOD (HRESULT,UIDeactivate) \
192         ICOM_METHOD2(HRESULT,SetObjectRects, LPCRECT,lprcPosRect, LPCRECT,lprcClipRect) \
193         ICOM_METHOD (HRESULT,ReactivateAndUndo)
194 #define IOleInPlaceObject_IMETHODS \
195         IOleWindow_IMETHODS \
196         IOleInPlaceObject_METHODS
197 ICOM_DEFINE(IOleInPlaceObject,IOleWindow)
198 #undef ICOM_INTERFACE
199
200 /*** IUnknown methods ***/
201 #define IOleInPlaceObject_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
202 #define IOleInPlaceObject_AddRef(p)                  ICOM_CALL (AddRef,p)
203 #define IOleInPlaceObject_Release(p)                 ICOM_CALL (Release,p)
204 /*** IOleWindow methods ***/
205 #define IOleInPlaceObject_GetWindow(p,a)             ICOM_CALL1(GetWindow,p,a)
206 #define IOleInPlaceObject_ContextSensitiveHelp(p,a)  ICOM_CALL1(ContextSensitiveHelp,p,a)
207 /*** IOleInPlaceObject methods ***/
208 #define IOleInPlaceObject_InPlaceDeactivate(p)       ICOM_CALL (InPlaceDeactivate,p)
209 #define IOleInPlaceObject_UIDeactivate(p)            ICOM_CALL (UIDeactivate,p)
210 #define IOleInPlaceObject_SetObjectRects(p,a,b)      ICOM_CALL2(SetObjectRects,p,a,b)
211 #define IOleInPlaceObject_ReactivateAndUndo(p)       ICOM_CALL (ReactivateAndUndo,p)
212
213 /*****************************************************************************
214  * IOleInPlaceActiveObject interface
215  */
216 #define ICOM_INTERFACE IOleInPlaceActiveObject
217 #define IOleInPlaceActiveObject_METHODS \
218         ICOM_METHOD1(HRESULT,TranslateAccelerator, struct tagMSG*,lpmsg) \
219         ICOM_METHOD1(HRESULT,OnFrameWindowActivate, BOOL,fActivate) \
220         ICOM_METHOD1(HRESULT,OnDocWindowActivate, BOOL,fActivate) \
221         ICOM_METHOD3(HRESULT,ResizeBorder, LPCRECT,prcBorder, IOleInPlaceUIWindow*,pUIWindow, BOOL,fWindowFrame) \
222         ICOM_METHOD1(HRESULT,EnableModeless, BOOL,fEnable)
223 #define IOleInPlaceActiveObject_IMETHODS \
224         IOleWindow_IMETHODS \
225         IOleInPlaceActiveObject_METHODS
226 ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow)
227 #undef ICOM_INTERFACE
228
229 /*** IUnknown methods ***/
230 #define IOleInPlaceActiveObject_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
231 #define IOleInPlaceActiveObject_AddRef(p)                  ICOM_CALL (AddRef,p)
232 #define IOleInPlaceActiveObject_Release(p)                 ICOM_CALL (Release,p)
233 /*** IOleWindow methods ***/
234 #define IOleInPlaceActiveObject_GetWindow(p,a)             ICOM_CALL1(GetWindow,p,a)
235 #define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a)  ICOM_CALL1(ContextSensitiveHelp,p,a)
236 /*** IOleInPlaceActiveObject methods ***/
237 #define IOleInPlaceActiveObject_TranslateAccelerator(p,a)  ICOM_CALL1(TranslateAccelerator,p,a)
238 #define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) ICOM_CALL1(OnFrameWindowActivate,p,a)
239 #define IOleInPlaceActiveObject_OnDocWindowActivate(p,a)   ICOM_CALL1(OnDocWindowActivate,p,a)
240 #define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c)      ICOM_CALL3(ResizeBorder,p,a,b,c)
241 #define IOleInPlaceActiveObject_EnableModeless(p,a)        ICOM_CALL1(EnableModeless,p,a)
242
243 /*****************************************************************************
244  * IOleInPlaceUIWindow interface
245  */
246 #define ICOM_INTERFACE IOleInPlaceUIWindow
247 #define IOleInPlaceUIWindow_METHODS \
248         ICOM_METHOD1(HRESULT,GetBorder, LPRECT,lprectBorder) \
249         ICOM_METHOD1(HRESULT,RequestBorderSpace, LPCBORDERWIDTHS,pborderwidths) \
250         ICOM_METHOD1(HRESULT,SetBorderSpace, LPCBORDERWIDTHS,pborderwidths) \
251         ICOM_METHOD2(HRESULT,SetActiveObject, IOleInPlaceActiveObject*,pActiveObject, LPCOLESTR,pszObjName)
252 #define IOleInPlaceUIWindow_IMETHODS \
253         IOleWindow_IMETHODS \
254         IOleInPlaceUIWindow_METHODS
255 ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
256 #undef ICOM_INTERFACE
257
258 /*** IUnknown methods ***/
259 #define IOleInPlaceUIWindow_QueryInterface(p,a,b)     ICOM_CALL2(QueryInterface,p,a,b)
260 #define IOleInPlaceUIWindow_AddRef(p)                 ICOM_CALL (AddRef,p)
261 #define IOleInPlaceUIWindow_Release(p)                ICOM_CALL (Release,p)
262 /*** IOleWindow methods ***/
263 #define IOleInPlaceUIWindow_GetWindow(p,a)            ICOM_CALL1(GetWindow,p,a)
264 #define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a)
265 /*** IOleInPlaceUIWindow methods ***/
266 #define IOleInPlaceUIWindow_GetBorder(p,a)            ICOM_CALL1(GetBorder,p,a)
267 #define IOleInPlaceUIWindow_RequestBorderSpace(p,a)   ICOM_CALL1(RequestBorderSpace,p,a)
268 #define IOleInPlaceUIWindow_SetBorderSpace(p,a)       ICOM_CALL1(SetBorderSpace,p,a)
269 #define IOleInPlaceUIWindow_SetActiveObject(p,a,b)    ICOM_CALL2(SetActiveObject,p,a,b)
270
271
272 /*****************************************************************************
273  * IOleInPlaceFrame interface
274  */
275 #define ICOM_INTERFACE IOleInPlaceFrame
276 #define IOleInPlaceFrame_METHODS \
277         ICOM_METHOD2 (HRESULT,InsertMenus, HMENU,hemnuShared, LPOLEMENUGROUPWIDTHS,lpMenuWidths) \
278         ICOM_METHOD3 (HRESULT,SetMenu, HMENU,hemnuShared, HOLEMENU,holemenu, HWND,hwndActiveObject) \
279         ICOM_METHOD1 (HRESULT,RemoveMenus, HMENU,hemnuShared) \
280         ICOM_METHOD1 (HRESULT,SetStatusText, LPCOLESTR,pszStatusText) \
281         ICOM_METHOD1 (HRESULT,EnableModeless, BOOL,fEnable) \
282         ICOM_METHOD2 (HRESULT,TranslateAccelerator, struct tagMSG*,lpmsg, WORD,wID)
283 #define IOleInPlaceFrame_IMETHODS \
284         IOleInPlaceUIWindow_IMETHODS \
285         IOleInPlaceFrame_METHODS
286 ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
287 #undef ICOM_INTERFACE
288
289 /*** IUnknown methods ***/
290 #define IOleInPlaceFrame_QueryInterface(p,a,b)    ICOM_CALL2(QueryInterface,p,a,b)
291 #define IOleInPlaceFrame_AddRef(p)                ICOM_CALL (AddRef,p)
292 #define IOleInPlaceFrame_Release(p)               ICOM_CALL (Release,p)
293 /*** IOleWindow methods ***/
294 #define IOleInPlaceFrame_GetWindow                ICOM_CALL1(GetWindow,p,a)
295 #define IOleInPlaceFrame_ContextSensitiveHelp     ICOM_CALL1(ContextSensitiveHelp,p,a)
296 /*** IOleInPlaceUIWindow methods ***/
297 #define IOleInPlaceFrame_GetBorder                ICOM_CALL1(GetBorder,p,a)
298 #define IOleInPlaceFrame_RequestBorderSpace       ICOM_CALL1(RequestBorderSpace,p,a)
299 #define IOleInPlaceFrame_SetBorderSpace           ICOM_CALL1(SetBorderSpace,p,a)
300 #define IOleInPlaceFrame_SetActiveObject          ICOM_CALL2(SetActiveObject,p,a,b)
301 /*** IOleInPlaceFrame methods ***/
302 #define IOleInPlaceFrame_InsertMenus              ICOM_CALL2(InsertMenus,p,a,b)
303 #define IOleInPlaceFrame_SetMenu                  ICOM_CALL3(SetMenu,p,a,b,c)
304 #define IOleInPlaceFrame_RemoveMenus              ICOM_CALL1(RemoveMenus,p,a)
305 #define IOleInPlaceFrame_SetStatusText            ICOM_CALL1(SetStatusText,p,a)
306 #define IOleInPlaceFrame_EnableModeless           ICOM_CALL1(EnableModeless,p,a)
307 #define IOleInPlaceFrame_TranslateAccelerator     ICOM_CALL2(TranslateAccelerator,p,a,b)
308
309
310 /*****************************************************************************
311  * IOleInPlaceSite interface
312  */
313 #define ICOM_INTERFACE IOleInPlaceSite
314 #define IOleInPlaceSite_METHODS \
315         ICOM_METHOD (HRESULT,CanInPlaceActivate) \
316         ICOM_METHOD (HRESULT,OnInPlaceActivate) \
317         ICOM_METHOD (HRESULT,OnUIActivate) \
318         ICOM_METHOD5(HRESULT,GetWindowContext, IOleInPlaceFrame**,ppFrame, IOleInPlaceUIWindow**,ppDoc, LPRECT,lprcPosRect, LPRECT,lprcClipRect, LPOLEINPLACEFRAMEINFO,lpFrameInfo) \
319         ICOM_METHOD1(HRESULT,Scroll, SIZE,scrollExtant) \
320         ICOM_METHOD1(HRESULT,OnUIDeactivate, BOOL,fUndoable) \
321         ICOM_METHOD (HRESULT,OnInPlaceDeactivate) \
322         ICOM_METHOD (HRESULT,DiscardUndoState) \
323         ICOM_METHOD (HRESULT,DeactivateAndUndo) \
324         ICOM_METHOD1(HRESULT,OnPosRectChange, LPCRECT,lprcPosRect)
325 #define IOleInPlaceSite_IMETHODS \
326         IOleWindow_IMETHODS \
327         IOleInPlaceSite_METHODS
328 ICOM_DEFINE(IOleInPlaceSite,IOleWindow)
329 #undef ICOM_INTERFACE
330
331 /*** IUnknown methods ***/
332 #define IOleInPlaceSite_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
333 #define IOleInPlaceSite_AddRef(p)                  ICOM_CALL (AddRef,p)
334 #define IOleInPlaceSite_Release(p)                 ICOM_CALL (Release,p)
335 /*** IOleWindow methods ***/
336 #define IOleInPlaceSite_GetWindow(p,a)             ICOM_CALL1(GetWindow,p,a)
337 #define IOleInPlaceSite_ContextSensitiveHelp(p,a)  ICOM_CALL1(ContextSensitiveHelp,p,a)
338 /*** IOleInPlaceSite methods ***/
339 #define IOleInPlaceSite_CanInPlaceActivate(p)      ICOM_CALL (CanInPlaceActivate,p)
340 #define IOleInPlaceSite_OnInPlaceActivate(p)       ICOM_CALL (OnInPlaceActivate,p)
341 #define IOleInPlaceSite_OnUIActivate(p)            ICOM_CALL (OnUIActivate,p)
342 #define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) ICOM_CALL5(GetWindowContext,p,a,b,c,d,e)
343 #define IOleInPlaceSite_Scroll(p,a)                ICOM_CALL1(Scroll,p,a)
344 #define IOleInPlaceSite_OnUIDeactivate(p,a)        ICOM_CALL1(OnUIDeactivate,p,a)
345 #define IOleInPlaceSite_OnInPlaceDeactivate(p)     ICOM_CALL (OnInPlaceDeactivate,p)
346 #define IOleInPlaceSite_DiscardUndoState(p)        ICOM_CALL (DiscardUndoState,p)
347 #define IOleInPlaceSite_DeactivateAndUndo(p)       ICOM_CALL (DeactivateAndUndo,p)
348 #define IOleInPlaceSite_OnPosRectChange(p,a)       ICOM_CALL1(OnPosRectChange,p,a)
349
350
351 /*****************************************************************************
352  * IOleClientSite interface
353  */
354 #define ICOM_INTERFACE IOleClientSite
355 #define IOleClientSite_METHODS \
356         ICOM_METHOD (HRESULT,SaveObject) \
357         ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk) \
358         ICOM_METHOD1(HRESULT,GetContainer, IOleContainer**,ppContainer) \
359         ICOM_METHOD (HRESULT,ShowObject) \
360         ICOM_METHOD1(HRESULT,OnShowWindow, BOOL,fShow) \
361         ICOM_METHOD (HRESULT,RequestNewObjectLayout)
362 #define IOleClientSite_IMETHODS \
363         IUnknown_IMETHODS \
364         IOleClientSite_METHODS
365 ICOM_DEFINE(IOleClientSite,IUnknown)
366 #undef ICOM_INTERFACE
367
368 /*** IUnknown methods ***/
369 #define IOleClientSite_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
370 #define IOleClientSite_AddRef(p)                  ICOM_CALL (AddRef,p)
371 #define IOleClientSite_Release(p)                 ICOM_CALL (Release,p)
372 /*** IOleClientSite methods ***/
373 #define IOleClientSite_SaveObject(p)              ICOM_CALL (SaveObject,p)
374 #define IOleClientSite_GetMoniker(p,a,b,c)        ICOM_CALL3(GetMoniker,p,a,b,c)
375 #define IOleClientSite_GetContainer(p,a)          ICOM_CALL1(GetContainer,p,a)
376 #define IOleClientSite_ShowObject(p)              ICOM_CALL (ShowObject,p)
377 #define IOleClientSite_OnShowWindow(p,a)          ICOM_CALL1(OnShowWindow,p,a)
378 #define IOleClientSite_RequestNewObjectLayout(p)  ICOM_CALL (RequestNewObjectLayout(p)
379
380
381 /*****************************************************************************
382  * IParseDisplayName interface
383  */
384 #define ICOM_INTERFACE IParseDisplayName
385 #define IParseDisplayName_METHODS \
386         ICOM_METHOD4(HRESULT,ParseDisplayName, IBindCtx*,pbc, LPOLESTR,pszDisplayName, ULONG*,pchEaten, IMoniker**,ppmkOut)
387 #define IParseDisplayName_IMETHODS \
388         IUnknown_IMETHODS \
389         IParseDisplayName_METHODS
390 ICOM_DEFINE(IParseDisplayName,IUnknown)
391 #undef ICOM_INTERFACE
392
393 /*** IUnknown methods ***/
394 #define IParseDisplayName_QueryInterface(p,a,b)      ICOM_CALL2(QueryInterface,p,a,b)
395 #define IParseDisplayName_AddRef(p)                  ICOM_CALL (AddRef,p)
396 #define IParseDisplayName_Release(p)                 ICOM_CALL (Release,p)
397 /*** IParseDisplayName methods ***/
398 #define IParseDisplayName_ParseDisplayName(p,a,b,c,d) ICOM_CALL4(ParseDisplayName,p,a,b,c,d)
399
400
401 /*****************************************************************************
402  * IOleContainer interface
403  */
404 #define ICOM_INTERFACE IOleContainer
405 #define IOleContainer_METHODS \
406         ICOM_METHOD2(HRESULT,EnumObjects, DWORD,grfFlags, IEnumUnknown**,ppenum) \
407         ICOM_METHOD1(HRESULT,LockContainer, BOOL,fLock)
408 #define IOleContainer_IMETHODS \
409         IParseDisplayName_IMETHODS \
410         IOleContainer_METHODS
411 ICOM_DEFINE(IOleContainer,IParseDisplayName)
412 #undef ICOM_INTERFACE
413
414 /*** IUnknown methods ***/
415 #define IOleContainer_QueryInterface(p,a,b)       ICOM_CALL2(QueryInterface,p,a,b)
416 #define IOleContainer_AddRef(p)                   ICOM_CALL (AddRef,p)
417 #define IOleContainer_Release(p)                  ICOM_CALL (Release,p)
418 /*** IParseDisplayName methods ***/
419 #define IOleContainer_ParseDisplayName(p,a,b,c,d) ICOM_CALL4(ParseDisplayName,p,a,b,c,d)
420 /*** IOleClientSite methods ***/
421 #define IOleContainer_EnumObjects(p,a,b)          ICOM_CALL (EnumObjects,p,a,b)
422 #define IOleContainer_LockContainer(p,a)          ICOM_CALL3(LockContainer,p,a)
423
424
425 /*****************************************************************************
426  * IOleItemContainer interface
427  */
428 #ifdef __WINE__
429 #undef GetObject
430 #endif
431
432 #define ICOM_INTERFACE IOleItemContainer
433 #define IOleItemContainer_METHODS \
434         ICOM_METHOD5(HRESULT,GetObject, LPOLESTR,pszItem, DWORD,dwSpeedNeeded, IBindCtx*,pbc, REFIID,riid, void**,ppvObject) \
435         ICOM_METHOD4(HRESULT,GetObjectStorage, LPOLESTR,pszItem, IBindCtx*,pbc, REFIID,riid, void**,ppvStorage) \
436         ICOM_METHOD1(HRESULT,IsRunning, LPOLESTR,pszItem)
437 #define IOleItemContainer_IMETHODS \
438         IOleContainer_IMETHODS \
439         IOleItemContainer_METHODS
440 ICOM_DEFINE(IOleItemContainer,IOleContainer)
441 #undef ICOM_INTERFACE
442
443 /*** IUnknown methods ***/
444 #define IOleItemContainer_QueryInterface(p,a,b)       ICOM_CALL2(QueryInterface,p,a,b)
445 #define IOleItemContainer_AddRef(p)                   ICOM_CALL (AddRef,p)
446 #define IOleItemContainer_Release(p)                  ICOM_CALL (Release,p)
447 /*** IParseDisplayName methods ***/
448 #define IOleItemContainer_GetObject(p,a,b,c,d,e)      ICOM_CALL5(GetObject,p,a,b,c,d,e)
449 #define IOleItemContainer_GetObjectStorage(p,a,b,c,d) ICOM_CALL4(GetObjectStorage,p,a,b,c,d)
450 #define IOleItemContainer_IsRunning(p,a)              ICOM_CALL1(IsRunning,p,a)
451
452
453 /*****************************************************************************
454  * IOleItemContainer interface
455  */
456 #define ICOM_INTERFACE IOleLink
457 #define IOleLink_METHODS \
458         ICOM_METHOD1(HRESULT,SetUpdateOptions, DWORD,dwUpdateOpt) \
459         ICOM_METHOD1(HRESULT,GetUpdateOptions, DWORD*,pdwUpdateOpt) \
460         ICOM_METHOD2(HRESULT,SetSourceMoniker, IMoniker*,pmk, REFCLSID,rclsid) \
461         ICOM_METHOD1(HRESULT,GetSourceMoniker, IMoniker**,ppmk) \
462         ICOM_METHOD1(HRESULT,SetSourceDisplayName, LPCOLESTR,pszStatusText) \
463         ICOM_METHOD1(HRESULT,GetSourceDisplayName, LPOLESTR*,ppszDisplayName) \
464         ICOM_METHOD2(HRESULT,BindToSource, DWORD,bindflags, IBindCtx*,pbc) \
465         ICOM_METHOD (HRESULT,BindIfRunning) \
466         ICOM_METHOD1(HRESULT,GetBoundSource, IUnknown**,ppunk) \
467         ICOM_METHOD (HRESULT,UnBindSource) \
468         ICOM_METHOD1(HRESULT,Update, IBindCtx*,pbc)
469 #define IOleLink_IMETHODS \
470         IUnknown_IMETHODS \
471         IOleLink_METHODS
472 ICOM_DEFINE(IOleLink,IUnknown)
473 #undef ICOM_INTERFACE
474
475 /*** IUnknown methods ***/
476 #define IOleLink_QueryInterface(p,a,b)       ICOM_CALL2(QueryInterface,p,a,b)
477 #define IOleLink_AddRef(p)                   ICOM_CALL (AddRef,p)
478 #define IOleLink_Release(p)                  ICOM_CALL (Release,p)
479 /*** IOleLink methods ***/
480 #define IOleLink_SetUpdateOptions(p,a)       ICOM_CALL1(SetUpdateOptions,p,a)
481 #define IOleLink_GetUpdateOptions(p,a)       ICOM_CALL1(GetUpdateOptions,p,a)
482 #define IOleLink_SetSourceMoniker(p,a,b)     ICOM_CALL2(SetSourceMoniker,p,a,b)
483 #define IOleLink_GetSourceMoniker(p,a)       ICOM_CALL1(GetSourceMoniker,p,a)
484 #define IOleLink_SetSourceDisplayName(p,a)   ICOM_CALL1(SetSourceDisplayName,p,a)
485 #define IOleLink_GetSourceDisplayName(p,a)   ICOM_CALL1(GetSourceDisplayName,p,a)
486 #define IOleLink_BindToSource(p,a,b)         ICOM_CALL2(BindToSource,p,a,b)
487 #define IOleLink_BindIfRunning(p)            ICOM_CALL (BindIfRunning,p)
488 #define IOleLink_GetBoundSource(p,a)         ICOM_CALL1(GetBoundSource,p,a)
489 #define IOleLink_UnBindSource(p)             ICOM_CALL (UnBindSource,p)
490 #define IOleLink_Update(p,a)                 ICOM_CALL1(Update,p,a)
491
492 #ifdef __cplusplus
493 } /* extern "C" */
494 #endif /* defined(__cplusplus) */
495
496 #endif /* __WINE_WINE_OBJ_INPLACE_H */
497
498