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