Commit ea1640fc authored by Paul Quinn's avatar Paul Quinn Committed by Alexandre Julliard

Added a lot of new OLE interfaces.

parent 91d72b99
......@@ -7,7 +7,7 @@
*/
#include <string.h>
#include "wine/obj_dataobject.h"
#include "oleidl.h"
#include "pidl.h"
#include "winerror.h"
#include "shell32_main.h"
......
......@@ -11,7 +11,6 @@
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "ole.h"
#include "ole2.h"
#include "debug.h"
#include "shlobj.h"
......
......@@ -12,8 +12,7 @@
#include "debug.h"
#include "winerror.h"
#include "wine/obj_base.h"
#include "wine/obj_dragdrop.h"
#include "oleidl.h"
#include "shlguid.h"
#include "pidl.h"
......
......@@ -10,6 +10,7 @@ extern "C" {
#endif
#include "wintypes.h" /* needed for CHOOSEFONT structure */
#include "winuser.h"
#define OFN_READONLY 0x00000001
#define OFN_OVERWRITEPROMPT 0x00000002
......
#ifndef __WINE_OAIDL_H
#define __WINE_OAIDL_H
#include "ole2.h"
#include "objidl.h"
#include "wine/obj_base.h"
/* the following depend only on obj_base.h */
#include "wine/obj_oleaut.h"
typedef enum tagCALLCONV {
CC_CDECL = 1,
CC_MSCPASCAL = CC_CDECL + 1,
CC_PASCAL = CC_MSCPASCAL,
CC_MACPASCAL = CC_PASCAL + 1,
CC_STDCALL = CC_MACPASCAL + 1,
CC_RESERVED = CC_STDCALL + 1,
CC_SYSCALL = CC_RESERVED + 1,
CC_MPWCDECL = CC_SYSCALL + 1,
CC_MPWPASCAL = CC_MPWCDECL + 1,
CC_MAX = CC_MPWPASCAL + 1
} CALLCONV;
#endif /* _WINE_OAIDL_H */
......@@ -18,5 +18,115 @@
/* the following depend on obj_moniker.h */
#include "wine/obj_dataobject.h"
#include "wine/obj_dragdrop.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
#define EXTERN_C extern "C"
#else
#define EXTERN_C extern
#endif
#define STDMETHODCALLTYPE __stdcall
#define STDMETHODVCALLTYPE __cdecl
#define STDAPICALLTYPE __stdcall
#define STDAPIVCALLTYPE __cdecl
#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
#define STDAPI_(type) EXTERN_C type STDAPICALLTYPE
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
#define STDMETHODIMP_(type) type STDMETHODCALLTYPE
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
#define WINOLEAPI STDAPI
#define WINOLEAPI_(type) STDAPI_(type)
#define BEGIN_INTERFACE
#define END_INTERFACE
#ifdef __LIBMFC__
/* All of these will eventually need to go once headers in win_include are wynified. */
/* These macros are msdev's way of defining COM objects. */
#if defined(__cplusplus) && !defined(CINTERFACE)
#define interface struct
#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
#define PURE = 0
#define THIS_
#define THIS void
#define DECLARE_INTERFACE(iface) interface iface
#define DECLARE_INTERFACE_(iface, baseiface) interface iface : public baseiface
#if !defined(BEGIN_INTERFACE)
#if defined(_MPPC_) && \
( (defined(_MSC_VER) || defined(__SC__) || defined(__MWERKS__)) && \
!defined(NO_NULL_VTABLE_ENTRY) )
#define BEGIN_INTERFACE virtual void a() {}
#define END_INTERFACE
#else
#define BEGIN_INTERFACE
#define END_INTERFACE
#endif
#endif
#else
#define interface struct
#define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE * method)
#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method)
#if !defined(BEGIN_INTERFACE)
#if defined(_MPPC_)
#define BEGIN_INTERFACE void *b;
#define END_INTERFACE
#else
#define BEGIN_INTERFACE
#define END_INTERFACE
#endif
#endif
#define PURE
#define THIS_ INTERFACE FAR* This,
#define THIS INTERFACE FAR* This
#ifdef CONST_VTABLE
#undef CONST_VTBL
#define CONST_VTBL const
#define DECLARE_INTERFACE(iface) typedef interface iface { \
const struct iface##Vtbl FAR* lpVtbl; \
} iface; \
typedef const struct iface##Vtbl iface##Vtbl; \
const struct iface##Vtbl
#else
#undef CONST_VTBL
#define CONST_VTBL
#define DECLARE_INTERFACE(iface) typedef interface iface { \
struct iface##Vtbl FAR* lpVtbl; \
} iface; \
typedef struct iface##Vtbl iface##Vtbl; \
struct iface##Vtbl
#endif
#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface)
#endif
/* end MsDev's style, all of that must eventually go! */
#endif /* __LIBMFC__ */
#ifdef __cplusplus
}; /* extern "C" { */
#endif
#endif /* __WINE_OBJBASE_H */
......@@ -6,9 +6,12 @@
/* the following depend only on obj_base.h */
#include "wine/obj_olefont.h"
#include "wine/obj_picture.h"
#include "wine/obj_control.h"
#include "wine/obj_connection.h"
#include "wine/obj_property.h"
#include "wine/obj_oleundo.h"
#endif /* __WINE_OCIDL_H */
......
......@@ -14,6 +14,9 @@
*/
#include "wtypes.h"
#ifdef __cplusplus
extern "C" {
#endif
#define OLESTR16(x) x
#define OLESTR(x) L##x /* probably wrong */
......@@ -277,4 +280,8 @@ HINSTANCE WINAPI CoLoadLibrary(LPSTR lpszLibName, BOOL bAutoFree);
void WINAPI CoFreeUnusedLibraries(void);
void WINAPI CoFreeAllLibraries(void);
#ifdef __cplusplus
} /*extern*/
#endif
#endif /* __WINE_OLE_H */
/*
* ole2ver.h - Version number info
*/
#ifndef __WINE_OLE2VER_H
#define __WINE_OLE2VER_H
/* OLE version */
#define rmm 23
#define rup 639
#endif /* __WINE_OLE2VER_H */
......@@ -5,8 +5,9 @@
extern "C" {
#endif
#include <ole.h>
/*#include <ole.h> */
#include "mapidefs.h"
#include "wine/obj_oleaut.h"
#include "oaidl.h"
BSTR16 WINAPI SysAllocString16(LPOLESTR16);
......
......@@ -2,7 +2,6 @@
#define __WINE_OLECTL_H
#include "wintypes.h"
#include "ole.h"
#define WINOLECTLAPI INT WINAPI
......@@ -22,6 +21,86 @@ typedef struct tagFONTDESC {
WINOLECTLAPI OleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid, VOID** ppvObj);
typedef long OLE_XPOS_PIXELS;
typedef long OLE_YPOS_PIXELS;
typedef long OLE_XSIZE_PIXELS;
typedef long OLE_YSIZE_PIXELS;
typedef float OLE_XPOS_CONTAINER;
typedef float OLE_YPOS_CONTAINER;
typedef float OLE_XSIZE_CONTAINER;
typedef float OLE_YSIZE_CONTAINER;
typedef enum
{
triUnchecked = 0,
triChecked = 1,
triGray = 2
} OLE_TRISTATE;
typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
typedef VARIANT_BOOL OLE_CANCELBOOL;
typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
/* standard dispatch ID's */
#define DISPID_CLICK (-600)
#define DISPID_DBLCLICK (-601)
#define DISPID_KEYDOWN (-602)
#define DISPID_KEYPRESS (-603)
#define DISPID_KEYUP (-604)
#define DISPID_MOUSEDOWN (-605)
#define DISPID_MOUSEMOVE (-606)
#define DISPID_MOUSEUP (-607)
#define DISPID_ERROREVENT (-608)
#define DISPID_READYSTATECHANGE (-609)
#define DISPID_AMBIENT_BACKCOLOR (-701)
#define DISPID_AMBIENT_DISPLAYNAME (-702)
#define DISPID_AMBIENT_FONT (-703)
#define DISPID_AMBIENT_FORECOLOR (-704)
#define DISPID_AMBIENT_LOCALEID (-705)
#define DISPID_AMBIENT_MESSAGEREFLECT (-706)
#define DISPID_AMBIENT_SCALEUNITS (-707)
#define DISPID_AMBIENT_TEXTALIGN (-708)
#define DISPID_AMBIENT_USERMODE (-709)
#define DISPID_AMBIENT_UIDEAD (-710)
#define DISPID_AMBIENT_SHOWGRABHANDLES (-711)
#define DISPID_AMBIENT_SHOWHATCHING (-712)
#define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
#define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
#define DISPID_AMBIENT_AUTOCLIP (-715)
#define DISPID_AMBIENT_APPEARANCE (-716)
#define DISPID_AMBIENT_PALETTE (-726)
#define DISPID_AMBIENT_TRANSFERPRIORITY (-728)
#define DISPID_Name (-800)
#define DISPID_Delete (-801)
#define DISPID_Object (-802)
#define DISPID_Parent (-803)
/* Reflected Window Message IDs */
#define OCM__BASE (WM_USER+0x1c00)
#define OCM_COMMAND (OCM__BASE + WM_COMMAND)
#define OCM_CTLCOLORBTN (OCM__BASE + WM_CTLCOLORBTN)
#define OCM_CTLCOLOREDIT (OCM__BASE + WM_CTLCOLOREDIT)
#define OCM_CTLCOLORDLG (OCM__BASE + WM_CTLCOLORDLG)
#define OCM_CTLCOLORLISTBOX (OCM__BASE + WM_CTLCOLORLISTBOX)
#define OCM_CTLCOLORMSGBOX (OCM__BASE + WM_CTLCOLORMSGBOX)
#define OCM_CTLCOLORSCROLLBAR (OCM__BASE + WM_CTLCOLORSCROLLBAR)
#define OCM_CTLCOLORSTATIC (OCM__BASE + WM_CTLCOLORSTATIC)
#define OCM_DRAWITEM (OCM__BASE + WM_DRAWITEM)
#define OCM_MEASUREITEM (OCM__BASE + WM_MEASUREITEM)
#define OCM_DELETEITEM (OCM__BASE + WM_DELETEITEM)
#define OCM_VKEYTOITEM (OCM__BASE + WM_VKEYTOITEM)
#define OCM_CHARTOITEM (OCM__BASE + WM_CHARTOITEM)
#define OCM_COMPAREITEM (OCM__BASE + WM_COMPAREITEM)
#define OCM_HSCROLL (OCM__BASE + WM_HSCROLL)
#define OCM_VSCROLL (OCM__BASE + WM_VSCROLL)
#define OCM_PARENTNOTIFY (OCM__BASE + WM_PARENTNOTIFY)
#define OCM_NOTIFY (OCM__BASE + WM_NOTIFY)
#endif /* __WINE_OLECTL_H */
......@@ -18,6 +18,8 @@
#include "wine/obj_inplace.h"
#include "wine/obj_cache.h"
#include "wine/obj_oleobj.h"
#include "wine/obj_oleview.h"
#endif /* __WINE_OLEIDL_H */
......@@ -48,7 +48,5 @@ DEFINE_GUID (IID_IDockingWindowFrame, 0x47D2657AL, 0x7B27, 0x11D0, 0x8C, 0xA9, 0
* the following should be moved to the right place
*/
DEFINE_GUID (IID_MyComputer, 0x20D04FE0L, 0x3AEA, 0x1069, 0xA2, 0xD8, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
DEFINE_SHLGUID(IID_IEnumOLEVERB, 0x00000104L, 0, 0);
DEFINE_SHLGUID(IID_IViewObject, 0x0000010DL, 0, 0);
#endif /* __WINE_SHLGUID_H */
......@@ -7,7 +7,6 @@
#include "wine/obj_shelllink.h"
#include "ole2.h"
#include "shell.h"
#include "oleobj.h"
#include "commctrl.h"
#include "prsht.h"
......@@ -61,7 +60,7 @@ typedef struct _STRRET
/*****************************************************************************
* IContextMenu interface
*/
#define THIS LPCONTEXTMENU this
#define THIS LPCONTEXTMENU me
/* default menu items*/
#define IDM_EXPLORE 0
......@@ -178,18 +177,6 @@ ICOM_DEFINE(IContextMenu, IUnknown)
#define IContextMenu_HandleMenuMsg(p,a,b,c) ICOM_CALL3(HandleMenuMsg,p,a,b,c)
#endif
/*****************************************************************************
* structures for shell clipboard formats
*/
typedef enum tagDVASPECT
{ DVASPECT_CONTENT = 1,
DVASPECT_THUMBNAIL = 2,
DVASPECT_ICON = 4,
DVASPECT_DOCPRINT = 8
} DVASPECT;
/* shell specific clipboard formats */
/* DATAOBJECT_InitShellIDList*/
#define CFSTR_SHELLIDLIST "Shell IDList Array" /* CF_IDLIST */
......@@ -232,7 +219,7 @@ extern UINT cfFileContents;
*/
typedef struct tagLPIDLLIST *LPIDLLIST, IDLList;
#define THIS LPIDLLIST this
#define THIS LPIDLLIST me
typedef enum
{ State_UnInit=1,
......@@ -257,14 +244,14 @@ struct tagLPIDLLIST
};
extern LPIDLLIST IDLList_Constructor (UINT uStep);
extern void IDLList_Destructor(LPIDLLIST this);
extern void IDLList_Destructor(LPIDLLIST me);
#undef THIS
/*****************************************************************************
* IShellExtInit interface
*/
#define THIS LPSHELLEXTINIT this
#define THIS LPSHELLEXTINIT me
typedef struct IShellExtInit_VTable
{ /* *** IUnknown methods *** */
......@@ -286,7 +273,7 @@ struct tagSHELLEXTINIT
/*****************************************************************************
* IEnumIDList interface
*/
#define THIS LPENUMIDLIST this
#define THIS LPENUMIDLIST me
typedef struct tagENUMLIST
{ struct tagENUMLIST *pNext;
......@@ -374,7 +361,7 @@ typedef const FOLDERSETTINGS * LPCFOLDERSETTINGS;
* IShellFolder interface
*/
#define THIS LPSHELLFOLDER this
#define THIS LPSHELLFOLDER me
/* IShellFolder::GetDisplayNameOf/SetNameOf uFlags */
typedef enum
......@@ -454,7 +441,7 @@ DWORD WINAPI SHGetDesktopFolder(LPSHELLFOLDER *);
/************************************************************************
* IShellBrowser interface
*/
#define THIS LPSHELLBROWSER this
#define THIS LPSHELLBROWSER me
/* targets for GetWindow/SendControlMsg */
#define FCW_STATUS 0x0001
#define FCW_TOOLBAR 0x0002
......@@ -534,7 +521,7 @@ struct tagSHELLBROWSER
/************************************************************************
* IShellView interface
*/
#define THIS LPSHELLVIEW this
#define THIS LPSHELLVIEW me
/* shellview select item flags*/
#define SVSI_DESELECT 0x0000
......@@ -666,7 +653,7 @@ typedef GUID SHELLVIEWID;
/****************************************************************************
* ICommDlgBrowser interface
*/
#define THIS LPCOMMDLGBROWSER this
#define THIS LPCOMMDLGBROWSER me
/* for OnStateChange*/
#define CDBOSC_SETFOCUS 0x00000000
......@@ -698,7 +685,7 @@ struct tagCOMMDLGBROWSER
* FIXME
* Is the ExtractIconA interface
*/
#define THIS LPEXTRACTICON this
#define THIS LPEXTRACTICON me
/* GetIconLocation() input flags*/
#define GIL_OPENICON 0x0001 /* allows containers to specify an "open" look */
......@@ -738,7 +725,7 @@ DWORD WINAPI SHMapPIDLToSystemImageListIndex(LPSHELLFOLDER sh,LPITEMIDLIST pidl,
* IShellIcon interface
*/
#define THIS LPSHELLICON this
#define THIS LPSHELLICON me
typedef struct IShellIcon_VTable
{ /*** IUnknown methods ***/
......@@ -758,7 +745,7 @@ struct tagSHELLICON
/****************************************************************************
* IDockingWindowFrame interface
*/
#define THIS LPDOCKINGWINDOWFRAME this
#define THIS LPDOCKINGWINDOWFRAME me
#define DWFRF_NORMAL 0x0000 /* femove toolbar flags*/
#define DWFRF_DELETECONFIGDATA 0x0001
......
......@@ -943,16 +943,46 @@ typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_I
#define DMORIENT_LANDSCAPE 2
#define DMPAPER_LETTER 1
#define DMPAPER_LETTERSMALL 2
#define DMPAPER_TABLOID 3
#define DMPAPER_LEDGER 4
#define DMPAPER_LEGAL 5
#define DMPAPER_STATEMENT 6
#define DMPAPER_EXECUTIVE 7
#define DMPAPER_A3 8
#define DMPAPER_A4 9
#define DMPAPER_A4SMALL 10
#define DMPAPER_A5 11
#define DMPAPER_B4 12
#define DMPAPER_B5 13
#define DMPAPER_FOLIO 14
#define DMPAPER_QUARTO 15
#define DMPAPER_10X14 16
#define DMPAPER_11X17 17
#define DMPAPER_NOTE 18
#define DMPAPER_ENV_9 19
#define DMPAPER_ENV_10 20
#define DMPAPER_ENV_11 21
#define DMPAPER_ENV_12 22
#define DMPAPER_ENV_14 23
#define DMPAPER_CSHEET 24
#define DMPAPER_DSHEET 25
#define DMPAPER_ESHEET 26
#define DMPAPER_ENV_DL 27
#define DMPAPER_ENV_C5 28
#define DMPAPER_ENV_C3 29
#define DMPAPER_ENV_C4 30
#define DMPAPER_ENV_C6 31
#define DMPAPER_ENV_C65 32
#define DMPAPER_ENV_B4 33
#define DMPAPER_ENV_B5 34
#define DMPAPER_ENV_B6 35
#define DMPAPER_ENV_ITALY 36
#define DMPAPER_ENV_MONARCH 37
#define DMPAPER_ENV_PERSONAL 38
#define DMPAPER_FANFOLD_US 39
#define DMPAPER_FANFOLD_STD_GERMAN 40
#define DMPAPER_FANFOLD_LGL_GERMAN 41
#define DMBIN_UPPER 1
#define DMBIN_LOWER 2
......
......@@ -48,10 +48,25 @@ INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax);
BOOL16 WINAPI IsEqualGUID16(GUID* g1,GUID* g2);
BOOL WINAPI IsEqualGUID32(REFGUID rguid1,REFGUID rguid2);
/*#define IsEqualGUID WINELIB_NAME(IsEqualGUID)*/
#ifdef __cplusplus
#define IsEqualGUID(rguid1, rguid2) (!memcmp(&(rguid1), &(rguid2), sizeof(GUID)))
#else
#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
#endif /* cplusplus */
#define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
#define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
#ifdef __cplusplus
inline BOOL operator==(const GUID& guidOne, const GUID& guidOther)
{
return !memcmp(&guidOne,&guidOther,sizeof(GUID));
}
inline BOOL operator!=(const GUID& guidOne, const GUID& guidOther)
{
return !(guidOne == guidOther);
}
#endif
/*****************************************************************************
* Macros to define a COM interface
......@@ -339,6 +354,14 @@ BOOL WINAPI IsEqualGUID32(REFGUID rguid1,REFGUID rguid2);
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h); \
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h); };
#define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i); \
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h,i); };
#define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
private: ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j); \
public: inline ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) { return ((ICOM_INTERFACE*)t.lpvtbl)->fn##xfn(this,a,b,c,d,e,f,g,h,i,j); };
#define ICOM_CMETHOD(ret,xfn) \
private: ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me); \
......@@ -525,6 +548,12 @@ BOOL WINAPI IsEqualGUID32(REFGUID rguid1,REFGUID rguid2);
#define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
#define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i);
#define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j);
#define ICOM_CMETHOD(ret,xfn) \
ret (CALLBACK *fn##xfn)(const ICOM_INTERFACE* me);
......@@ -649,6 +678,7 @@ BOOL WINAPI IsEqualGUID32(REFGUID rguid1,REFGUID rguid2);
#define ICOM_CALL6(xfn, p,a,b,c,d,e,f) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f)
#define ICOM_CALL7(xfn, p,a,b,c,d,e,f,g) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g)
#define ICOM_CALL8(xfn, p,a,b,c,d,e,f,g,h) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h)
#define ICOM_CALL10(xfn, p,a,b,c,d,e,f,g,h,i,j) (p)->lpvtbl->fn##xfn(p,a,b,c,d,e,f,g,h,i,j)
#define ICOM_THIS(impl,iface) impl* const This=(impl*)iface
......
......@@ -9,14 +9,31 @@
#include "winbase.h"
#include "winuser.h"
#include "wine/obj_inplace.h"
#include "wine/obj_dragdrop.h"
#include "wine/obj_oleaut.h" /* for DISPID */
/*****************************************************************************
* Declare the structures
*/
typedef enum tagGUIDKIND
{
GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
} GUIDKIND;
typedef enum tagREADYSTATE
{
READYSTATE_UNINITIALIZED = 0,
READYSTATE_LOADING = 1,
READYSTATE_LOADED = 2,
READYSTATE_INTERACTIVE = 3,
READYSTATE_COMPLETE = 4
} READYSTATE;
typedef struct tagExtentInfo
{
ULONG cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
typedef struct tagVARIANT_BLOB
{
......@@ -98,6 +115,15 @@ typedef struct IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless, *LPOLEIN
DEFINE_GUID(IID_IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
typedef struct IClassFactory2 IClassFactory2, *LPCLASSFACTORY2;
DEFINE_GUID(IID_IViewObjectEx, 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); /* FIXME need GUID */
typedef struct IViewObjectEx IViewObjectEx, *LPVIEWOBJECTEX;
DEFINE_GUID(IID_IProvideClassInfo, 0xb196b283, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
typedef struct IProvideClassInfo IProvideClassInfo, *LPPROVIDECLASSINFO;
DEFINE_GUID(IID_IProvideClassInfo2, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d, 0xe3, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
typedef struct IProvideClassInfo2 IProvideClassInfo2, *LPPROVIDECLASSINFO2;
/*****************************************************************************
* IOleControl interface
*/
......@@ -133,6 +159,7 @@ ICOM_DEFINE(IOleControl,IUnknown)
#define IOleControlSite_METHODS \
ICOM_METHOD (HRESULT,OnControlInfoChanged); \
ICOM_METHOD1(HRESULT,LockInPlaceActive, BOOL,fLock); \
ICOM_METHOD1(HRESULT,GetExtendedControl, IDispatch**,ppDisp) \
ICOM_METHOD3(HRESULT,TransformCoords, POINTL*,pPtlHimetric, POINTF*,pPtfContainer, DWORD,dwFlags); \
ICOM_METHOD2(HRESULT,TranslateAccelerator, MSG*,pMsg, DWORD,grfModifiers) ;\
ICOM_METHOD1(HRESULT,OnFocus, BOOL,fGotFocus); \
......@@ -151,6 +178,7 @@ ICOM_DEFINE(IOleControlSite,IUnknown)
/*** IOleControlSite methods ***/
#define IOleControlSite_OnControlInfoChanged(p) ICOM_CALL1(OnControlInfoChanged,p)
#define IOleControlSite_LockInPlaceActive(p,a) ICOM_CALL1(LockInPlaceActive,p,a)
#define IOleControlSite_GetExtendedControl(p,a) ICOM_CALL1(GetExtendedControl,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)
......@@ -208,11 +236,11 @@ ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite)
ICOM_METHOD1(HRESULT,SetCapture, BOOL,fCapture); \
ICOM_METHOD (HRESULT,GetFocus); \
ICOM_METHOD1(HRESULT,SetFocus, BOOL,fFocus); \
ICOM_METHOD3(HRESULT,GetDC, LPCRECT32,pRect, DWORD,grfFlags, HDC*,phDC); \
ICOM_METHOD3(HRESULT,GetDC, LPCRECT,pRect, DWORD,grfFlags, HDC*,phDC); \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC); \
ICOM_METHOD2(HRESULT,InvalidateRect, LPCRECT32,pRect, BOOL,fErase); \
ICOM_METHOD2(HRESULT,InvalidateRect, LPCRECT,pRect, BOOL,fErase); \
ICOM_METHOD2(HRESULT,InvalidateRgn, HRGN,hRgn, BOOL,fErase); \
ICOM_METHOD4(HRESULT,ScrollRect, INT,dx, INT,dy, LPCRECT32,pRectScroll, LPCRECT32,pRectClip); \
ICOM_METHOD4(HRESULT,ScrollRect, INT,dx, INT,dy, LPCRECT,pRectScroll, LPCRECT,pRectClip); \
ICOM_METHOD1(HRESULT,AdjustRect, LPRECT,prc); \
ICOM_METHOD4(HRESULT,OnDefWindowMessage, UINT,msg, WPARAM,wParam, LPARAM,lParam, LRESULT*,plResult);
#define IOleInPlaceSiteWindowless_IMETHODS \
......@@ -317,6 +345,92 @@ ICOM_DEFINE(IClassFactory2,IClassFactory)
#endif
#endif /* __WINE_WINE_OBJ_CONTROL_H */
/*****************************************************************************
* IViewObject interface
*/
#define ICOM_INTERFACE IViewObjectEx
#define IViewObjectEx_METHODS \
ICOM_METHOD2(HRESULT,GetRect, DWORD,dwAspect, LPRECTL,pRect) \
ICOM_METHOD1(HRESULT,GetViewStatus, DWORD*,pdwStatus) \
ICOM_METHOD5(HRESULT,QueryHitPoint, DWORD,dwAspect, LPCRECT,pRectBounds, POINT,ptlLoc, LONG,lCloseHint, DWORD*,pHitResult) \
ICOM_METHOD5(HRESULT,QueryHitRect, DWORD,dwAspect, LPCRECT,pRectBounds, LPCRECT,pRectLoc, LONG,lCloseHint, DWORD*,pHitResult) \
ICOM_METHOD6(HRESULT,GetNaturalExtent, DWORD,dwAspect, LONG,lindex, DVTARGETDEVICE*,ptd, HDC,hicTargetDev, DVEXTENTINFO*,pExtentInfo, LPSIZEL,pSizel)
#define IViewObjectEx_IMETHODS \
IViewObject2_IMETHODS \
IViewObjectEx_METHODS
ICOM_DEFINE(IViewObjectEx,IViewObject2)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IViewObjectEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IViewObjectEx_AddRef(p) ICOM_CALL (AddRef,p)
#define IViewObjectEx_Release(p) ICOM_CALL (Release,p)
/*** IViewObject methods ***/
#define IViewObjectEx_Draw(p,a,b,c,d,e,f,g,h,i,j) ICOM_CALL10(Draw,p,a,b,c,d,e,f,g,h,i,j)
#define IViewObjectEx_GetColorSet(p,a,b,c,d,e,f) ICOM_CALL6(GetColorSet,p,a,b,c,d,e,f)
#define IViewObjectEx_Freeze(p,a,b,c,d) ICOM_CALL4(Freeze,p,a,b,c,d)
#define IViewObjectEx_Unfreeze(p,a) ICOM_CALL1(Unfreeze,p,a)
#define IViewObjectEx_SetAdvise(p,a,b,c) ICOM_CALL3(SetAdvise,p,a,b,c)
#define IViewObjectEx_GetAdvise(p,a,b,c) ICOM_CALL3(GetAdvise,p,a,b,c)
/*** IViewObject2 methods ***/
#define IViewObjectEx_GetExtent(p,a,b,c,d) ICOM_CALL4(GetExtent,p,a,b,c,d)
/*** IViewObjectEx methods ***/
#define IViewObjectEx_GetRect(p,a,b) ICOM_CALL2(GetRect,p,a,b)
#define IViewObjectEx_GetViewStatus(p,a) ICOM_CALL1(GetViewStatus,p,a)
#define IViewObjectEx_QueryHitPoint(p,a,b,c,d,e) ICOM_CALL5(QueryHitPoint,p,a,b,c,d,e)
#define IViewObjectEx_QueryHitRect(p,a,b,c,d,e) ICOM_CALL5(QueryHitRect,p,a,b,c,d,e)
#define IViewObjectEx_GetNaturalExtent(p,a,b,c,d,e,f) ICOM_CALL6(GetNaturalExtent,p,a,b,c,d,e,f)
#endif
/*****************************************************************************
* IProvideClassInfo interface
*/
#define ICOM_INTERFACE IProvideClassInfo
#define IProvideClassInfo_METHODS \
ICOM_METHOD1(HRESULT,GetClassInfo, ITypeInfo**,ppTI)
#define IProvideClassInfo_IMETHODS \
IUnknown_IMETHODS \
IProvideClassInfo_METHODS
ICOM_DEFINE(IProvideClassInfo,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IProvideClassInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IProvideClassInfo_AddRef(p) ICOM_CALL (AddRef,p)
#define IProvideClassInfo_Release(p) ICOM_CALL (Release,p)
/*** IProvideClassInfo methods ***/
#define IProvideClassInfo_GetClassInfo(p,a) ICOM_CALL1(GetClassInfo,p,a)
#endif
/*****************************************************************************
* IProvideClassInfo2 interface
*/
#define ICOM_INTERFACE IProvideClassInfo2
#define IProvideClassInfo2_METHODS \
ICOM_METHOD2(HRESULT,GetGUID, DWORD,dwGuidKind, GUID*,pGUID)
#define IProvideClassInfo2_IMETHODS \
IProvideClassInfo_IMETHODS \
IProvideClassInfo2_METHODS
ICOM_DEFINE(IProvideClassInfo2,IProvideClassInfo)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IProvideClassInfo2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IProvideClassInfo2_AddRef(p) ICOM_CALL (AddRef,p)
#define IProvideClassInfo2_Release(p) ICOM_CALL (Release,p)
/*** IProvideClassInfo methods ***/
#define IProvideClassInfo2_GetClassInfo(p,a) ICOM_CALL1(GetClassInfo,p,a)
/*** IProvideClassInfo2 methods ***/
#define IProvideClassInfo2_GetGUID(p,a,b) ICOM_CALL2(GetGUID,p,a,b)
#endif
#endif /* __WINE_WINE_OBJ_CONTROL_H */
......@@ -7,13 +7,21 @@
#ifndef __WINE_WINE_OBJ_DATAOBJECT_H
#define __WINE_WINE_OBJ_DATAOBJECT_H
#include "wine/obj_base.h"
#include "wine/obj_storage.h"
#include "wine/obj_moniker.h"
#ifdef __cplusplus
#define DUMMY_UNION_NAME
#else
#define DUMMY_UNION_NAME u
#endif
/*****************************************************************************
* Predeclare the structures
*/
typedef enum tagDATADIR
{
DATADIR_GET = 1,
DATADIR_SET = 2
} DATADIR;
typedef struct DVTARGETDEVICE16 DVTARGETDEVICE16, *LPDVTARGETDEVICE16;
typedef struct DVTARGETDEVICE DVTARGETDEVICE, *LPDVTARGETDEVICE;
......@@ -100,7 +108,7 @@ struct STGMEDIUM
LPOLESTR lpszFileName;
IStream *pstm;
IStorage *pstg;
} u;
} DUMMY_UNION_NAME;
IUnknown *pUnkForRelease;
};
......
......@@ -22,6 +22,7 @@ typedef struct IDropTarget IDropTarget,*LPDROPTARGET;
/*****************************************************************************
* DROPEFFECT enumeration
*/
#define MK_ALT (0x20)
#define DROPEFFECT_NONE 0
#define DROPEFFECT_COPY 1
#define DROPEFFECT_MOVE 2
......
......@@ -76,7 +76,7 @@ typedef struct tagOLEVERB
typedef HGLOBAL HOLEMENU;
typedef LPRECT LPBORDERWIDTHS;
typedef LPCRECT32 LPCBORDERWIDTHS;
typedef LPCRECT LPCBORDERWIDTHS;
/*****************************************************************************
......@@ -143,7 +143,7 @@ ICOM_DEFINE(IOleWindow,IUnknown)
#define IOleInPlaceObject_METHODS \
ICOM_METHOD (HRESULT,InPlaceDeactivate); \
ICOM_METHOD (HRESULT,UIDeactivate); \
ICOM_METHOD2(HRESULT,SetObjectRects, LPCRECT32,lprcPosRect, LPCRECT32,lprcClipRect); \
ICOM_METHOD2(HRESULT,SetObjectRects, LPCRECT,lprcPosRect, LPCRECT,lprcClipRect); \
ICOM_METHOD (HRESULT,ReactivateAndUndo);
#define IOleInPlaceObject_IMETHODS \
IOleWindow_IMETHODS \
......@@ -174,7 +174,7 @@ ICOM_DEFINE(IOleInPlaceObject,IOleWindow)
ICOM_METHOD1(HRESULT,TranslateAccelerator, LPMSG,lpmsg); \
ICOM_METHOD1(HRESULT,OnFrameWindowActivate, BOOL,fActivate); \
ICOM_METHOD1(HRESULT,OnDocWindowActivate, BOOL,fActivate); \
ICOM_METHOD3(HRESULT,ResizeBorder, LPCRECT32,prcBorder, IOleInPlaceUIWindow*,pUIWindow, BOOL,fWindowFrame); \
ICOM_METHOD3(HRESULT,ResizeBorder, LPCRECT,prcBorder, IOleInPlaceUIWindow*,pUIWindow, BOOL,fWindowFrame); \
ICOM_METHOD1(HRESULT,EnableModeless, BOOL,fEnable);
#define IOleInPlaceActiveObject_IMETHODS \
IOleWindow_IMETHODS \
......@@ -243,6 +243,7 @@ ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
#define IOleInPlaceFrame_IMETHODS \
IOleInPlaceUIWindow_IMETHODS \
IOleInPlaceFrame_METHODS
ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
......@@ -282,7 +283,7 @@ ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
ICOM_METHOD (HRESULT,OnInPlaceDeactivate); \
ICOM_METHOD (HRESULT,DiscardUndoState); \
ICOM_METHOD (HRESULT,DeactivateAndUndo); \
ICOM_METHOD1(HRESULT,OnPosRectChange, LPCRECT32,lprcPosRect);
ICOM_METHOD1(HRESULT,OnPosRectChange, LPCRECT,lprcPosRect);
#define IOleInPlaceSite_IMETHODS \
IOleWindow_IMETHODS \
IOleInPlaceSite_METHODS
......
/*
* Defines IOleObject COM and other oleidl.h interfaces
*
* Depends on 'obj_base.h'.
*/
#ifndef __WINE_WINE_OBJ_OLEOBJ_H
#define __WINE_WINE_OBJ_OLEOBJ_H
#include "winbase.h"
#include "winuser.h"
#include "wine/obj_base.h"
/*****************************************************************************
* Declare the structures
*/
typedef struct tagOBJECTDESCRIPTOR
{
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
} OBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR;
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IOleObject, 0x00000112L, 0, 0);
typedef struct IOleObject IOleObject, *LPOLEOBJECT;
DEFINE_OLEGUID(IID_IOleAdviseHolder, 0x00000111L, 0, 0);
typedef struct IOleAdviseHolder IOleAdviseHolder, *LPOLEADVISEHOLDER;
DEFINE_OLEGUID(IID_IEnumOLEVERB, 0x00000104L, 0, 0);
typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB;
/*****************************************************************************
* IOleObject interface
*/
#define ICOM_INTERFACE IOleObject
#define IOleObject_METHODS \
ICOM_METHOD1(HRESULT,SetClientSite, IOleClientSite*,pClientSite); \
ICOM_METHOD1(HRESULT,GetClientSite, IOleClientSite**,ppClientSite); \
ICOM_METHOD2(HRESULT,SetHostNames, LPCOLESTR,szContainerApp, LPCOLESTR,szContainerObj); \
ICOM_METHOD1(HRESULT,Close, DWORD,dwSaveOption); \
ICOM_METHOD2(HRESULT,SetMoniker, DWORD,dwWhichMoniker, IMoniker*,pmk); \
ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk); \
ICOM_METHOD3(HRESULT,InitFromData, IDataObject*,pDataObject, BOOL,fCreation, DWORD,dwReserved); \
ICOM_METHOD2(HRESULT,GetClipboardData, DWORD,dwReserved, IDataObject**,ppDataObject); \
ICOM_METHOD6(HRESULT,DoVerb, LONG,iVerb, LPMSG,lpmsg, IOleClientSite*,pActiveSite, LONG,lindex, HWND,hwndParent, LPCRECT,lprcPosRect); \
ICOM_METHOD1(HRESULT,EnumVerbs, IEnumOLEVERB**,ppEnumOleVerb); \
ICOM_METHOD (HRESULT,Update); \
ICOM_METHOD (HRESULT,IsUpToDate); \
ICOM_METHOD1(HRESULT,GetUserClassID, CLSID*,pClsid); \
ICOM_METHOD2(HRESULT,GetUserType, DWORD,dwFormOfType, LPOLESTR,pszUserType); \
ICOM_METHOD2(HRESULT,SetExtent, DWORD,dwDrawAspect, SIZEL*,psizel); \
ICOM_METHOD2(HRESULT,GetExtent, DWORD,dwDrawAspect, SIZEL*,psizel); \
ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvSink, DWORD*,pdwConnection); \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection); \
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise); \
ICOM_METHOD2(HRESULT,GetMiscStatus, DWORD,dwAspect, DWORD*,pdwStatus); \
ICOM_METHOD1(HRESULT,SetColorScheme, LOGPALETTE*,pLogpal);
#define IOleObject_IMETHODS \
IUnknown_IMETHODS \
IOleObject_METHODS
ICOM_DEFINE(IOleObject,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IOleObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IOleObject_AddRef(p) ICOM_CALL (AddRef,p)
#define IOleObject_Release(p) ICOM_CALL (Release,p)
/*** IOleObject methods ***/
#define IOleObject_SetClientSite(p,a,b,c,d) ICOM_CALL1(SetClientSite,p,a)
#define IOleObject_GetClientSite(p,a,b) ICOM_CALL1(GetClientSite,p,a)
#define IOleObject_SetHostNames(p,a,b) ICOM_CALL2(SetHostNames,p,a,b)
#define IOleObject_Close(p,a,b) ICOM_CALL1(Close,p,a)
#define IOleObject_SetMoniker(p,a,b) ICOM_CALL2(SetMoniker,p,a,b)
#define IOleObject_GetMoniker(p,a,b) ICOM_CALL3(GetMoniker,p,a,b,c)
#define IOleObject_InitFromData(p,a,b) ICOM_CALL3(InitFromData,p,a,b,c)
#define IOleObject_GetClipboardData(p,a,b) ICOM_CALL2(GetClipboardData,p,a,b)
#define IOleObject_DoVerb(p,a,b) ICOM_CALL6(DoVerb,p,a,b,c,d,e,f)
#define IOleObject_EnumVerbs(p,a,b) ICOM_CALL1(EnumVerbs,p,a)
#define IOleObject_Update(p,a,b) ICOM_CALL (Update,p)
#define IOleObject_IsUpToDate(p,a,b) ICOM_CALL (IsUpToDate,p)
#define IOleObject_GetUserClassID(p,a,b) ICOM_CALL1(GetUserClassID,p,a)
#define IOleObject_GetUserType(p,a,b) ICOM_CALL2(GetUserType,p,a,b)
#define IOleObject_SetExtent(p,a,b) ICOM_CALL2(SetExtent,p,a,b)
#define IOleObject_GetExtent(p,a,b) ICOM_CALL2(GetExtent,p,a,b)
#define IOleObject_Advise(p,a,b) ICOM_CALL2(Advise,p,a,b)
#define IOleObject_Unadvise(p,a,b) ICOM_CALL1(Unadvise,p,a)
#define IOleObject_EnumAdvise(p,a,b) ICOM_CALL1(EnumAdvise,p,a)
#define IOleObject_GetMiscStatus(p,a,b) ICOM_CALL2(GetMiscStatus,p,a,b)
#define IOleObject_SetColorScheme(p,a,b) ICOM_CALL1(SetColorScheme,p,a)
#endif
/*****************************************************************************
* IOleAdviseHolder interface
*/
#define ICOM_INTERFACE IOleAdviseHolder
#define IOleAdviseHolder_METHODS \
ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvise, DWORD*,pdwConnection); \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection); \
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise); \
ICOM_METHOD1(HRESULT,SendOnRename, IMoniker*,pmk); \
ICOM_METHOD (HRESULT,SendOnSave); \
ICOM_METHOD (HRESULT,SendOnClose);
#define IOleAdviseHolder_IMETHODS \
IUnknown_IMETHODS \
IOleAdviseHolder_METHODS
ICOM_DEFINE(IOleAdviseHolder,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IOleAdviseHolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IOleAdviseHolder_AddRef(p) ICOM_CALL (AddRef,p)
#define IOleAdviseHolder_Release(p) ICOM_CALL (Release,p)
/*** IOleAdviseHolder methods ***/
#define IOleAdviseHolder_Advise(p,a,b) ICOM_CALL2(UpdateCache,p,a,b)
#define IOleAdviseHolder_Unadvise(p,a) ICOM_CALL1(OnStop,p,a)
#define IOleAdviseHolder_EnumAdvise(p,a) ICOM_CALL1(OnStop,p,a)
#define IOleAdviseHolder_SendOnRename(p,a) ICOM_CALL1(OnStop,p,a)
#define IOleAdviseHolder_SendOnSave(p) ICOM_CALL (OnStop,p)
#define IOleAdviseHolder_SendOnClose(p) ICOM_CALL (OnStop,p)
#endif
/*****************************************************************************
* IEnumOLEVERB interface
*/
#define ICOM_INTERFACE IEnumOLEVERB
#define IEnumOLEVERB_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, LPOLEVERB,rgelt, ULONG*,pceltFetched); \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt); \
ICOM_METHOD (HRESULT,Reset); \
ICOM_METHOD1(HRESULT,Clone, IEnumOLEVERB**,ppenum);
#define IEnumOLEVERB_IMETHODS \
IUnknown_IMETHODS \
IEnumOLEVERB_METHODS
ICOM_DEFINE(IEnumOLEVERB,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumOLEVERB_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IEnumOLEVERB_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IEnumOLEVERB_Release(p) ICOM_ICALL (IUnknown,Release,p)
/*** IEnumOLEVERB methods ***/
#define IEnumOLEVERB_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumOLEVERB_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumOLEVERB_Reset(p,a) ICOM_CALL (Reset,p)
#define IEnumOLEVERB_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
#endif /* __WINE_WINE_OBJ_OLEOBJ_H */
/*
* Defines the COM interfaces and APIs related to ViewObject
*
* Depends on 'obj_base.h'.
*/
#ifndef __WINE_WINE_OBJ_OLEVIEW_H
#define __WINE_WINE_OBJ_OLEVIEW_H
#include "winbase.h"
/*****************************************************************************
* Declare the structures
*/
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_OLEGUID(IID_IViewObject, 0x0000010dL, 0, 0);
typedef struct IViewObject IViewObject, *LPVIEWOBJECT;
DEFINE_OLEGUID(IID_IViewObject2, 0x00000127L, 0, 0);
typedef struct IViewObject2 IViewObject2, *LPVIEWOBJECT2;
/*****************************************************************************
* IViewObject interface
*/
#define ICOM_INTERFACE IViewObject
#define IViewObject_METHODS \
ICOM_METHOD10(HRESULT,Draw, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DVTARGETDEVICE*,ptd, HDC,hdcTargetDev, HDC,hdcDraw, LPCRECTL,lprcBounds, LPCRECTL,lprcWBounds, BOOL*,pfContinue(DWORD dwContinue), DWORD,dwContinue) \
ICOM_METHOD6(HRESULT,GetColorSet, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DVTARGETDEVICE*,ptd, HDC,hicTargetDevice, LOGPALETTE**,ppColorSet) \
ICOM_METHOD4(HRESULT,Freeze, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DWORD*,pdwFreeze) \
ICOM_METHOD1(HRESULT,Unfreeze, DWORD,dwFreeze) \
ICOM_METHOD3(HRESULT,SetAdvise, DWORD,aspects, DWORD,advf, IAdviseSink*,pAdvSink) \
ICOM_METHOD3(HRESULT,GetAdvise, DWORD*,pAspects, DWORD*,pAdvf, IAdviseSink**,ppAdvSink)
#define IViewObject_IMETHODS \
IUnknown_IMETHODS \
IViewObject_METHODS
ICOM_DEFINE(IViewObject,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IViewObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IViewObject_AddRef(p) ICOM_CALL (AddRef,p)
#define IViewObject_Release(p) ICOM_CALL (Release,p)
/*** IViewObject methods ***/
#define IViewObject_Draw(p,a,b,c,d,e,f,g,h,i,j) ICOM_CALL10(Draw,p,a,b,c,d,e,f,g,h,i,j)
#define IViewObject_GetColorSet(p,a,b,c,d,e,f) ICOM_CALL6(GetColorSet,p,a,b,c,d,e,f)
#define IViewObject_Freeze(p,a,b,c,d) ICOM_CALL4(Freeze,p,a,b,c,d)
#define IViewObject_Unfreeze(p,a) ICOM_CALL1(Unfreeze,p,a)
#define IViewObject_SetAdvise(p,a,b,c) ICOM_CALL3(SetAdvise,p,a,b,c)
#define IViewObject_GetAdvise(p,a,b,c) ICOM_CALL3(GetAdvise,p,a,b,c)
#endif
/*****************************************************************************
* IViewObject2 interface
*/
#define ICOM_INTERFACE IViewObject2
#define IViewObject2_METHODS \
ICOM_METHOD4(HRESULT,GetExtent, DWORD,dwDrawAspect, LONG,lindex, DVTARGETDEVICE*,ptd, LPSIZEL,lpsizel)
#define IViewObject2_IMETHODS \
IViewObject_IMETHODS \
IViewObject2_METHODS
ICOM_DEFINE(IViewObject2,IViewObject)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknwon methods ***/
#define IViewObject2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IViewObject2_AddRef(p) ICOM_CALL (AddRef,p)
#define IViewObject2_Release(p) ICOM_CALL (Release,p)
/*** IViewObject methods ***/
#define IViewObject2_Draw(p,a,b,c,d,e,f,g,h,i,j) ICOM_CALL10(Draw,p,a,b,c,d,e,f,g,h,i,j)
#define IViewObject2_GetColorSet(p,a,b,c,d,e,f) ICOM_CALL6(GetColorSet,p,a,b,c,d,e,f)
#define IViewObject2_Freeze(p,a,b,c,d) ICOM_CALL4(Freeze,p,a,b,c,d)
#define IViewObject2_Unfreeze(p,a) ICOM_CALL1(Unfreeze,p,a)
#define IViewObject2_SetAdvise(p,a,b,c) ICOM_CALL3(SetAdvise,p,a,b,c)
#define IViewObject2_GetAdvise(p,a,b,c) ICOM_CALL3(GetAdvise,p,a,b,c)
/*** IViewObject2 methods ***/
#define IViewObject2_GetExtent(p,a,b,c,d) ICOM_CALL4(GetExtent,p,a,b,c,d)
#endif
#endif /* __WINE_WINE_OBJ_OLEVIEW_H */
/*
* Defines the COM interfaces and APIs related to OLE picture support.
*
* Depends on 'obj_base.h'.
*/
#ifndef __WINE_WINE_OBJ_PICTURE_H
#define __WINE_WINE_OBJ_PICTURE_H
#include "windows.h"
#include "wintypes.h"
/*****************************************************************************
* Predeclare the structures
*/
typedef UINT OLE_HANDLE;
typedef LONG OLE_XPOS_HIMETRIC;
typedef LONG OLE_YPOS_HIMETRIC;
typedef LONG OLE_XSIZE_HIMETRIC;
typedef LONG OLE_YSIZE_HIMETRIC;
/*****************************************************************************
* Predeclare the interfaces
*/
DEFINE_GUID(IID_IPicture, 0x7bf80980, 0xbf32, 0x101a, 0x8b, 0xbb, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB);
typedef struct IPicture IPicture, *LPPICTURE;
DEFINE_GUID(IID_IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b, 0xbb, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB);
typedef struct IPictureDisp IPictureDisp, *LPPICTUREDISP;
/*****************************************************************************
* IFont interface
*/
#define ICOM_INTERFACE IPicture
#define IPicture_METHODS \
ICOM_METHOD1(HRESULT,get_Handle, OLE_HANDLE*,pHandle) \
ICOM_METHOD1(HRESULT,get_hPal, OLE_HANDLE*,phPal) \
ICOM_METHOD1(HRESULT,get_Type, SHORT*,pType) \
ICOM_METHOD1(HRESULT,get_Width, OLE_XSIZE_HIMETRIC*,pWidth) \
ICOM_METHOD1(HRESULT,get_Height, OLE_YSIZE_HIMETRIC*,pHeight) \
ICOM_METHOD10(HRESULT,Render, HDC,hdc, LONG,x, LONG,y, LONG,cx, LONG,cy, OLE_XPOS_HIMETRIC,xSrc, OLE_YPOS_HIMETRIC,ySrc, OLE_XSIZE_HIMETRIC,cxSrc, OLE_YSIZE_HIMETRIC,cySrc, LPCRECT,pRcWBounds) \
ICOM_METHOD1(HRESULT,set_hPal, OLE_HANDLE,hPal) \
ICOM_METHOD1(HRESULT,get_CurDC, HDC*,phDC) \
ICOM_METHOD3(HRESULT,SelectPicture, HDC,hDCIn, HDC*,phDCOut, OLE_HANDLE*,phBmpOut) \
ICOM_METHOD1(HRESULT,get_KeepOriginalFormat, BOOL*,pKeep) \
ICOM_METHOD1(HRESULT,put_KeepOriginalFormat, BOOL,Keep) \
ICOM_METHOD (HRESULT,PictureChanged) \
ICOM_METHOD3(HRESULT,SaveAsFile, LPSTREAM,pStream, BOOL,fSaveMemCopy, LONG*,pCbSize) \
ICOM_METHOD1(HRESULT,get_Attributes, DWORD*,pDwAttr)
#define IPicture_IMETHODS \
IUnknown_IMETHODS \
IPicture_METHODS
ICOM_DEFINE(IPicture,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPicture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPicture_AddRef(p) ICOM_CALL (AddRef,p)
#define IPicture_Release(p) ICOM_CALL (Release,p)
/*** IFont methods ***/
#define IPicture_get_Handle(p,a) ICOM_CALL1(get_Handle,p,a)
#define IPicture_get_hPal(p,a) ICOM_CALL1(get_hPal,p,a)
#define IPicture_get_Type(p,a) ICOM_CALL1(get_Type,p,a)
#define IPicture_get_Width(p,a) ICOM_CALL1(get_Width,p,a)
#define IPicture_get_Height(p,a) ICOM_CALL1(get_Height,p,a)
#define IPicture_Render(p,a,b,c,d,e,f,g,h,i,j) ICOM_CALL10(Render,p,a,b,c,d,e,f,g,h,i,j)
#define IPicture_set_hPal(p,a) ICOM_CALL1(set_hPal,p,a)
#define IPicture_get_CurDC(p,a) ICOM_CALL1(get_CurDC,p,a)
#define IPicture_SelectPicture(p,a,b,c) ICOM_CALL3(SelectPicture,p,a,b,c)
#define IPicture_get_KeepOriginalFormat(p,a) ICOM_CALL1(get_KeepOriginalFormat,p,a)
#define IPicture_put_KeepOriginalFormat(p,a) ICOM_CALL1(put_KeepOriginalFormat,p,a)
#define IPicture_PictureChanged(p) ICOM_CALL (PictureChanged,p)
#define IPicture_SaveAsFile(p,a,b,c) ICOM_CALL3(SaveAsFile,p,a,b,c)
#define IPicture_get_Attributes(p,a) ICOM_CALL1(get_Attributes,p,a)
#endif
#endif /* __WINE_WINE_OBJ_PICTURE_H */
......@@ -36,6 +36,16 @@
#define ANYSIZE_ARRAY 1
#define MINCHAR 0x80
#define MAXCHAR 0x7f
#define MINSHORT 0x8000
#define MAXSHORT 0x7fff
#define MINLONG 0x80000000
#define MAXLONG 0x7fffffff
#define MAXBYTE 0xff
#define MAXWORD 0xffff
#define MAXDWORD 0xffffffff
#define FIELD_OFFSET(type, field) \
((LONG)(INT)&(((type *)0)->field))
......@@ -345,6 +355,9 @@ WINAPI SetUnhandledExceptionFilter( LPTOP_LEVEL_EXCEPTION_FILTER filter );
#define ANYSIZE_ARRAY 1
/* FIXME: Orphan. What does it point to? */
typedef PVOID PACCESS_TOKEN;
/*
* TOKEN_INFORMATION_CLASS
*/
......@@ -369,7 +382,7 @@ typedef enum _TOKEN_INFORMATION_CLASS {
typedef struct {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
typedef struct _SID {
BYTE Revision;
......@@ -460,15 +473,19 @@ typedef struct _LARGE_INTEGER
{
DWORD LowPart;
LONG HighPart;
} LARGE_INTEGER,*PLARGE_INTEGER;
} LARGE_INTEGER, *LPLARGE_INTEGER, *PLARGE_INTEGER;
typedef struct _ULARGE_INTEGER
{
DWORD LowPart;
DWORD HighPart;
} ULARGE_INTEGER,*PULARGE_INTEGER;
} ULARGE_INTEGER, *LPULARGE_INTEGER, *PULARGE_INTEGER;
typedef LARGE_INTEGER LUID,*PLUID; /* locally unique ids */
/*
* Locally Unique Identifier
*/
typedef LARGE_INTEGER LUID,*PLUID;
typedef struct _LUID_AND_ATTRIBUTES {
LUID Luid;
......@@ -500,6 +517,7 @@ typedef struct _TOKEN_PRIMARY_GROUP {
PSID PrimaryGroup;
} TOKEN_PRIMARY_GROUP;
/*
* TOKEN_DEFAULT_DACL
*/
......@@ -685,6 +703,11 @@ typedef enum tagSID_NAME_USE {
#define THREAD_DIRECT_IMPERSONATION 0x0200
#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3ff)
#define THREAD_BASE_PRIORITY_LOWRT 15
#define THREAD_BASE_PRIORITY_MAX 2
#define THREAD_BASE_PRIORITY_MIN -2
#define THREAD_BASE_PRIORITY_IDLE -15
#define FILE_READ_DATA 0x0001 /* file & pipe */
#define FILE_LIST_DIRECTORY 0x0001 /* directory */
#define FILE_WRITE_DATA 0x0002 /* file & pipe */
......
......@@ -464,7 +464,7 @@ typedef struct tagRECT
INT right;
INT bottom;
} RECT, *PRECT, *LPRECT;
typedef const RECT *LPCRECT32;
typedef const RECT *LPCRECT;
typedef struct tagRECTL
......
......@@ -35,19 +35,19 @@ typedef BSTR *LPBSTR;
#ifndef GUID_DEFINED
#define GUID_DEFINED
struct _GUID
typedef struct _GUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
};
} GUID;
#endif
typedef struct _GUID GUID,*LPGUID;
typedef struct _GUID CLSID,*LPCLSID;
typedef struct _GUID IID,*LPIID;
typedef struct _GUID FMTID,*LPFMTID;
typedef GUID *LPGUID;
typedef GUID CLSID,*LPCLSID;
typedef GUID IID,*LPIID;
typedef GUID FMTID,*LPFMTID;
#ifdef __cplusplus
#define REFGUID const GUID &
#define REFCLSID const CLSID &
......@@ -60,6 +60,16 @@ typedef struct _GUID FMTID,*LPFMTID;
#define REFFMTID const FMTID* const
#endif // !__cplusplus
#define GUID_NULL ((GUID*)NULL) /* Is this right? */
#define CLSID_NULL ((REFCLSID)NULL)
typedef enum tagDVASPECT
{
DVASPECT_CONTENT = 1,
DVASPECT_THUMBNAIL = 2,
DVASPECT_ICON = 4,
DVASPECT_DOCPRINT = 8
} DVASPECT;
#define DECLARE_HANDLE(a) typedef HANDLE16 a##16; typedef HANDLE a
DECLARE_HANDLE(HMETAFILEPICT);
......
......@@ -33,11 +33,12 @@
#include <string.h>
#include <time.h>
#include <assert.h>
#include "windef.h"
#include "wine/winbase16.h"
#include "wine/winestring.h"
#include "winerror.h"
#include "ole.h"
#include "ole2.h"
#include "ole2ver.h"
#include "debug.h"
#include "file.h"
#include "heap.h"
......
......@@ -7,7 +7,6 @@
* so that the corresponding variables get defined. But they
* don't even all belong to the same DLL !!!
*/
#include "oleobj.h"
#include "oleidl.h"
#include "oaidl.h"
#include "ocidl.h"
......
......@@ -6,7 +6,7 @@
#include <string.h>
#include "winerror.h"
#include "ole.h"
#include "ole2.h"
#include "oleauto.h"
#include "wine/obj_base.h"
#include "heap.h"
......@@ -290,10 +290,10 @@ int WINAPI SysStringByteLen(BSTR str)
/******************************************************************************
* CreateDispTypeInfo [OLE2DISP.31]
*/
OLESTATUS WINAPI CreateDispTypeInfo16(
HRESULT CreateDispTypeInfo16(
INTERFACEDATA *pidata,
LCID lcid,
LPVOID **pptinfo /*ITypeInfo*/
ITypeInfo **pptinfo
) {
FIXME(ole,"(%p,%ld,%p),stub\n",pidata,lcid,pptinfo);
return 0;
......@@ -302,8 +302,8 @@ OLESTATUS WINAPI CreateDispTypeInfo16(
/******************************************************************************
* RegisterActiveObject [OLE2DISP.35]
*/
OLESTATUS WINAPI RegisterActiveObject16(
IUnknown * punk,REFCLSID rclsid,DWORD dwFlags, DWORD * pdwRegister
HRESULT RegisterActiveObject16(
IUnknown *punk, REFCLSID rclsid, DWORD dwFlags, unsigned long *pdwRegister
) {
char buf[80];
WINE_StringFromCLSID(rclsid,buf);
......
......@@ -10,7 +10,7 @@
#include "winerror.h"
#include "ole.h"
#include "gdi.h"
#include "wine/obj_dataobject.h"
#include "objidl.h"
#include "debug.h"
......
......@@ -7,11 +7,9 @@
#include "wintypes.h"
#include "winbase.h"
#include "winerror.h"
#include "ole.h"
#include "oledlg.h"
#include "wine/obj_base.h"
#include "debug.h"
#include "ole2.h"
/***********************************************************************
* OleUIAddVerbMenu32A (OLEDLG.1)
*/
......
......@@ -6,44 +6,46 @@
#include <string.h>
#include "oleobj.h"
#include "winbase.h"
#include "winerror.h"
#include "wine/obj_base.h"
#include "wine/obj_storage.h"
#include "wine/obj_moniker.h"
#include "wine/obj_dataobject.h"
#include "oleidl.h"
#include "debug.h"
/**************************************************************************
* IOleAdviseHolder Implementation
*/
static HRESULT WINAPI IOleAdviseHolder_QueryInterface(LPOLEADVISEHOLDER,REFIID,LPVOID*);
static ULONG WINAPI IOleAdviseHolder_AddRef(LPOLEADVISEHOLDER);
static ULONG WINAPI IOleAdviseHolder_Release(LPOLEADVISEHOLDER);
static HRESULT WINAPI IOleAdviseHolder_Advise(LPOLEADVISEHOLDER, IAdviseSink*, DWORD*);
static HRESULT WINAPI IOleAdviseHolder_Unadvise (LPOLEADVISEHOLDER, DWORD);
static HRESULT WINAPI IOleAdviseHolder_EnumAdvise (LPOLEADVISEHOLDER, IEnumSTATDATA **);
static HRESULT WINAPI IOleAdviseHolder_SendOnRename (LPOLEADVISEHOLDER, IMoniker *);
static HRESULT WINAPI IOleAdviseHolder_SendOnSave (LPOLEADVISEHOLDER this);
static HRESULT WINAPI IOleAdviseHolder_SendOnClose (LPOLEADVISEHOLDER this);
typedef struct
{
ICOM_VTABLE(IOleAdviseHolder)* lpvtbl;
DWORD ref;
} IOleAdviseHolderImpl;
static HRESULT WINAPI IOleAdviseHolder_fnQueryInterface(LPOLEADVISEHOLDER,REFIID,LPVOID*);
static ULONG WINAPI IOleAdviseHolder_fnAddRef(LPOLEADVISEHOLDER);
static ULONG WINAPI IOleAdviseHolder_fnRelease(LPOLEADVISEHOLDER);
static HRESULT WINAPI IOleAdviseHolder_fnAdvise(LPOLEADVISEHOLDER, IAdviseSink*, DWORD*);
static HRESULT WINAPI IOleAdviseHolder_fnUnadvise (LPOLEADVISEHOLDER, DWORD);
static HRESULT WINAPI IOleAdviseHolder_fnEnumAdvise (LPOLEADVISEHOLDER, IEnumSTATDATA **);
static HRESULT WINAPI IOleAdviseHolder_fnSendOnRename (LPOLEADVISEHOLDER, IMoniker *);
static HRESULT WINAPI IOleAdviseHolder_fnSendOnSave (LPOLEADVISEHOLDER);
static HRESULT WINAPI IOleAdviseHolder_fnSendOnClose (LPOLEADVISEHOLDER);
/**************************************************************************
* IOleAdviseHolder_VTable
*/
static IOleAdviseHolder_VTable oahvt =
static struct ICOM_VTABLE(IOleAdviseHolder) oahvt =
{
IOleAdviseHolder_QueryInterface,
IOleAdviseHolder_AddRef,
IOleAdviseHolder_Release,
IOleAdviseHolder_Advise,
IOleAdviseHolder_Unadvise,
IOleAdviseHolder_EnumAdvise,
IOleAdviseHolder_SendOnRename,
IOleAdviseHolder_SendOnSave,
IOleAdviseHolder_SendOnClose
IOleAdviseHolder_fnQueryInterface,
IOleAdviseHolder_fnAddRef,
IOleAdviseHolder_fnRelease,
IOleAdviseHolder_fnAdvise,
IOleAdviseHolder_fnUnadvise,
IOleAdviseHolder_fnEnumAdvise,
IOleAdviseHolder_fnSendOnRename,
IOleAdviseHolder_fnSendOnSave,
IOleAdviseHolder_fnSendOnClose
};
/**************************************************************************
......@@ -52,39 +54,40 @@ static IOleAdviseHolder_VTable oahvt =
LPOLEADVISEHOLDER IOleAdviseHolder_Constructor()
{
LPOLEADVISEHOLDER lpoah;
IOleAdviseHolderImpl* lpoah;
lpoah= (LPOLEADVISEHOLDER)HeapAlloc(GetProcessHeap(),0,sizeof(IOleAdviseHolder));
lpoah= (IOleAdviseHolderImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IOleAdviseHolderImpl));
lpoah->ref = 1;
lpoah->lpvtbl = &oahvt;
FIXME (ole, "(%p)->()\n", lpoah);
return lpoah;
return (LPOLEADVISEHOLDER)lpoah;
}
/**************************************************************************
* IOleAdviseHolder_QueryInterface
*/
static HRESULT WINAPI
IOleAdviseHolder_QueryInterface (LPOLEADVISEHOLDER this, REFIID riid, LPVOID *ppvObj)
IOleAdviseHolder_fnQueryInterface (LPOLEADVISEHOLDER iface, REFIID riid, LPVOID *ppvObj)
{
ICOM_THIS(IOleAdviseHolderImpl, iface);
char xriid[50];
WINE_StringFromCLSID((LPCLSID)riid,xriid);
FIXME (ole, "(%p)->(\n\tIID:\t%s)\n", this, xriid);
FIXME (ole, "(%p)->(\n\tIID:\t%s)\n", This, xriid);
*ppvObj = NULL;
if(IsEqualIID(riid, &IID_IUnknown)) {
/* IUnknown */
*ppvObj = this;
*ppvObj = This;
}
else if(IsEqualIID(riid, &IID_IOleAdviseHolder)) {
/* IOleAdviseHolder */
*ppvObj = (IOleAdviseHolder*) this;
*ppvObj = (IOleAdviseHolder*) This;
}
if(*ppvObj) {
(*(LPOLEADVISEHOLDER*)ppvObj)->lpvtbl->fnAddRef(this);
(*(LPOLEADVISEHOLDER*)ppvObj)->lpvtbl->fnAddRef(iface);
FIXME (ole, "-- Interface: (%p)->(%p)\n", ppvObj, *ppvObj);
return S_OK;
}
......@@ -97,35 +100,38 @@ IOleAdviseHolder_QueryInterface (LPOLEADVISEHOLDER this, REFIID riid, LPVOID *pp
* IOleAdviseHolder_AddRef
*/
static ULONG WINAPI
IOleAdviseHolder_AddRef (LPOLEADVISEHOLDER this)
IOleAdviseHolder_fnAddRef (LPOLEADVISEHOLDER iface)
{
FIXME (ole, "(%p)->(count=%lu)\n", this, this->ref);
return ++(this->ref);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)->(count=%lu)\n", This, This->ref);
return ++(This->ref);
}
/******************************************************************************
* IOleAdviseHolder_Release
*/
static ULONG WINAPI
IOleAdviseHolder_Release (LPOLEADVISEHOLDER this)
IOleAdviseHolder_fnRelease (LPOLEADVISEHOLDER iface)
{
FIXME (ole, "(%p)->(count=%lu)\n", this, this->ref);
if (!--(this->ref)) {
FIXME (ole, "-- destroying IOleAdviseHolder(%p)\n", this);
HeapFree(GetProcessHeap(),0,this);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)->(count=%lu)\n", This, This->ref);
if (!--(This->ref)) {
FIXME (ole, "-- destroying IOleAdviseHolder(%p)\n", This);
HeapFree(GetProcessHeap(),0,This);
return 0;
}
return this->ref;
return This->ref;
}
/******************************************************************************
* IOleAdviseHolder_Advise
*/
static HRESULT WINAPI
IOleAdviseHolder_Advise (LPOLEADVISEHOLDER this,
IOleAdviseHolder_fnAdvise (LPOLEADVISEHOLDER iface,
IAdviseSink *pAdvise, DWORD *pdwConnection)
{
FIXME (ole, "(%p)->(%p %p)\n", this, pAdvise, pdwConnection);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)->(%p %p)\n", This, pAdvise, pdwConnection);
*pdwConnection = 0;
......@@ -136,9 +142,10 @@ IOleAdviseHolder_Advise (LPOLEADVISEHOLDER this,
* IOleAdviseHolder_Unadvise
*/
static HRESULT WINAPI
IOleAdviseHolder_Unadvise (LPOLEADVISEHOLDER this, DWORD dwConnection)
IOleAdviseHolder_fnUnadvise (LPOLEADVISEHOLDER iface, DWORD dwConnection)
{
FIXME (ole, "(%p)->(%lu)\n", this, dwConnection);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)->(%lu)\n", This, dwConnection);
return S_OK;
}
......@@ -147,9 +154,10 @@ IOleAdviseHolder_Unadvise (LPOLEADVISEHOLDER this, DWORD dwConnection)
* IOleAdviseHolder_EnumAdvise
*/
static HRESULT WINAPI
IOleAdviseHolder_EnumAdvise (LPOLEADVISEHOLDER this, IEnumSTATDATA **ppenumAdvise)
IOleAdviseHolder_fnEnumAdvise (LPOLEADVISEHOLDER iface, IEnumSTATDATA **ppenumAdvise)
{
FIXME (ole, "(%p)->(%p)\n", this, ppenumAdvise);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)->(%p)\n", This, ppenumAdvise);
*ppenumAdvise = NULL;
......@@ -160,9 +168,10 @@ IOleAdviseHolder_EnumAdvise (LPOLEADVISEHOLDER this, IEnumSTATDATA **ppenumAdvis
* IOleAdviseHolder_SendOnRename
*/
static HRESULT WINAPI
IOleAdviseHolder_SendOnRename (LPOLEADVISEHOLDER this, IMoniker *pmk)
IOleAdviseHolder_fnSendOnRename (LPOLEADVISEHOLDER iface, IMoniker *pmk)
{
FIXME (ole, "(%p)->(%p)\n", this, pmk);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)->(%p)\n", This, pmk);
return S_OK;
......@@ -172,9 +181,10 @@ IOleAdviseHolder_SendOnRename (LPOLEADVISEHOLDER this, IMoniker *pmk)
* IOleAdviseHolder_SendOnSave
*/
static HRESULT WINAPI
IOleAdviseHolder_SendOnSave (LPOLEADVISEHOLDER this)
IOleAdviseHolder_fnSendOnSave (LPOLEADVISEHOLDER iface)
{
FIXME (ole, "(%p)\n", this);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)\n", This);
return S_OK;
......@@ -184,9 +194,10 @@ IOleAdviseHolder_SendOnSave (LPOLEADVISEHOLDER this)
* IOleAdviseHolder_SendOnClose
*/
static HRESULT WINAPI
IOleAdviseHolder_SendOnClose (LPOLEADVISEHOLDER this)
IOleAdviseHolder_fnSendOnClose (LPOLEADVISEHOLDER iface)
{
FIXME (ole, "(%p)\n", this);
ICOM_THIS(IOleAdviseHolderImpl, iface);
FIXME (ole, "(%p)\n", This);
return S_OK;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment