2 * Defines the COM interfaces and APIs related to structured data storage.
4 * Depends on 'obj_base.h'.
6 * Copyright (C) 1999 Paul Quinn
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.
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.
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
23 #ifndef __WINE_WINE_OBJ_CONTROL_H
24 #define __WINE_WINE_OBJ_CONTROL_H
30 #endif /* defined(__cplusplus) */
32 /*****************************************************************************
33 * Declare the structures
35 typedef enum tagGUIDKIND
37 GUIDKIND_DEFAULT_SOURCE_DISP_IID
= 1
40 typedef enum tagREADYSTATE
42 READYSTATE_UNINITIALIZED
= 0,
43 READYSTATE_LOADING
= 1,
44 READYSTATE_LOADED
= 2,
45 READYSTATE_INTERACTIVE
= 3,
46 READYSTATE_COMPLETE
= 4
49 typedef struct tagExtentInfo
56 typedef struct tagVARIANT_BLOB
63 typedef struct tagUserVARIANT
65 wireVARIANT_BLOB pVarBlob
;
68 typedef struct tagLICINFO
71 BOOL fRuntimeKeyAvail
;
73 } LICINFO
, *LPLICINFO
;
75 typedef struct tagCONTROLINFO
81 } CONTROLINFO
, *LPCONTROLINFO
;
83 typedef enum tagCTRLINFO
85 CTRLINFO_EATS_RETURN
= 1,
86 CTRLINFO_EATS_ESCAPE
= 2
89 typedef struct tagPOINTF
95 typedef enum tagXFORMCOORDS
97 XFORMCOORDS_POSITION
= 0x1,
98 XFORMCOORDS_SIZE
= 0x2,
99 XFORMCOORDS_HIMETRICTOCONTAINER
= 0x4,
100 XFORMCOORDS_CONTAINERTOHIMETRIC
= 0x8
103 typedef enum tagACTIVATEFLAGS
105 ACTIVATE_WINDOWLESS
= 1
108 typedef enum tagOLEDCFLAGS
111 OLEDC_PAINTBKGND
= 0x2,
112 OLEDC_OFFSCREEN
= 0x4
115 typedef enum tagDVASPECT2
117 DVASPECT_OPAQUE
= 16,
118 DVASPECT_TRANSPARENT
= 32
121 typedef enum tagHITRESULT
123 HITRESULT_OUTSIDE
= 0,
124 HITRESULT_TRANSPARENT
= 1,
129 typedef enum tagAspectInfoFlag
131 DVASPECTINFOFLAG_CANOPTIMIZE
= 1
134 typedef struct tagAspectInfo
140 typedef enum tagVIEWSTATUS
142 VIEWSTATUS_OPAQUE
= 1,
143 VIEWSTATUS_SOLIDBKGND
= 2,
144 VIEWSTATUS_DVASPECTOPAQUE
= 4,
145 VIEWSTATUS_DVASPECTTRANSPARENT
= 8
148 /*****************************************************************************
149 * Predeclare the interfaces
151 DEFINE_GUID(IID_IOleControl
, 0xb196b288, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
152 typedef struct IOleControl IOleControl
, *LPOLECONTROL
;
154 DEFINE_GUID(IID_IOleControlSite
, 0xb196b289, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
155 typedef struct IOleControlSite IOleControlSite
, *LPOLECONTROLSITE
;
157 DEFINE_GUID(IID_IOleInPlaceSiteEx
, 0x9c2cad80L
, 0x3424, 0x11cf, 0xb6, 0x70, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8);
158 typedef struct IOleInPlaceSiteEx IOleInPlaceSiteEx
, *LPOLEINPLACESITEEX
;
160 DEFINE_OLEGUID(IID_IOleInPlaceSiteWindowless
, 0x00000000L
, 0, 0); /* FIXME - NEED GUID */
161 typedef struct IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless
, *LPOLEINPLACESITEWINDOWLESS
;
163 DEFINE_OLEGUID(IID_IOleInPlaceObjectWindowless
, 0x00000000L
, 0, 0); /* FIXME - NEED GUID */
164 typedef struct IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless
, *LPOLEINPLACEOBJECTWINDOWLESS
;
166 DEFINE_GUID(IID_IClassFactory2
, 0xb196b28f, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
167 typedef struct IClassFactory2 IClassFactory2
, *LPCLASSFACTORY2
;
169 DEFINE_GUID(IID_IViewObjectEx
, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); /* FIXME need GUID */
170 typedef struct IViewObjectEx IViewObjectEx
, *LPVIEWOBJECTEX
;
172 DEFINE_GUID(IID_IProvideClassInfo
, 0xb196b283, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
173 typedef struct IProvideClassInfo IProvideClassInfo
, *LPPROVIDECLASSINFO
;
175 DEFINE_GUID(IID_IProvideClassInfo2
, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d, 0xe3, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
176 typedef struct IProvideClassInfo2 IProvideClassInfo2
, *LPPROVIDECLASSINFO2
;
178 /*****************************************************************************
179 * IOleControl interface
181 #define INTERFACE IOleControl
182 #define IOleControl_METHODS \
184 STDMETHOD(GetControlInfo)(THIS_ CONTROLINFO *pCI) PURE; \
185 STDMETHOD(OnMnemonic)(THIS_ struct tagMSG *pMsg) PURE; \
186 STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID dispID) PURE; \
187 STDMETHOD(FreezeEvents)(THIS_ BOOL bFreeze) PURE;
188 ICOM_DEFINE(IOleControl
,IUnknown
)
192 /*** IUnknown methods ***/
193 #define IOleControl_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
194 #define IOleControl_AddRef(p) (p)->lpVtbl->AddRef(p)
195 #define IOleControl_Release(p) (p)->lpVtbl->Release(p)
196 /*** IOleControl methods ***/
197 #define IOleControl_GetControlInfo(p,a) (p)->lpVtbl->GetControlInfo(p,a)
198 #define IOleControl_OnMnemonic(p,a) (p)->lpVtbl->OnMnemonic(p,a)
199 #define IOleControl_OnAmbientPropertyChange(p,a) (p)->lpVtbl->OnAmbientPropertyChange(p,a)
200 #define IOleControl_FreezeEvents(p,a) (p)->lpVtbl->FreezeEvents(p,a)
204 /*****************************************************************************
205 * IOleControlSite interface
207 #define INTERFACE IOleControlSite
208 #define IOleControlSite_METHODS \
210 STDMETHOD(OnControlInfoChanged)(THIS) PURE; \
211 STDMETHOD(LockInPlaceActive)(THIS_ BOOL fLock) PURE; \
212 STDMETHOD(GetExtendedControl)(THIS_ IDispatch **ppDisp) PURE; \
213 STDMETHOD(TransformCoords)(THIS_ POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags) PURE; \
214 STDMETHOD(TranslateAccelerator)(THIS_ struct tagMSG *pMsg, DWORD grfModifiers) PURE; \
215 STDMETHOD(OnFocus)(THIS_ BOOL fGotFocus) PURE; \
216 STDMETHOD(ShowPropertyFrame)(THIS) PURE;
217 ICOM_DEFINE(IOleControlSite
,IUnknown
)
221 /*** IUnknown methods ***/
222 #define IOleControlSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
223 #define IOleControlSite_AddRef(p) (p)->lpVtbl->AddRef(p)
224 #define IOleControlSite_Release(p) (p)->lpVtbl->Release(p)
225 /*** IOleControlSite methods ***/
226 #define IOleControlSite_OnControlInfoChanged(p) (p)->lpVtbl->OnControlInfoChanged(p)
227 #define IOleControlSite_LockInPlaceActive(p,a) (p)->lpVtbl->LockInPlaceActive(p,a)
228 #define IOleControlSite_GetExtendedControl(p,a) (p)->lpVtbl->GetExtendedControl(p,a)
229 #define IOleControlSite_TransformCoords(p,a,b,c) (p)->lpVtbl->TransformCoords(p,a,b,c)
230 #define IOleControlSite_TranslateAccelerator(p,a,b) (p)->lpVtbl->TranslateAccelerator(p,a,b)
231 #define IOleControlSite_OnFocus(p,a) (p)->lpVtbl->OnFocus(p,a)
232 #define IOleControlSite_ShowPropertyFrame(p) (p)->lpVtbl->ShowPropertyFrame(p)
236 /*****************************************************************************
237 * IOleInPlaceSiteEx interface
239 #define INTERFACE IOleInPlaceSiteEx
240 #define IOleInPlaceSiteEx_METHODS \
241 IOleInPlaceSite_METHODS \
242 STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL *pfNoRedraw, DWORD dwFlags) PURE; \
243 STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL fNoRedraw) PURE; \
244 STDMETHOD(RequestUIActivate)(THIS) PURE;
245 ICOM_DEFINE(IOleInPlaceSiteEx
,IOleInPlaceSite
)
249 /*** IUnknown methods ***/
250 #define IOleInPlaceSiteEx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
251 #define IOleInPlaceSiteEx_AddRef(p) (p)->lpVtbl->AddRef(p)
252 #define IOleInPlaceSiteEx_Release(p) (p)->lpVtbl->Release(p)
253 /*** IOleWindow methods ***/
254 #define IOleInPlaceSiteEx_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
255 #define IOleInPlaceSiteEx_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
256 /*** IOleInPlaceSite methods ***/
257 #define IOleInPlaceSiteEx_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
258 #define IOleInPlaceSiteEx_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
259 #define IOleInPlaceSiteEx_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
260 #define IOleInPlaceSiteEx_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
261 #define IOleInPlaceSiteEx_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
262 #define IOleInPlaceSiteEx_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
263 #define IOleInPlaceSiteEx_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
264 #define IOleInPlaceSiteEx_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
265 #define IOleInPlaceSiteEx_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
266 #define IOleInPlaceSiteEx_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
267 /*** IOleInPlaceSiteEx methods ***/
268 #define IOleInPlaceSiteEx_OnInPlaceActivateEx(p,a,b) (p)->lpVtbl->OnInPlaceActivateEx(p,a,b)
269 #define IOleInPlaceSiteEx_OnInPlaceDeactivateEx(p,a) (p)->lpVtbl->OnInPlaceDeactivateEx(p,a)
270 #define IOleInPlaceSiteEx_RequestUIActivate(p) (p)->lpVtbl->RequestUIActivate(p)
274 /*****************************************************************************
275 * IOleInPlaceSiteWindowless interface
277 #define INTERFACE IOleInPlaceSiteWindowless
278 #define IOleInPlaceSiteWindowless_METHODS \
279 IOleInPlaceSite_METHODS \
280 STDMETHOD(CanWindowlessActivate)(THIS) PURE; \
281 STDMETHOD(GetCapture)(THIS) PURE; \
282 STDMETHOD(SetCapture)(THIS_ BOOL fCapture) PURE; \
283 STDMETHOD(GetFocus)(THIS) PURE; \
284 STDMETHOD(SetFocus)(THIS_ BOOL fFocus) PURE; \
285 STDMETHOD(GetDC)(THIS_ LPCRECT pRect, DWORD grfFlags, HDC *phDC) PURE; \
286 STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
287 STDMETHOD(InvalidateRect)(THIS_ LPCRECT pRect, BOOL fErase) PURE; \
288 STDMETHOD(InvalidateRgn)(THIS_ HRGN hRgn, BOOL fErase) PURE; \
289 STDMETHOD(ScrollRect)(THIS_ INT dx, INT dy, LPCRECT pRectScroll, LPCRECT pRectClip) PURE; \
290 STDMETHOD(AdjustRect)(THIS_ LPRECT prc) PURE; \
291 STDMETHOD(OnDefWindowMessage)(THIS_ UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) PURE;
292 ICOM_DEFINE(IOleInPlaceSiteWindowless
,IOleInPlaceSite
)
296 /*** IUnknown methods ***/
297 #define IOleInPlaceSiteWindowless_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
298 #define IOleInPlaceSiteWindowless_AddRef(p) (p)->lpVtbl->AddRef(p)
299 #define IOleInPlaceSiteWindowless_Release(p) (p)->lpVtbl->Release(p)
300 /*** IOleWindow methods ***/
301 #define IOleInPlaceSiteWindowless_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
302 #define IOleInPlaceSiteWindowless_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
303 /*** IOleInPlaceSitemethods ***/
304 #define IOleInPlaceSiteWindowless_CanInPlaceActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
305 #define IOleInPlaceSiteWindowless_OnInPlaceActivate(p) (p)->lpVtbl->OnInPlaceActivate(p)
306 #define IOleInPlaceSiteWindowless_OnUIActivate(p) (p)->lpVtbl->OnUIActivate(p)
307 #define IOleInPlaceSiteWindowless_GetWindowContext(p,a,b,c,d,e) (p)->lpVtbl->GetWindowContext(p,a,b,c,d,e)
308 #define IOleInPlaceSiteWindowless_Scroll(p,a) (p)->lpVtbl->Scroll(p,a)
309 #define IOleInPlaceSiteWindowless_OnUIDeactivate(p,a) (p)->lpVtbl->OnUIDeactivate(p,a)
310 #define IOleInPlaceSiteWindowless_OnInPlaceDeactivate(p) (p)->lpVtbl->OnInPlaceDeactivate(p)
311 #define IOleInPlaceSiteWindowless_DiscardUndoState(p) (p)->lpVtbl->DiscardUndoState(p)
312 #define IOleInPlaceSiteWindowless_DeactivateAndUndo(p) (p)->lpVtbl->DeactivateAndUndo(p)
313 #define IOleInPlaceSiteWindowless_OnPosRectChange(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
314 /*** IOleInPlaceSitemethods ***/
315 #define IOleInPlaceSiteWindowless_CanWindowlessActivate(p) (p)->lpVtbl->CanInPlaceActivate(p)
316 #define IOleInPlaceSiteWindowless_GetCapture(p) (p)->lpVtbl->OnInPlaceActivate(p)
317 #define IOleInPlaceSiteWindowless_SetCapture(p,a) (p)->lpVtbl->OnUIActivate(p,a)
318 #define IOleInPlaceSiteWindowless_GetFocus(p) (p)->lpVtbl->GetWindowContext(p)
319 #define IOleInPlaceSiteWindowless_SetFocus(p,a) (p)->lpVtbl->Scroll(p,a)
320 #define IOleInPlaceSiteWindowless_GetDC(p,a,b,c) (p)->lpVtbl->OnUIDeactivate(p,a,b,c)
321 #define IOleInPlaceSiteWindowless_ReleaseDC(p,a) (p)->lpVtbl->OnInPlaceDeactivate(p,a)
322 #define IOleInPlaceSiteWindowless_InvalidateRect(p,a,b) (p)->lpVtbl->DiscardUndoState(p,a,b)
323 #define IOleInPlaceSiteWindowless_InvalidateRgn(p,a,b) (p)->lpVtbl->DeactivateAndUndo(p,a,b)
324 #define IOleInPlaceSiteWindowless_ScrollRect(p,a,b,c,d) (p)->lpVtbl->OnPosRectChange(p,a,b,c,d)
325 #define IOleInPlaceSiteWindowless_AdjustRect(p,a) (p)->lpVtbl->OnPosRectChange(p,a)
326 #define IOleInPlaceSiteWindowless_OnDefWindowMessage(p,a,b,c,d) (p)->lpVtbl->OnPosRectChange(p,a,b,c,d)
330 /*****************************************************************************
331 * IOleInPlaceObjectWindowless interface
333 #define INTERFACE IOleInPlaceObjectWindowless
334 #define IOleInPlaceObjectWindowless_METHODS \
335 IOleInPlaceObject_METHODS \
336 STDMETHOD(OnWindowMessage)(THIS_ UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) PURE; \
337 STDMETHOD(GetDropTarget)(THIS_ IDropTarget **ppDropTarget) PURE;
338 ICOM_DEFINE(IOleInPlaceObjectWindowless
,IOleInPlaceObject
)
342 /*** IUnknown methods ***/
343 #define IOleInPlaceObjectWindowless_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
344 #define IOleInPlaceObjectWindowless_AddRef(p) (p)->lpVtbl->AddRef(p)
345 #define IOleInPlaceObjectWindowless_Release(p) (p)->lpVtbl->Release(p)
346 /*** IOleWindow methods ***/
347 #define IOleInPlaceObjectWindowless_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
348 #define IOleInPlaceObjectWindowless_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
349 /*** IOleInPlaceObject methods ***/
350 #define IOleInPlaceObjectWindowless_InPlaceDeactivate(p) (p)->lpVtbl->InPlaceDeactivate(p)
351 #define IOleInPlaceObjectWindowless_UIDeactivate(p) (p)->lpVtbl->UIDeactivate(p)
352 #define IOleInPlaceObjectWindowless_SetObjectRects(p,a,b) (p)->lpVtbl->SetObjectRects(p,a,b)
353 #define IOleInPlaceObjectWindowless_ReactivateAndUndo(p) (p)->lpVtbl->ReactivateAndUndo(p)
354 /*** IOleInPlaceObjectWindowless methods ***/
355 #define IOleInPlaceObjectWindowless_OnWindowMessage(p,a,b,c,d) (p)->lpVtbl->OnWindowMessage(p,a,b,c,d)
356 #define IOleInPlaceObjectWindowless_GetDropTarget(p,a) (p)->lpVtbl->GetDropTarget(p,a)
360 /*****************************************************************************
361 * IClassFactory2 interface
363 #define INTERFACE IClassFactory2
364 #define IClassFactory2_METHODS \
365 IClassFactory_METHODS \
366 STDMETHOD(GetLicInfo)(THIS_ LICINFO *pLicInfo) PURE; \
367 STDMETHOD(RequestLicKey)(THIS_ DWORD dwReserved, BSTR *pBstrKey) PURE; \
368 STDMETHOD(CreateInstanceLic)(THIS_ IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID riid, BSTR bstrKey, PVOID *ppvObj) PURE;
369 ICOM_DEFINE(IClassFactory2
,IClassFactory
)
373 /*** IUnknown methods ***/
374 #define IClassFactory2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
375 #define IClassFactory2_AddRef(p) (p)->lpVtbl->AddRef(p)
376 #define IClassFactory2_Release(p) (p)->lpVtbl->Release(p)
377 /*** IClassFactory methods ***/
378 #define IClassFactory2_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
379 #define IClassFactory2_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
380 /*** IClassFactory2 methods ***/
381 #define IClassFactory2_GetLicInfo(p,a) (p)->lpVtbl->GetLicInfo(p,a)
382 #define IClassFactory2_RequestLicKey(p,a,b) (p)->lpVtbl->RequestLicKey(p,a,b)
383 #define IClassFactory2_CreateInstanceLic(p,a,b,c,d,e) (p)->lpVtbl->CreateInstanceLic(p,a,b,c,d,e)
387 /*****************************************************************************
388 * IViewObject interface
390 #define INTERFACE IViewObjectEx
391 #define IViewObjectEx_METHODS \
392 IViewObject2_METHODS \
393 STDMETHOD(GetRect)(THIS_ DWORD dwAspect, LPRECTL pRect) PURE; \
394 STDMETHOD(GetViewStatus)(THIS_ DWORD *pdwStatus) PURE; \
395 STDMETHOD(QueryHitPoint)(THIS_ DWORD dwAspect, LPCRECT pRectBounds, POINT ptlLoc, LONG lCloseHint, DWORD *pHitResult) PURE; \
396 STDMETHOD(QueryHitRect)(THIS_ DWORD dwAspect, LPCRECT pRectBounds, LPCRECT pRectLoc, LONG lCloseHint, DWORD *pHitResult) PURE; \
397 STDMETHOD(GetNaturalExtent)(THIS_ DWORD dwAspect, LONG lindex, DVTARGETDEVICE *ptd, HDC hicTargetDev, DVEXTENTINFO *pExtentInfo, LPSIZEL pSizel) PURE;
398 ICOM_DEFINE(IViewObjectEx
,IViewObject2
)
402 /*** IUnknown methods ***/
403 #define IViewObjectEx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
404 #define IViewObjectEx_AddRef(p) (p)->lpVtbl->AddRef(p)
405 #define IViewObjectEx_Release(p) (p)->lpVtbl->Release(p)
406 /*** IViewObject methods ***/
407 #define IViewObjectEx_Draw(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Draw(p,a,b,c,d,e,f,g,h,i,j)
408 #define IViewObjectEx_GetColorSet(p,a,b,c,d,e,f) (p)->lpVtbl->GetColorSet(p,a,b,c,d,e,f)
409 #define IViewObjectEx_Freeze(p,a,b,c,d) (p)->lpVtbl->Freeze(p,a,b,c,d)
410 #define IViewObjectEx_Unfreeze(p,a) (p)->lpVtbl->Unfreeze(p,a)
411 #define IViewObjectEx_SetAdvise(p,a,b,c) (p)->lpVtbl->SetAdvise(p,a,b,c)
412 #define IViewObjectEx_GetAdvise(p,a,b,c) (p)->lpVtbl->GetAdvise(p,a,b,c)
413 /*** IViewObject2 methods ***/
414 #define IViewObjectEx_GetExtent(p,a,b,c,d) (p)->lpVtbl->GetExtent(p,a,b,c,d)
415 /*** IViewObjectEx methods ***/
416 #define IViewObjectEx_GetRect(p,a,b) (p)->lpVtbl->GetRect(p,a,b)
417 #define IViewObjectEx_GetViewStatus(p,a) (p)->lpVtbl->GetViewStatus(p,a)
418 #define IViewObjectEx_QueryHitPoint(p,a,b,c,d,e) (p)->lpVtbl->QueryHitPoint(p,a,b,c,d,e)
419 #define IViewObjectEx_QueryHitRect(p,a,b,c,d,e) (p)->lpVtbl->QueryHitRect(p,a,b,c,d,e)
420 #define IViewObjectEx_GetNaturalExtent(p,a,b,c,d,e,f) (p)->lpVtbl->GetNaturalExtent(p,a,b,c,d,e,f)
424 /*****************************************************************************
425 * IProvideClassInfo interface
431 #define INTERFACE IProvideClassInfo
432 #define IProvideClassInfo_METHODS \
434 STDMETHOD(GetClassInfo)(THIS_ ITypeInfo **ppTI) PURE;
435 ICOM_DEFINE(IProvideClassInfo
,IUnknown
)
439 /*** IUnknown methods ***/
440 #define IProvideClassInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
441 #define IProvideClassInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
442 #define IProvideClassInfo_Release(p) (p)->lpVtbl->Release(p)
443 /*** IProvideClassInfo methods ***/
444 #define IProvideClassInfo_GetClassInfo(p,a) (p)->lpVtbl->GetClassInfo(p,a)
449 /*****************************************************************************
450 * IProvideClassInfo2 interface
452 #define INTERFACE IProvideClassInfo2
453 #define IProvideClassInfo2_METHODS \
454 IProvideClassInfo_METHODS \
455 STDMETHOD(GetGUID)(THIS_ DWORD dwGuidKind, GUID *pGUID) PURE;
456 ICOM_DEFINE(IProvideClassInfo2
,IProvideClassInfo
)
460 /*** IUnknown methods ***/
461 #define IProvideClassInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
462 #define IProvideClassInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
463 #define IProvideClassInfo2_Release(p) (p)->lpVtbl->Release(p)
464 /*** IProvideClassInfo methods ***/
465 #define IProvideClassInfo2_GetClassInfo(p,a) (p)->lpVtbl->GetClassInfo(p,a)
466 /*** IProvideClassInfo2 methods ***/
467 #define IProvideClassInfo2_GetGUID(p,a,b) (p)->lpVtbl->GetGUID(p,a,b)
472 #endif /* defined(__cplusplus) */
474 #endif /* __WINE_WINE_OBJ_CONTROL_H */