From 40d9d3d03980dd0db91a53507fd311c1383fdce5 Mon Sep 17 00:00:00 2001 From: Paul Quinn Date: Thu, 25 Feb 1999 17:10:15 +0000 Subject: [PATCH] Many interface declarations that originated from oleidl.h, oaidl.h and ocidl.h separated into somewhat relevant obj_* files. --- include/ocidl.h | 2 + include/ole2.h | 22 +- include/oleidl.h | 2 + include/wine/obj_cache.h | 119 ++++++++++ include/wine/obj_connection.h | 152 ++++++++++++ include/wine/obj_control.h | 319 +++++++++++++++++++++++++ include/wine/obj_inplace.h | 425 ++++++++++++++++++++++++++++++++++ include/wintypes.h | 2 + ole/olefont.c | 2 +- 9 files changed, 1025 insertions(+), 20 deletions(-) create mode 100644 include/wine/obj_cache.h create mode 100644 include/wine/obj_connection.h create mode 100644 include/wine/obj_control.h create mode 100644 include/wine/obj_inplace.h diff --git a/include/ocidl.h b/include/ocidl.h index f8c9c2390d1..8691143a288 100644 --- a/include/ocidl.h +++ b/include/ocidl.h @@ -7,6 +7,8 @@ /* the following depend only on obj_base.h */ #include "wine/obj_olefont.h" +#include "wine/obj_control.h" +#include "wine/obj_connection.h" #endif /* __WINE_OCIDL_H */ diff --git a/include/ole2.h b/include/ole2.h index 4c9b03e016f..17541304b44 100644 --- a/include/ole2.h +++ b/include/ole2.h @@ -6,23 +6,13 @@ #define __WINE_OLE2_H #include "wintypes.h" +#include "winerror.h" #include "oleidl.h" /* OLE version */ #define rmm 23 #define rup 639 -/* FIXME: should be in oleidl.h */ -typedef struct tagOleMenuGroupWidths -{ LONG width[ 6 ]; -} OLEMENUGROUPWIDTHS32, OLEMENUGROUPWIDTHS; - -typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS32; -typedef struct IOleInPlaceFrame *LPOLEINPLACEFRAME; -typedef struct IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; - -typedef HGLOBAL32 HOLEMENU32; - /* * API declarations */ @@ -32,14 +22,8 @@ HRESULT WINAPI RegisterDragDrop32(HWND32,LPDROPTARGET); HRESULT WINAPI RevokeDragDrop16(HWND16); HRESULT WINAPI RevokeDragDrop32(HWND32); #define RevokeDragDrop WINELIB_NAME(RevokeDragDrop) -HRESULT WINAPI DoDragDrop16(LPDATAOBJECT, - LPDROPSOURCE, - DWORD, - DWORD*); -HRESULT WINAPI DoDragDrop32(LPDATAOBJECT, - LPDROPSOURCE, - DWORD, - DWORD*); +HRESULT WINAPI DoDragDrop16(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); +HRESULT WINAPI DoDragDrop32(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); #define DoDragDrop WINELIB_NAME(DoDragDrop) HOLEMENU32 WINAPI OleCreateMenuDescriptor(HMENU32 hmenuCombined, diff --git a/include/oleidl.h b/include/oleidl.h index b515b9384e8..84359fe69c9 100644 --- a/include/oleidl.h +++ b/include/oleidl.h @@ -16,6 +16,8 @@ /* the following depend on obj_dataobject.h */ #include "wine/obj_dragdrop.h" +#include "wine/obj_inplace.h" +#include "wine/obj_cache.h" #endif /* __WINE_OLEIDL_H */ diff --git a/include/wine/obj_cache.h b/include/wine/obj_cache.h new file mode 100644 index 00000000000..63e46f3c0e7 --- /dev/null +++ b/include/wine/obj_cache.h @@ -0,0 +1,119 @@ +/* + * Defines the COM interfaces and APIs related to structured data storage. + * + * Depends on 'obj_base.h'. + */ + +#ifndef __WINE_WINE_OBJ_CACHE_H +#define __WINE_WINE_OBJ_CACHE_H + + +#include "winbase.h" + + +/***************************************************************************** + * Declare the structures + */ + + +/***************************************************************************** + * Predeclare the interfaces + */ + +DEFINE_OLEGUID(IID_IOleCache, 0x0000011eL, 0, 0); +typedef struct IOleCache IOleCache, *LPOLECACHE; + +DEFINE_OLEGUID(IID_IOleCache2, 0x00000128L, 0, 0); +typedef struct IOleCache2 IOleCache2, *LPOLECACHE2; + +DEFINE_OLEGUID(IID_IOleCacheControl, 0x00000129L, 0, 0); +typedef struct IOleCacheControl IOleCacheControl, *LPOLECACHECONTROL; + +/***************************************************************************** + * IOleCache interface + */ +#define ICOM_INTERFACE IOleCache +#define IOleCache_METHODS \ + ICOM_METHOD3(HRESULT,Cache, FORMATETC32*,pformatetc, DWORD,advf, DWORD*, pdwConnection); \ + ICOM_METHOD1(HRESULT,Uncache, DWORD,dwConnection); \ + ICOM_METHOD1(HRESULT,EnumCache, IEnumSTATDATA**,ppenumSTATDATA); \ + ICOM_METHOD1(HRESULT,InitCache, IDataObject*,pDataObject); \ + ICOM_METHOD3(HRESULT,SetData, FORMATETC32*,pformatetc, STGMEDIUM32*,pmedium, BOOL32,fRelease); +#define IOleCache_IMETHODS \ + IUnknown_IMETHODS \ + IOleCache_METHODS +ICOM_DEFINE(IOleCache,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IOleCache_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleCache_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleCache_Release(p) ICOM_CALL (Release,p) +/*** IOleCache methods ***/ +#define IOleCache_Cache(p,a,b,c) ICOM_CALL3(Cache,p,a,b,c) +#define IOleCache_Uncache(p,a) ICOM_CALL1(Uncache,p,a) +#define IOleCache_EnumCache(p,a) ICOM_CALL1(EnumCache,p,a) +#define IOleCache_InitCache(p,a) ICOM_CALL1(InitCache,p,a) +#define IOleCache_SetData(p,a,b,c) ICOM_CALL3(SetData,p,a,b,c) +#endif + + +/***************************************************************************** + * IOleCache2 interface + */ +#define ICOM_INTERFACE IOleCache2 +#define IOleCache2_METHODS \ + ICOM_METHOD3(HRESULT,UpdateCache, LPDATAOBJECT,pDataObject, DWORD,grfUpdf, LPVOID,pReserved); \ + ICOM_METHOD1(HRESULT,DiscardCache, DWORD,dwDiscardOptions); +#define IOleCache2_IMETHODS \ + IOleCache_IMETHODS \ + IOleCache2_METHODS +ICOM_DEFINE(IOleCache2,IOleCache) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IOleCache2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleCache2_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleCache2_Release(p) ICOM_CALL (Release,p) +/*** IOleCache methods ***/ +#define IOleCache2_Cache(p,a,b,c) ICOM_CALL3(Cache,p,a,b,c) +#define IOleCache2_Uncache(p,a) ICOM_CALL1(Uncache,p,a) +#define IOleCache2_EnumCache(p,a) ICOM_CALL1(EnumCache,p,a) +#define IOleCache2_InitCache(p,a) ICOM_CALL1(InitCache,p,a) +#define IOleCache2_SetData(p,a,b,c) ICOM_CALL3(SetData,p,a,b,c) +/*** IOleCache2 methods ***/ +#define IOleCache2_UpdateCache(p,a,b,c) ICOM_CALL3(UpdateCache,p,a,b,c) +#define IOleCache2_DiscardCache(p,a) ICOM_CALL1(DiscardCache,p,a) +#endif + + +/***************************************************************************** + * IOleCacheControl interface + */ +#define ICOM_INTERFACE IOleCacheControl +#define IOleCacheControl_METHODS \ + ICOM_METHOD1(HRESULT,OnRun, LPDATAOBJECT,pDataObject); \ + ICOM_METHOD (HRESULT,OnStop); +#define IOleCacheControl_IMETHODS \ + IUnknown_IMETHODS \ + IOleCacheControl_METHODS +ICOM_DEFINE(IOleCacheControl,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IOleCacheControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleCacheControl_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleCacheControl_Release(p) ICOM_CALL (Release,p) +/*** IOleCacheControl methods ***/ +#define IOleCacheControl_OnRun(p,a) ICOM_CALL1(UpdateCache,p,a) +#define IOleCacheControl_OnStop(p) ICOM_CALL (OnStop,p) +#endif + + + +#endif /* __WINE_WINE_OBJ_CONTROL_H */ + + diff --git a/include/wine/obj_connection.h b/include/wine/obj_connection.h new file mode 100644 index 00000000000..1a1a83dae64 --- /dev/null +++ b/include/wine/obj_connection.h @@ -0,0 +1,152 @@ +/* + * Defines the COM interfaces and APIs related to structured data storage. + * + * Depends on 'obj_base.h'. + */ + +#ifndef __WINE_WINE_OBJ_CONNECTION_H +#define __WINE_WINE_OBJ_CONNECTION_H + + +#include "winbase.h" + + +/***************************************************************************** + * Declare the structures + */ + +typedef struct tagCONNECTDATA +{ + IUnknown *pUnk; + DWORD dwCookie; +} CONNECTDATA, *LPCONNECTDATA; + +/***************************************************************************** + * Predeclare the interfaces + */ +DEFINE_GUID(IID_IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IConnectionPoint IConnectionPoint, *LPCONNECTIONPOINT; + +DEFINE_GUID(IID_IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IConnectionPointContainer IConnectionPointContainer, *LPCONNECTIONPOINTCONTAINER; + +DEFINE_GUID(IID_IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IEnumConnections IEnumConnections, *LPENUMCONNECTIONS; + +DEFINE_GUID(IID_IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IEnumConnectionPoints IEnumConnectionPoints, *LPENUMCONNECTIONPOINTS; + +/***************************************************************************** + * IConnectionPoint interface + */ +#define ICOM_INTERFACE IConnectionPoint +#define IConnectionPoint_METHODS \ + ICOM_METHOD1(HRESULT,GetConnectionInterface, IID*,pIID); \ + ICOM_METHOD1(HRESULT,GetConnectionPointContainer, IConnectionPointContainer**,ppCPC); \ + ICOM_METHOD2(HRESULT,Advise, IUnknown*,pUnkSink, DWORD*,pdwCookie); \ + ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwCookie); \ + ICOM_METHOD1(HRESULT,EnumConnections, IEnumConnections**,ppEnum); +#define IConnectionPoint_IMETHODS \ + IUnknown_IMETHODS \ + IConnectionPoint_METHODS +ICOM_DEFINE(IConnectionPoint,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IConnectionPoint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IConnectionPoint_AddRef(p) ICOM_CALL (AddRef,p) +#define IConnectionPoint_Release(p) ICOM_CALL (Release,p) +/*** IConnectionPointContainer methods ***/ +#define IConnectionPoint_GetConnectionInterface(p,a) ICOM_CALL1(GetConnectionInterface,p,a) +#define IConnectionPoint_GetConnectionPointContainer(p,a) ICOM_CALL1(GetConnectionPointContainer,p,a) +#define IConnectionPoint_Advise(p,a,b) ICOM_CALL2(Advise,p,a,b) +#define IConnectionPoint_Unadvise(p,a) ICOM_CALL1(Unadvise,p,a) +#define IConnectionPoint_EnumConnections(p,a) ICOM_CALL1(EnumConnections,p,a) +#endif + + +/***************************************************************************** + * IConnectionPointContainer interface + */ +#define ICOM_INTERFACE IConnectionPointContainer +#define IConnectionPointContainer_METHODS \ + ICOM_METHOD1(HRESULT,EnumConnectionPoints, IEnumConnectionPoints**,ppEnum); \ + ICOM_METHOD2(HRESULT,FindConnectionPoint, REFIID,riid, IConnectionPoint**,ppCP); +#define IConnectionPointContainer_IMETHODS \ + IUnknown_IMETHODS \ + IConnectionPointContainer_METHODS +ICOM_DEFINE(IConnectionPointContainer,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IConnectionPointContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IConnectionPointContainer_AddRef(p) ICOM_CALL (AddRef,p) +#define IConnectionPointContainer_Release(p) ICOM_CALL (Release,p) +/*** IConnectionPointContainer methods ***/ +#define IConnectionPointContainer_EnumConnectionPoints(p,a) ICOM_CALL1(CreateInstance,p,a) +#define IConnectionPointContainer_FindConnectionPoint(p,a,b) ICOM_CALL2(LockServer,p,a,b) +#endif + + +/***************************************************************************** + * IEnumConnections interface + */ +#define ICOM_INTERFACE IEnumConnections +#define IEnumConnections_METHODS \ + ICOM_METHOD3(HRESULT,Next, ULONG,cConnections, LPCONNECTDATA,rgcd, ULONG*,pcFectched); \ + ICOM_METHOD1(HRESULT,Skip, ULONG,cConnections); \ + ICOM_METHOD (HRESULT,Reset); \ + ICOM_METHOD1(HRESULT,Clone, IEnumConnections**,ppEnum); +#define IEnumConnections_IMETHODS \ + IUnknown_IMETHODS \ + IEnumConnections_METHODS +ICOM_DEFINE(IEnumConnections,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IEnumConnections_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IEnumConnections_AddRef(p) ICOM_CALL (AddRef,p) +#define IEnumConnections_Release(p) ICOM_CALL (Release,p) +/*** IConnectionPointContainer methods ***/ +#define IEnumConnections_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c) +#define IEnumConnections_Skip(p,a) ICOM_CALL1(Skip,p,a) +#define IEnumConnections_Reset(p) ICOM_CALL (Reset,p) +#define IEnumConnections_Clone(p,a) ICOM_CALL1(Clone,p,a) +#endif + +/***************************************************************************** + * IEnumConnectionPoints interface + */ +#define ICOM_INTERFACE IEnumConnectionPoints +#define IEnumConnectionPoints_METHODS \ + ICOM_METHOD3(HRESULT,Next, ULONG,cConnections, LPCONNECTIONPOINT*,ppCP, ULONG*,pcFectched); \ + ICOM_METHOD1(HRESULT,Skip, ULONG,cConnections); \ + ICOM_METHOD (HRESULT,Reset); \ + ICOM_METHOD1(HRESULT,Clone, IEnumConnections**,ppEnum); +#define IEnumConnectionPoints_IMETHODS \ + IUnknown_IMETHODS \ + IEnumConnectionPoints_METHODS +ICOM_DEFINE(IEnumConnectionPoints,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IEnumConnectionPoints_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IEnumConnectionPoints_AddRef(p) ICOM_CALL (AddRef,p) +#define IEnumConnectionPoints_Release(p) ICOM_CALL (Release,p) +/*** IConnectionPointContainer methods ***/ +#define IEnumConnectionPoints_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c) +#define IEnumConnectionPoints_Skip(p,a) ICOM_CALL1(Skip,p,a) +#define IEnumConnectionPoints_Reset(p) ICOM_CALL (Reset,p) +#define IEnumConnectionPoints_Clone(p,a) ICOM_CALL1(Clone,p,a) +#endif + + + + +#endif /* __WINE_WINE_OBJ_CONTROL_H */ + + diff --git a/include/wine/obj_control.h b/include/wine/obj_control.h new file mode 100644 index 00000000000..9ed743561d2 --- /dev/null +++ b/include/wine/obj_control.h @@ -0,0 +1,319 @@ +/* + * Defines the COM interfaces and APIs related to structured data storage. + * + * Depends on 'obj_base.h'. + */ + +#ifndef __WINE_WINE_OBJ_CONTROL_H +#define __WINE_WINE_OBJ_CONTROL_H + + +#include "winbase.h" + + +/***************************************************************************** + * Declare the structures + */ + +typedef struct tagVARIANT_BLOB +{ + DWORD clSize; + DWORD rpcReserved; + ULONGLONG ahData[1]; +} wireVARIANT_BLOB; + +typedef struct tagUserVARIANT +{ + wireVARIANT_BLOB pVarBlob; +} UserVARIANT; + +typedef struct tagLICINFO +{ + LONG cbLicInfo; + BOOL32 fRuntimeKeyAvail; + BOOL32 fLicVerified; +} LICINFO, *LPLICINFO; + +typedef struct tagCONTROLINFO +{ + ULONG cb; + HACCEL32 hAccel; + USHORT cAccel; + DWORD dwFlags; +} CONTROLINFO, *LPCONTROLINFO; + +typedef enum tagCTRLINFO +{ + CTRLINFO_EATS_RETURN = 1, + CTRLINFO_EATS_ESCAPE = 2 +} CTRLINFO; + +typedef struct tagPOINTF +{ + FLOAT x; + FLOAT y; +} POINTF, *LPPOINTF; + +typedef enum tagXFORMCOORDS +{ + XFORMCOORDS_POSITION = 0x1, + XFORMCOORDS_SIZE = 0x2, + XFORMCOORDS_HIMETRICTOCONTAINER = 0x4, + XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8 +} XFORMCOORDS; + +typedef enum tagACTIVATEFLAGS +{ + ACTIVATE_WINDOWLESS = 1 +} ACTIVATE_FLAGS; + +typedef enum tagOLEDCFLAGS +{ + OLEDC_NODRAW = 0x1, + OLEDC_PAINTBKGND = 0x2, + OLEDC_OFFSCREEN = 0x4 +} OLEDCFLAGS; + +/***************************************************************************** + * Predeclare the interfaces + */ +DEFINE_GUID(IID_IOleControl, 0xb196b288, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IOleControl IOleControl, *LPOLECONTROL; + +DEFINE_GUID(IID_IOleControlSite, 0xb196b289, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IOleControlSite IOleControlSite, *LPOLECONTROLSITE; + +DEFINE_GUID(IID_IOleInPlaceSiteEx, 0x9c2cad80L, 0x3424, 0x11cf, 0xb6, 0x70, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8); +typedef struct IOleInPlaceSiteEx IOleInPlaceSiteEx, *LPOLEINPLACESITEEX; + +DEFINE_OLEGUID(IID_IOleInPlaceSiteWindowless, 0x00000000L, 0, 0); /* FIXME - NEED GUID */ +typedef struct IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless, *LPOLEINPLACESITEWINDOWLESS; + +DEFINE_OLEGUID(IID_IOleInPlaceObjectWindowless, 0x00000000L, 0, 0); /* FIXME - NEED GUID */ +typedef struct IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless, *LPOLEINPLACEOBJECTWINDOWLESS; + +DEFINE_GUID(IID_IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); +typedef struct IClassFactory2 IClassFactory2, *LPCLASSFACTORY2; + +/***************************************************************************** + * IOleControl interface + */ +#define ICOM_INTERFACE IOleControl +#define IOleControl_METHODS \ + ICOM_METHOD1(HRESULT,GetControlInfo, CONTROLINFO*,pCI); \ + ICOM_METHOD1(HRESULT,OnMnemonic, MSG32*,pMsg); \ + ICOM_METHOD1(HRESULT,OnAmbientPropertyChange, DISPID,dispID); \ + ICOM_METHOD1(HRESULT,FreezeEvents, BOOL32,bFreeze); +#define IOleControl_IMETHODS \ + IUnknown_IMETHODS \ + IOleControl_METHODS +ICOM_DEFINE(IOleControl,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IOleControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleControl_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleControl_Release(p) ICOM_CALL (Release,p) +/*** IOleControl methods ***/ +#define IOleControl_GetControlInfo(p,a) ICOM_CALL1(GetControlInfo,p,a) +#define IOleControl_OnMnemonic(p,a) ICOM_CALL1(OnMnemonic,p,a) +#define IOleControl_OnAmbientPropertyChange(p,a) ICOM_CALL1(OnAmbientPropertyChange,p,a) +#define IOleControl_FreezeEvents(p,a) ICOM_CALL1(FreezeEvents,p,a) +#endif + + +/***************************************************************************** + * IOleControlSite interface + */ +#define ICOM_INTERFACE IOleControlSite +#define IOleControlSite_METHODS \ + ICOM_METHOD (HRESULT,OnControlInfoChanged); \ + ICOM_METHOD1(HRESULT,LockInPlaceActive, BOOL32,fLock); \ + ICOM_METHOD3(HRESULT,TransformCoords, POINTL*,pPtlHimetric, POINTF*,pPtfContainer, DWORD,dwFlags); \ + ICOM_METHOD2(HRESULT,TranslateAccelerator, MSG32*,pMsg, DWORD,grfModifiers) ;\ + ICOM_METHOD1(HRESULT,OnFocus, BOOL32,fGotFocus); \ + ICOM_METHOD (HRESULT,ShowPropertyFrame); +#define IOleControlSite_IMETHODS \ + IUnknown_IMETHODS \ + IOleControlSite_METHODS +ICOM_DEFINE(IOleControlSite,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IOleControlSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleControlSite_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleControlSite_Release(p) ICOM_CALL (Release,p) +/*** IOleControlSite methods ***/ +#define IOleControlSite_OnControlInfoChanged(p) ICOM_CALL1(OnControlInfoChanged,p) +#define IOleControlSite_LockInPlaceActive(p,a) ICOM_CALL1(LockInPlaceActive,p,a) +#define IOleControlSite_TransformCoords(p,a,b,c) ICOM_CALL1(TransformCoords,p,a,b,c) +#define IOleControlSite_TranslateAccelerator(p,a,b) ICOM_CALL1(TranslateAccelerator,p,a,b) +#define IOleControlSite_OnFocus(p,a) ICOM_CALL1(OnFocus,p,a) +#define IOleControlSite_ShowPropertyFrame(p) ICOM_CALL1(ShowPropertyFrame,p) +#endif + + +/***************************************************************************** + * IOleInPlaceSiteEx interface + */ +#define ICOM_INTERFACE IOleInPlaceSiteEx +#define IOleInPlaceSiteEx_METHODS \ + ICOM_METHOD2(HRESULT,OnInPlaceActivateEx, BOOL32*,pfNoRedraw, DWORD,dwFlags); \ + ICOM_METHOD1(HRESULT,OnInPlaceDeactivateEx, BOOL32,fNoRedraw); \ + ICOM_METHOD (HRESULT,RequestUIActivate); +#define IOleInPlaceSiteEx_IMETHODS \ + IOleInPlaceSite_IMETHODS \ + IOleInPlaceSiteEx_METHODS +ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceSiteEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceSiteEx_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceSiteEx_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceSiteEx_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceSiteEx_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceSite methods ***/ +#define IOleInPlaceSiteEx_CanInPlaceActivate(p) ICOM_CALL (CanInPlaceActivate,p) +#define IOleInPlaceSiteEx_OnInPlaceActivate(p) ICOM_CALL (OnInPlaceActivate,p) +#define IOleInPlaceSiteEx_OnUIActivate(p) ICOM_CALL (OnUIActivate,p) +#define IOleInPlaceSiteEx_GetWindowContext(p,a,b,c,d,e) ICOM_CALL5(GetWindowContext,p,a,b,c,d,e) +#define IOleInPlaceSiteEx_Scroll(p,a) ICOM_CALL1(Scroll,p,a) +#define IOleInPlaceSiteEx_OnUIDeactivate(p,a) ICOM_CALL1(OnUIDeactivate,p,a) +#define IOleInPlaceSiteEx_OnInPlaceDeactivate(p) ICOM_CALL (OnInPlaceDeactivate,p) +#define IOleInPlaceSiteEx_DiscardUndoState(p) ICOM_CALL (DiscardUndoState,p) +#define IOleInPlaceSiteEx_DeactivateAndUndo(p) ICOM_CALL (DeactivateAndUndo,p) +#define IOleInPlaceSiteEx_OnPosRectChange(p,a) ICOM_CALL1(OnPosRectChange,p,a) +/*** IOleInPlaceSiteEx methods ***/ +#define IOleInPlaceSiteEx_OnInPlaceActivateEx(p,a,b) ICOM_CALL2(OnInPlaceActivateEx,p,a,b) +#define IOleInPlaceSiteEx_OnInPlaceDeactivateEx(p,a) ICOM_CALL1(OnInPlaceDeactivateEx,p,a) +#define IOleInPlaceSiteEx_RequestUIActivate(p) ICOM_CALL (RequestUIActivate,p) +#endif + + +/***************************************************************************** + * IOleInPlaceSiteWindowless interface + */ +#define ICOM_INTERFACE IOleInPlaceSiteWindowless +#define IOleInPlaceSiteWindowless_METHODS \ + ICOM_METHOD (HRESULT,CanWindowlessActivate); \ + ICOM_METHOD (HRESULT,GetCapture); \ + ICOM_METHOD1(HRESULT,SetCapture, BOOL32,fCapture); \ + ICOM_METHOD (HRESULT,GetFocus); \ + ICOM_METHOD1(HRESULT,SetFocus, BOOL32,fFocus); \ + ICOM_METHOD3(HRESULT,GetDC, LPCRECT32,pRect, DWORD,grfFlags, HDC32*,phDC); \ + ICOM_METHOD1(HRESULT,ReleaseDC, HDC32,hDC); \ + ICOM_METHOD2(HRESULT,InvalidateRect, LPCRECT32,pRect, BOOL32,fErase); \ + ICOM_METHOD2(HRESULT,InvalidateRgn, HRGN32,hRgn, BOOL32,fErase); \ + ICOM_METHOD4(HRESULT,ScrollRect, INT32,dx, INT32,dy, LPCRECT32,pRectScroll, LPCRECT32,pRectClip); \ + ICOM_METHOD1(HRESULT,AdjustRect, LPRECT32,prc); \ + ICOM_METHOD4(HRESULT,OnDefWindowMessage, UINT32,msg, WPARAM32,wParam, LPARAM,lParam, LRESULT*,plResult); +#define IOleInPlaceSiteWindowless_IMETHODS \ + IOleInPlaceSite_IMETHODS \ + IOleInPlaceSiteWindowless_METHODS +ICOM_DEFINE(IOleInPlaceSiteWindowless,IOleInPlaceSite) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceSiteWindowless_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceSiteWindowless_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceSiteWindowless_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceSiteWindowless_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceSiteWindowless_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceSitemethods ***/ +#define IOleInPlaceSiteWindowless_CanInPlaceActivate(p) ICOM_CALL (CanInPlaceActivate,p) +#define IOleInPlaceSiteWindowless_OnInPlaceActivate(p) ICOM_CALL (OnInPlaceActivate,p) +#define IOleInPlaceSiteWindowless_OnUIActivate(p) ICOM_CALL (OnUIActivate,p) +#define IOleInPlaceSiteWindowless_GetWindowContext(p,a,b,c,d,e) ICOM_CALL5(GetWindowContext,p,a,b,c,d,e) +#define IOleInPlaceSiteWindowless_Scroll(p,a) ICOM_CALL1(Scroll,p,a) +#define IOleInPlaceSiteWindowless_OnUIDeactivate(p,a) ICOM_CALL1(OnUIDeactivate,p,a) +#define IOleInPlaceSiteWindowless_OnInPlaceDeactivate(p) ICOM_CALL (OnInPlaceDeactivate,p) +#define IOleInPlaceSiteWindowless_DiscardUndoState(p) ICOM_CALL (DiscardUndoState,p) +#define IOleInPlaceSiteWindowless_DeactivateAndUndo(p) ICOM_CALL (DeactivateAndUndo,p) +#define IOleInPlaceSiteWindowless_OnPosRectChange(p,a) ICOM_CALL1(OnPosRectChange,p,a) +/*** IOleInPlaceSitemethods ***/ +#define IOleInPlaceSiteWindowless_CanWindowlessActivate(p) ICOM_CALL (CanInPlaceActivate,p) +#define IOleInPlaceSiteWindowless_GetCapture(p) ICOM_CALL (OnInPlaceActivate,p) +#define IOleInPlaceSiteWindowless_SetCapture(p,a) ICOM_CALL1(OnUIActivate,p,a) +#define IOleInPlaceSiteWindowless_GetFocus(p) ICOM_CALL (GetWindowContext,p) +#define IOleInPlaceSiteWindowless_SetFocus(p,a) ICOM_CALL1(Scroll,p,a) +#define IOleInPlaceSiteWindowless_GetDC(p,a,b,c) ICOM_CALL3(OnUIDeactivate,p,a,b,c) +#define IOleInPlaceSiteWindowless_ReleaseDC(p,a) ICOM_CALL1(OnInPlaceDeactivate,p,a) +#define IOleInPlaceSiteWindowless_InvalidateRect(p,a,b) ICOM_CALL2(DiscardUndoState,p,a,b) +#define IOleInPlaceSiteWindowless_InvalidateRgn(p,a,b) ICOM_CALL2(DeactivateAndUndo,p,a,b) +#define IOleInPlaceSiteWindowless_ScrollRect(p,a,b,c,d) ICOM_CALL4(OnPosRectChange,p,a,b,c,d) +#define IOleInPlaceSiteWindowless_AdjustRect(p,a) ICOM_CALL1(OnPosRectChange,p,a) +#define IOleInPlaceSiteWindowless_OnDefWindowMessage(p,a,b,c,d) ICOM_CALL4(OnPosRectChange,p,a,b,c,d) +#endif + + +/***************************************************************************** + * IOleInPlaceObjectWindowless interface + */ +#define ICOM_INTERFACE IOleInPlaceObjectWindowless +#define IOleInPlaceObjectWindowless_METHODS \ + ICOM_METHOD4(HRESULT,OnWindowMessage, UINT32,msg, WPARAM32,wParam, LPARAM,lParam, LRESULT*,plResult); \ + ICOM_METHOD1(HRESULT,GetDropTarget, IDropTarget**,ppDropTarget); +#define IOleInPlaceObjectWindowless_IMETHODS \ + IOleInPlaceObject_IMETHODS \ + IOleInPlaceObjectWindowless_METHODS +ICOM_DEFINE(IOleInPlaceObjectWindowless,IOleInPlaceObject) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceObjectWindowless_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceObjectWindowless_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceObjectWindowless_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceObjectWindowless_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceObjectWindowless_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceObject methods ***/ +#define IOleInPlaceObjectWindowless_InPlaceDeactivate(p) ICOM_CALL (InPlaceDeactivate,p) +#define IOleInPlaceObjectWindowless_UIDeactivate(p) ICOM_CALL (UIDeactivate,p) +#define IOleInPlaceObjectWindowless_SetObjectRects(p,a,b) ICOM_CALL2(SetObjectRects,p,a,b) +#define IOleInPlaceObjectWindowless_ReactivateAndUndo(p) ICOM_CALL (ReactivateAndUndo,p) +/*** IOleInPlaceObjectWindowless methods ***/ +#define IOleInPlaceObjectWindowless_OnWindowMessage(p,a,b,c,d) ICOM_CALL4(OnWindowMessage,p,a,b,c,d) +#define IOleInPlaceObjectWindowless_GetDropTarget(p,a) ICOM_CALL1(GetDropTarget,p,a) +#endif + + +/***************************************************************************** + * IClassFactory2 interface + */ +#define ICOM_INTERFACE IClassFactory2 +#define IClassFactory2_METHODS \ + ICOM_METHOD1(HRESULT,GetLicInfo, LICINFO*,pLicInfo); \ + ICOM_METHOD2(HRESULT,RequestLicKey, DWORD,dwReserved, BSTR32*,pBstrKey); \ + ICOM_METHOD5(HRESULT,CreateInstanceLic, IUnknown*,pUnkOuter, IUnknown*,pUnkReserved, REFIID,riid, BSTR32,bstrKey, PVOID*,ppvObj); +#define IClassFactory2_IMETHODS \ + IClassFactory_IMETHODS \ + IClassFactory2_METHODS +ICOM_DEFINE(IClassFactory2,IClassFactory) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknwon methods ***/ +#define IClassFactory2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IClassFactory2_AddRef(p) ICOM_CALL (AddRef,p) +#define IClassFactory2_Release(p) ICOM_CALL (Release,p) +/*** IClassFactory methods ***/ +#define IClassFactory2_CreateInstance(p,a,b,c) ICOM_CALL3(CreateInstance,p,a,b,c) +#define IClassFactory2_LockServer(p,a) ICOM_CALL1(LockServer,p,a) +/*** IClassFactory2 methods ***/ +#define IClassFactory2_GetLicInfo(p,a) ICOM_CALL1(GetLicInfo,p,a) +#define IClassFactory2_RequestLicKey(p,a,b) ICOM_CALL2(RequestLicKey,p,a,b) +#define IClassFactory2_CreateInstanceLic(p,a,b,c,d,e) ICOM_CALL5(CreateInstanceLic,p,a,b,c,d,e) +#endif + + +#endif /* __WINE_WINE_OBJ_CONTROL_H */ + + diff --git a/include/wine/obj_inplace.h b/include/wine/obj_inplace.h new file mode 100644 index 00000000000..4e5e657a9e6 --- /dev/null +++ b/include/wine/obj_inplace.h @@ -0,0 +1,425 @@ +/* + * Defines the COM interfaces and APIs related to structured data storage. + * + * Depends on 'obj_base.h'. + */ + +#ifndef __WINE_WINE_OBJ_INPLACE_H +#define __WINE_WINE_OBJ_INPLACE_H + + +#include "winbase.h" +#include "winuser.h" + +/***************************************************************************** + * Predeclare the structures + */ +typedef struct tagOleMenuGroupWidths +{ + LONG width[ 6 ]; +} OLEMENUGROUPWIDTHS32, *LPOLEMENUGROUPWIDTHS32; + +DECL_WINELIB_TYPE(OLEMENUGROUPWIDTHS) +DECL_WINELIB_TYPE(LPOLEMENUGROUPWIDTHS) + +typedef struct tagOleInPlaceFrameInfo +{ + UINT32 cb; + BOOL32 fMDIApp; + HWND32 hwndFrame; + HACCEL32 haccel; + UINT32 cAccelEntries; +} OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO; + +typedef enum tagOLEGETMONIKER +{ + OLEGETMONIKER_ONLYIFTHERE = 1, + OLEGETMONIKER_FORCEASSIGN = 2, + OLEGETMONIKER_UNASSIGN = 3, + OLEGETMONIKER_TEMPFORUSER = 4 +} OLEGETMONIKER; + +typedef enum tagOLERENDER +{ + OLERENDER_NONE = 0, + OLERENDER_DRAW = 1, + OLERENDER_FORMAT = 2, + OLERENDER_ASIS = 3 +} OLERENDER; + +typedef enum tagUSERCLASSTYPE +{ + USERCLASSTYPE_FULL = 1, + USERCLASSTYPE_SHORT = 2, + USERCLASSTYPE_APPNAME = 3 +} USERCLASSTYPE; + +typedef enum tagOLECLOSE +{ + OLECLOSE_SAVEIFDIRTY = 1, + OLECLOSE_NOSAVE = 2, + OLECLOSE_PROMPTSAVE = 3 +} OLECLOSE; + +typedef enum tagOLEUPDATE +{ + OLEUPDATE_ALWAYS = 1, + OLEUPDATE_ONCALL = 3 +} OLEUPDATE; + +typedef struct tagOLEVERB +{ + LONG lVerb; + LPOLESTR32 lpszVerbName; + DWORD fuFlags; + DWORD grfAttribs; +} OLEVERB, *LPOLEVERB; + +typedef HGLOBAL32 HOLEMENU32; +DECL_WINELIB_TYPE(HOLEMENU) +typedef LPRECT32 LPBORDERWIDTHS; +typedef LPCRECT32 LPCBORDERWIDTHS; + + +/***************************************************************************** + * Predeclare the interfaces + */ +DEFINE_OLEGUID(IID_IOleWindow, 0x00000114L, 0, 0); +typedef struct IOleWindow IOleWindow, *LPOLEWINDOW; + +DEFINE_OLEGUID(IID_IOleInPlaceObject, 0x00000113L, 0, 0); +typedef struct IOleInPlaceObject IOleInPlaceObject, *LPOLEINPLACEOBJECT; + +DEFINE_OLEGUID(IID_IOleInPlaceActiveObject, 0x00000117L, 0, 0); +typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject, *LPOLEINPLACEACTIVEOBJECT; + +DEFINE_OLEGUID(IID_IOleInPlaceUIWindow, 0x00000115L, 0, 0); +typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow, *LPOLEINPLACEUIWINDOW; + +DEFINE_OLEGUID(IID_IOleInPlaceFrame, 0x00000116L, 0, 0); +typedef struct IOleInPlaceFrame IOleInPlaceFrame, *LPOLEINPLACEFRAME; + +DEFINE_OLEGUID(IID_IOleInPlaceSite, 0x00000119L, 0, 0); +typedef struct IOleInPlaceSite IOleInPlaceSite, *LPOLEINPLACESITE; + +DEFINE_OLEGUID(IID_IOleClientSite, 0x00000118L, 0, 0); +typedef struct IOleClientSite IOleClientSite, *LPOLECLIENTSITE; + +DEFINE_OLEGUID(IID_IOleContainer, 0x0000011bL, 0, 0); +typedef struct IOleContainer IOleContainer, *LPOLECONTAINER; + +DEFINE_OLEGUID(IID_IParseDisplayName, 0x0000011aL, 0, 0); +typedef struct IParseDisplayName IParseDisplayName, *LPPARSEDISPLAYNAME; + +DEFINE_OLEGUID(IID_IOleItemContainer, 0x0000011aL, 0, 0); +typedef struct IOleItemContainer IOleItemContainer, *LPOLEITEMCONTAINER; + +/***************************************************************************** + * IOleWindow interface + */ +#define ICOM_INTERFACE IOleWindow +#define IOleWindow_METHODS \ + ICOM_METHOD1(HRESULT,GetWindow, HWND32*,phwnd); \ + ICOM_METHOD1(HRESULT,ContextSensitiveHelp, BOOL32,fEnterMode); +#define IOleWindow_IMETHODS \ + IUnknown_IMETHODS \ + IOleWindow_METHODS +ICOM_DEFINE(IOleWindow,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleWindow_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b) +#define IOleWindow_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p) +#define IOleWindow_Release(p) ICOM_ICALL (IUnknown,Release,p) +/*** IOleWindow methods ***/ +#define IOleWindow_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleWindow_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +#endif + + +/***************************************************************************** + * IOleInPlaceObject interface + */ +#define ICOM_INTERFACE IOleInPlaceObject +#define IOleInPlaceObject_METHODS \ + ICOM_METHOD (HRESULT,InPlaceDeactivate); \ + ICOM_METHOD (HRESULT,UIDeactivate); \ + ICOM_METHOD2(HRESULT,SetObjectRects, LPCRECT32,lprcPosRect, LPCRECT32,lprcClipRect); \ + ICOM_METHOD (HRESULT,ReactivateAndUndo); +#define IOleInPlaceObject_IMETHODS \ + IOleWindow_IMETHODS \ + IOleInPlaceObject_METHODS +ICOM_DEFINE(IOleInPlaceObject,IOleWindow) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceObject_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceObject_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceObject_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceObject_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceObject methods ***/ +#define IOleInPlaceObject_InPlaceDeactivate(p) ICOM_CALL (InPlaceDeactivate,p) +#define IOleInPlaceObject_UIDeactivate(p) ICOM_CALL (UIDeactivate,p) +#define IOleInPlaceObject_SetObjectRects(p,a,b) ICOM_CALL2(SetObjectRects,p,a,b) +#define IOleInPlaceObject_ReactivateAndUndo(p) ICOM_CALL (ReactivateAndUndo,p) +#endif + +/***************************************************************************** + * IOleInPlaceActiveObject interface + */ +#define ICOM_INTERFACE IOleInPlaceActiveObject +#define IOleInPlaceActiveObject_METHODS \ + ICOM_METHOD1(HRESULT,TranslateAccelerator, LPMSG32,lpmsg); \ + ICOM_METHOD1(HRESULT,OnFrameWindowActivate, BOOL32,fActivate); \ + ICOM_METHOD1(HRESULT,OnDocWindowActivate, BOOL32,fActivate); \ + ICOM_METHOD3(HRESULT,ResizeBorder, LPCRECT32,prcBorder, IOleInPlaceUIWindow*,pUIWindow, BOOL32,fWindowFrame); \ + ICOM_METHOD1(HRESULT,EnableModeless, BOOL32,fEnable); +#define IOleInPlaceActiveObject_IMETHODS \ + IOleWindow_IMETHODS \ + IOleInPlaceActiveObject_METHODS +ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceActiveObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceActiveObject_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceActiveObject_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceActiveObject_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceActiveObject_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceActiveObject methods ***/ +#define IOleInPlaceActiveObject_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a) +#define IOleInPlaceActiveObject_OnFrameWindowActivate(p,a) ICOM_CALL1(OnFrameWindowActivate,p,a) +#define IOleInPlaceActiveObject_OnDocWindowActivate(p,a) ICOM_CALL1(OnDocWindowActivate,p,a) +#define IOleInPlaceActiveObject_ResizeBorder(p,a,b,c) ICOM_CALL3(ResizeBorder,p,a,b,c) +#define IOleInPlaceActiveObject_EnableModeless(p,a) ICOM_CALL1(EnableModeless,p,a) +#endif + +/***************************************************************************** + * IOleInPlaceUIWindow interface + */ +#define ICOM_INTERFACE IOleInPlaceUIWindow +#define IOleInPlaceUIWindow_METHODS \ + ICOM_METHOD1(HRESULT,GetBorder, LPRECT32,lprectBorder); \ + ICOM_METHOD1(HRESULT,RequestBorderSpace, LPCBORDERWIDTHS,pborderwidths); \ + ICOM_METHOD1(HRESULT,SetBorderSpace, LPCBORDERWIDTHS,pborderwidths); \ + ICOM_METHOD2(HRESULT,SetActiveObject, IOleInPlaceActiveObject*,pActiveObject, LPCOLESTR32,pszObjName); +#define IOleInPlaceUIWindow_IMETHODS \ + IOleWindow_IMETHODS \ + IOleInPlaceUIWindow_METHODS +ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceUIWindow_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceUIWindow_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceUIWindow_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceUIWindow_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceUIWindow_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceUIWindow methods ***/ +#define IOleInPlaceUIWindow_GetBorder(p,a) ICOM_CALL1(GetBorder,p,a) +#define IOleInPlaceUIWindow_RequestBorderSpace(p,a) ICOM_CALL1(RequestBorderSpace,p,a) +#define IOleInPlaceUIWindow_SetBorderSpace(p,a) ICOM_CALL1(SetBorderSpace,p,a) +#define IOleInPlaceUIWindow_SetActiveObject(p,a,b) ICOM_CALL2(SetActiveObject,p,a,b) +#endif + + +/***************************************************************************** + * IOleInPlaceFrame interface + */ +#define ICOM_INTERFACE IOleInPlaceFrame +#define IOleInPlaceFrame_METHODS \ + ICOM_METHOD2 (HRESULT,InsertMenus, HMENU,hemnuShared, LPOLEMENUGROUPWIDTHS32,lpMenuWidths); \ + ICOM_METHOD3 (HRESULT,SetMenu, HMENU,hemnuShared, HOLEMENU,holemenu, HWND32,hwndActiveObject); \ + ICOM_METHOD1 (HRESULT,RemoveMenus, HMENU,hemnuShared); \ + ICOM_METHOD1 (HRESULT,SetStatusText, LPCOLESTR32,pszStatusText); \ + ICOM_METHOD1 (HRESULT,EnableModeless, BOOL32,fEnable); \ + ICOM_METHOD2 (HRESULT,TranslateAccelerator, LPMSG32,lpmsg, WORD,wID); +#define IOleInPlaceFrame_IMETHODS \ + IOleInPlaceUIWindow_IMETHODS \ + IOleInPlaceFrame_METHODS +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceFrame_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceFrame_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceFrame_GetWindow ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceFrame_ContextSensitiveHelp ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceUIWindow methods ***/ +#define IOleInPlaceFrame_GetBorder ICOM_CALL1(GetBorder,p,a) +#define IOleInPlaceFrame_RequestBorderSpace ICOM_CALL1(RequestBorderSpace,p,a) +#define IOleInPlaceFrame_SetBorderSpace ICOM_CALL1(SetBorderSpace,p,a) +#define IOleInPlaceFrame_SetActiveObject ICOM_CALL2(SetActiveObject,p,a,b) +/*** IOleInPlaceFrame methods ***/ +#define IOleInPlaceFrame_InsertMenus ICOM_CALL2(InsertMenus,p,a,b) +#define IOleInPlaceFrame_SetMenu ICOM_CALL3(SetMenu,p,a,b,c) +#define IOleInPlaceFrame_RemoveMenus ICOM_CALL1(RemoveMenus,p,a) +#define IOleInPlaceFrame_SetStatusText ICOM_CALL1(SetStatusText,p,a) +#define IOleInPlaceFrame_EnableModeless ICOM_CALL1(EnableModeless,p,a) +#define IOleInPlaceFrame_TranslateAccelerator ICOM_CALL2(TranslateAccelerator,p,a,b) +#endif + + +/***************************************************************************** + * IOleInPlaceSite interface + */ +#define ICOM_INTERFACE IOleInPlaceSite +#define IOleInPlaceSite_METHODS \ + ICOM_METHOD (HRESULT,CanInPlaceActivate); \ + ICOM_METHOD (HRESULT,OnInPlaceActivate); \ + ICOM_METHOD (HRESULT,OnUIActivate); \ + ICOM_METHOD5(HRESULT,GetWindowContext, IOleInPlaceFrame**,ppFrame, IOleInPlaceUIWindow**,ppDoc, LPRECT32,lprcPosRect, LPRECT32,lprcClipRect, LPOLEINPLACEFRAMEINFO,lpFrameInfo); \ + ICOM_METHOD1(HRESULT,Scroll, SIZE32,scrollExtant); \ + ICOM_METHOD1(HRESULT,OnUIDeactivate, BOOL32,fUndoable); \ + ICOM_METHOD (HRESULT,OnInPlaceDeactivate); \ + ICOM_METHOD (HRESULT,DiscardUndoState); \ + ICOM_METHOD (HRESULT,DeactivateAndUndo); \ + ICOM_METHOD1(HRESULT,OnPosRectChange, LPCRECT32,lprcPosRect); +#define IOleInPlaceSite_IMETHODS \ + IOleWindow_IMETHODS \ + IOleInPlaceSite_METHODS +ICOM_DEFINE(IOleInPlaceSite,IOleWindow) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleInPlaceSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleInPlaceSite_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleInPlaceSite_Release(p) ICOM_CALL (Release,p) +/*** IOleWindow methods ***/ +#define IOleInPlaceSite_GetWindow(p,a) ICOM_CALL1(GetWindow,p,a) +#define IOleInPlaceSite_ContextSensitiveHelp(p,a) ICOM_CALL1(ContextSensitiveHelp,p,a) +/*** IOleInPlaceSite methods ***/ +#define IOleInPlaceSite_CanInPlaceActivate(p) ICOM_CALL (CanInPlaceActivate,p) +#define IOleInPlaceSite_OnInPlaceActivate(p) ICOM_CALL (OnInPlaceActivate,p) +#define IOleInPlaceSite_OnUIActivate(p) ICOM_CALL (OnUIActivate,p) +#define IOleInPlaceSite_GetWindowContext(p,a,b,c,d,e) ICOM_CALL5(GetWindowContext,p,a,b,c,d,e) +#define IOleInPlaceSite_Scroll(p,a) ICOM_CALL1(Scroll,p,a) +#define IOleInPlaceSite_OnUIDeactivate(p,a) ICOM_CALL1(OnUIDeactivate,p,a) +#define IOleInPlaceSite_OnInPlaceDeactivate(p) ICOM_CALL (OnInPlaceDeactivate,p) +#define IOleInPlaceSite_DiscardUndoState(p) ICOM_CALL (DiscardUndoState,p) +#define IOleInPlaceSite_DeactivateAndUndo(p) ICOM_CALL (DeactivateAndUndo,p) +#define IOleInPlaceSite_OnPosRectChange(p,a) ICOM_CALL1(OnPosRectChange,p,a) +#endif + + +/***************************************************************************** + * IOleClientSite interface + */ +#define ICOM_INTERFACE IOleClientSite +#define IOleClientSite_METHODS \ + ICOM_METHOD (HRESULT,SaveObject); \ + ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk); \ + ICOM_METHOD1(HRESULT,GetContainer, IOleContainer**,ppContainer); \ + ICOM_METHOD (HRESULT,ShowObject); \ + ICOM_METHOD1(HRESULT,OnShowWindow, BOOL32,fShow); \ + ICOM_METHOD (HRESULT,RequestNewObjectLayout); +#define IOleClientSite_IMETHODS \ + IUnknown_IMETHODS \ + IOleClientSite_METHODS +ICOM_DEFINE(IOleClientSite,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleClientSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleClientSite_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleClientSite_Release(p) ICOM_CALL (Release,p) +/*** IOleClientSite methods ***/ +#define IOleClientSite_SaveObject(p) ICOM_CALL (SaveObject,p) +#define IOleClientSite_GetMoniker(p,a,b,c) ICOM_CALL3(GetMoniker,p,a,b,c) +#define IOleClientSite_GetContainer(p,a) ICOM_CALL1(GetContainer,p,a) +#define IOleClientSite_ShowObject(p) ICOM_CALL (ShowObject,p) +#define IOleClientSite_OnShowWindow(p,a) ICOM_CALL1(OnShowWindow,p,a) +#define IOleClientSite_RequestNewObjectLayout(p) ICOM_CALL (RequestNewObjectLayout(p) +#endif + + +/***************************************************************************** + * IParseDisplayName interface + */ +#define ICOM_INTERFACE IParseDisplayName +#define IParseDisplayName_METHODS \ + ICOM_METHOD4(HRESULT,ParseDisplayName, IBindCtx*,pbc, LPOLESTR32,pszDisplayName, ULONG*,pchEaten, IMoniker**,ppmkOut); +#define IParseDisplayName_IMETHODS \ + IUnknown_IMETHODS \ + IParseDisplayName_METHODS +ICOM_DEFINE(IParseDisplayName,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IParseDisplayName_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IParseDisplayName_AddRef(p) ICOM_CALL (AddRef,p) +#define IParseDisplayName_Release(p) ICOM_CALL (Release,p) +/*** IParseDisplayName methods ***/ +#define IParseDisplayName_ParseDisplayName(p,a,b,c,d) ICOM_CALL4(ParseDisplayName,a,b,c,d) +#endif + + +/***************************************************************************** + * IOleContainer interface + */ +#define ICOM_INTERFACE IOleContainer +#define IOleContainer_METHODS \ + ICOM_METHOD2(HRESULT,EnumObjects, DWORD,grfFlags, IEnumUnknown**,ppenum); \ + ICOM_METHOD1(HRESULT,LockContainer, BOOL32,fLock); +#define IOleContainer_IMETHODS \ + IParseDisplayName_IMETHODS \ + IOleContainer_METHODS +ICOM_DEFINE(IOleContainer,IParseDisplayName) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleContainer_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleContainer_Release(p) ICOM_CALL (Release,p) +/*** IParseDisplayName methods ***/ +#define IOleContainer_ParseDisplayName(p,a,b,c,d) ICOM_CALL4(ParseDisplayName,p,a,b,c,d) +/*** IOleClientSite methods ***/ +#define IOleContainer_EnumObjects(p,a,b) ICOM_CALL (EnumObjects,p,a,b) +#define IOleContainer_LockContainer(p,a) ICOM_CALL3(LockContainer,p,a) +#endif + + +/***************************************************************************** + * IOleItemContainer interface + */ +#define ICOM_INTERFACE IOleItemContainer +#define IOleItemContainer_METHODS \ + ICOM_METHOD5(HRESULT,GetObject, LPOLESTR32,pszItem, DWORD,dwSpeedNeeded, IBindCtx*,pbc, REFIID,riid, void*,ppvObject); \ + ICOM_METHOD4(HRESULT,GetObjectStorage, LPOLESTR32,pszItem, IBindCtx*,pbc, REFIID,riid, void*,ppvStorage); \ + ICOM_METHOD1(HRESULT,IsRunning, LPOLESTR32,pszItem); +#define IOleItemContainer_IMETHODS \ + IOleContainer_IMETHODS \ + IOleItemContainer_METHODS +ICOM_DEFINE(IOleItemContainer,IOleContainer) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleItemContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleItemContainer_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleItemContainer_Release(p) ICOM_CALL (Release,p) +/*** IParseDisplayName methods ***/ +#define IOleItemContainer_GetObject(p,a,b,c,d,e) ICOM_CALL5(GetObject,p,a,b,c,d,e) +#define IOleItemContainer_GetObjectStorage(p,a,b,c,d) ICOM_CALL4(GetObjectStorage,p,a,b,c,d) +#define IOleItemContainer_IsRunning(p,a) ICOM_CALL1(IsRunning,p,a) +#endif + + + +#endif /* __WINE_WINE_OBJ_INPLACE_H */ + + diff --git a/include/wintypes.h b/include/wintypes.h index 80913310f7e..df17b770085 100644 --- a/include/wintypes.h +++ b/include/wintypes.h @@ -532,10 +532,12 @@ typedef struct tagRECT INT32 right; INT32 bottom; } RECT32, *PRECT32, *LPRECT32; +typedef const RECT32 *LPCRECT32; DECL_WINELIB_TYPE(RECT) DECL_WINELIB_TYPE(PRECT) DECL_WINELIB_TYPE(LPRECT) +DECL_WINELIB_TYPE(LPCRECT) typedef struct tagRECTL { diff --git a/ole/olefont.c b/ole/olefont.c index 2c892929d32..475fce67347 100644 --- a/ole/olefont.c +++ b/ole/olefont.c @@ -10,8 +10,8 @@ #include "windows.h" #include "winerror.h" -#include "ocidl.h" #include "oleauto.h" +#include "ocidl.h" #include "olectl.h" #include "debug.h"