From 89b21b4c2870c37c89214ff848bc68ff5b994aec Mon Sep 17 00:00:00 2001 From: Paul Quinn Date: Sun, 14 Mar 1999 13:47:00 +0000 Subject: [PATCH] Many new defines, and structs to help compile MFC. As well as a few OLE corrections from earlier. --- include/ole.h | 3 - include/ole2.h | 14 ++- include/oleauto.h | 5 + include/olectl.h | 194 +++++++++++++++++++++++++++++++++- include/wine/obj_control.h | 33 ++++++ include/wine/obj_dataobject.h | 30 ++++-- include/wine/obj_dragdrop.h | 5 + include/wine/obj_inplace.h | 65 +++++++++++- include/wine/obj_moniker.h | 2 +- include/wine/obj_oleaut.h | 25 ++++- include/wine/obj_olefont.h | 25 +++++ include/wine/obj_oleobj.h | 34 +++++- include/wine/obj_oleundo.h | 2 +- include/wine/obj_oleview.h | 4 +- include/wine/obj_picture.h | 29 ++++- include/wine/obj_shelllink.h | 1 + include/wine/obj_storage.h | 71 +++++++------ include/winerror.h | 69 ++++++++++-- include/wingdi.h | 22 ++++ include/winsock.h | 8 ++ include/winuser.h | 11 ++ include/wtypes.h | 11 ++ ole/ole2.c | 4 +- ole/olefont.c | 12 +-- 24 files changed, 601 insertions(+), 78 deletions(-) diff --git a/include/ole.h b/include/ole.h index 1a70339ce2b..45b887930b4 100644 --- a/include/ole.h +++ b/include/ole.h @@ -18,9 +18,6 @@ extern "C" { #endif -#define OLESTR16(x) x -#define OLESTR(x) L##x /* probably wrong */ - /* object types */ #define OT_LINK 1 #define OT_EMBEDDED 2 diff --git a/include/ole2.h b/include/ole2.h index 9536af5778d..e52fe3c0492 100644 --- a/include/ole2.h +++ b/include/ole2.h @@ -10,9 +10,14 @@ #include "oleidl.h" #include "oleauto.h" -/* OLE version */ -#define rmm 23 -#define rup 639 +#define OLEIVERB_PRIMARY (0L) +#define OLEIVERB_SHOW (-1L) +#define OLEIVERB_OPEN (-2L) +#define OLEIVERB_HIDE (-3L) +#define OLEIVERB_UIACTIVATE (-4L) +#define OLEIVERB_INPLACEACTIVATE (-5L) +#define OLEIVERB_DISCARDUNDOSTATE (-6L) +#define OLEIVERB_PROPERTIES (-7L) /* * API declarations @@ -26,13 +31,12 @@ HRESULT WINAPI DoDragDrop(LPDATAOBJECT,LPDROPSOURCE,DWORD,DWORD*); HOLEMENU WINAPI OleCreateMenuDescriptor(HMENU hmenuCombined, LPOLEMENUGROUPWIDTHS lpMenuWidths); -void WINAPI OleDestroyMenuDescriptor(HOLEMENU hmenuDescriptor); +HRESULT WINAPI OleDestroyMenuDescriptor(HOLEMENU hmenuDescriptor); HRESULT WINAPI OleSetMenuDescriptor(HOLEMENU hmenuDescriptor, HWND hwndFrame, HWND hwndActiveObject, LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEACTIVEOBJECT lpActiveObject); - #endif /* __WINE_OLE2_H */ diff --git a/include/oleauto.h b/include/oleauto.h index 8431b131e07..fd113147f5e 100644 --- a/include/oleauto.h +++ b/include/oleauto.h @@ -93,8 +93,13 @@ SafeArrayRedim(SAFEARRAY *psa, SAFEARRAYBOUND *psaboundNew); /* These are macros that help accessing the VARIANT date type. */ +#ifdef __cplusplus +#define V_UNION(A, B) ((A)->B) +#define V_VT(A) ((A)->vt) +#else #define V_UNION(A, B) ((A)->u.B) #define V_VT(A) ((A)->vt) +#endif /* cplusplus */ #define V_ISBYREF(A) (V_VT(A)&VT_BYREF) #define V_ISARRAY(A) (V_VT(A)&VT_ARRAY) diff --git a/include/olectl.h b/include/olectl.h index a1a332ca893..2196f8b3ccf 100644 --- a/include/olectl.h +++ b/include/olectl.h @@ -5,6 +5,68 @@ #define WINOLECTLAPI INT WINAPI +#ifdef __cplusplus +#define DUMMY_UNION_NAME +#else +#define DUMMY_UNION_NAME u +#endif + +/* + * Ole Control Interfaces + */ +DEFINE_GUID(CLSID_ConvertVBX, + 0xfb8f0822,0x0164,0x101b,0x84,0xed,0x08,0x00,0x2b,0x2e,0xc7,0x13); +DEFINE_GUID(CLSID_PersistPropset, + 0xfb8f0821,0x0164,0x101b,0x84,0xed,0x08,0x00,0x2b,0x2e,0xc7,0x13); + +DEFINE_GUID(CLSID_StdFont, + 0x0be35203,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51); +DEFINE_GUID(CLSID_StdPicture, + 0x0be35204,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51); + +DEFINE_GUID(CLSID_CFontPropPage, + 0x0be35200,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51); +DEFINE_GUID(CLSID_CColorPropPage, + 0x0be35201,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51); +DEFINE_GUID(CLSID_CPicturePropPage, + 0x0be35202,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51); + +DEFINE_GUID(GUID_HIMETRIC, + 0x66504300,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_COLOR, + 0x66504301,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_XPOSPIXEL, + 0x66504302,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_YPOSPIXEL, + 0x66504303,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_XSIZEPIXEL, + 0x66504304,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_YSIZEPIXEL, + 0x66504305,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_XPOS, + 0x66504306,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_YPOS, + 0x66504307,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_XSIZE, + 0x66504308,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); +DEFINE_GUID(GUID_YSIZE, + 0x66504309,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB); + +typedef struct tagOCPFIPARAMS +{ + ULONG cbStructSize; + HWND hWndOwner; + int x; + int y; + LPCOLESTR lpszCaption; + ULONG cObjects; + LPUNKNOWN *lplpUnk; + ULONG cPages; + CLSID *lpPages; + LCID lcid; + DISPID dispidInitialProperty; +} OCPFIPARAMS, *LPOCPFIPARAMS; + /* * FONTDESC is used as an OLE encapsulation of the GDI fonts */ @@ -16,10 +78,42 @@ typedef struct tagFONTDESC { SHORT sCharset; BOOL fItalic; BOOL fUnderline; - BOOL fStrikeThrough; + BOOL fStrikethrough; } FONTDESC, *LPFONTDESC; -WINOLECTLAPI OleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid, VOID** ppvObj); +#define FONTSIZE(n) { n##0000, 0 } + +/* COREL MOD PQ mar 9 - redecl in mfc */ +/*WINOLECTLAPI OleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid, VOID** ppvObj);*/ + +#define PICTYPE_UNINITIALIZED (-1) +#define PICTYPE_NONE 0 +#define PICTYPE_BITMAP 1 +#define PICTYPE_METAFILE 2 +#define PICTYPE_ICON 3 +#define PICTYPE_ENHMETAFILE 4 + +typedef struct tagPICTDESC { + UINT cbSizeofstruct; + UINT picType; + union { + struct { + HBITMAP hbitmap; + HPALETTE hpal; + } bmp; + struct { + HMETAFILE hmeta; + int xExt; + int yExt; + } wmf; + struct { + HICON hicon; + } icon; + struct { + HENHMETAFILE hemf; + } emf; + } DUMMY_UNION_NAME; +} PICTDESC, *LPPICTDESC; typedef long OLE_XPOS_PIXELS; typedef long OLE_YPOS_PIXELS; @@ -42,6 +136,36 @@ typedef VARIANT_BOOL OLE_CANCELBOOL; typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL; /* standard dispatch ID's */ +#define DISPID_AUTOSIZE (-500) +#define DISPID_BACKCOLOR (-501) +#define DISPID_BACKSTYLE (-502) +#define DISPID_BORDERCOLOR (-503) +#define DISPID_BORDERSTYLE (-504) +#define DISPID_BORDERWIDTH (-505) +#define DISPID_DRAWMODE (-507) +#define DISPID_DRAWSTYLE (-508) +#define DISPID_DRAWWIDTH (-509) +#define DISPID_FILLCOLOR (-510) +#define DISPID_FILLSTYLE (-511) +#define DISPID_FONT (-512) +#define DISPID_FORECOLOR (-513) +#define DISPID_ENABLED (-514) +#define DISPID_HWND (-515) +#define DISPID_TABSTOP (-516) +#define DISPID_TEXT (-517) +#define DISPID_CAPTION (-518) +#define DISPID_BORDERVISIBLE (-519) +#define DISPID_APPEARANCE (-520) +#define DISPID_MOUSEPOINTER (-521) +#define DISPID_MOUSEICON (-522) +#define DISPID_PICTURE (-523) +#define DISPID_VALID (-524) +#define DISPID_READYSTATE (-525) + +#define DISPID_REFRESH (-550) +#define DISPID_DOCLICK (-551) +#define DISPID_ABOUTBOX (-552) + #define DISPID_CLICK (-600) #define DISPID_DBLCLICK (-601) #define DISPID_KEYDOWN (-602) @@ -100,6 +224,72 @@ typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL; #define OCM_PARENTNOTIFY (OCM__BASE + WM_PARENTNOTIFY) #define OCM_NOTIFY (OCM__BASE + WM_NOTIFY) +#define CONNECT_E_FIRST MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x0200) +#define CONNECT_E_LAST MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x020F) +#define CONNECT_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200) +#define CONNECT_S_LAST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F) + +#define CONNECT_E_NOCONNECTION (CONNECT_E_FIRST+0) +#define CONNECT_E_ADVISELIMIT (CONNECT_E_FIRST+1) +#define CONNECT_E_CANNOTCONNECT (CONNECT_E_FIRST+2) +#define CONNECT_E_OVERRIDDEN (CONNECT_E_FIRST+3) + +#ifndef FACILITY_CONTROL +#define FACILITY_CONTROL 0xa +#endif +#define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_CONTROL, n) +#define CTL_E_ILLEGALFUNCTIONCALL STD_CTL_SCODE(5) +#define CTL_E_OVERFLOW STD_CTL_SCODE(6) +#define CTL_E_OUTOFMEMORY STD_CTL_SCODE(7) +#define CTL_E_DIVISIONBYZERO STD_CTL_SCODE(11) +#define CTL_E_OUTOFSTRINGSPACE STD_CTL_SCODE(14) +#define CTL_E_OUTOFSTACKSPACE STD_CTL_SCODE(28) +#define CTL_E_BADFILENAMEORNUMBER STD_CTL_SCODE(52) +#define CTL_E_FILENOTFOUND STD_CTL_SCODE(53) +#define CTL_E_BADFILEMODE STD_CTL_SCODE(54) +#define CTL_E_FILEALREADYOPEN STD_CTL_SCODE(55) +#define CTL_E_DEVICEIOERROR STD_CTL_SCODE(57) +#define CTL_E_FILEALREADYEXISTS STD_CTL_SCODE(58) +#define CTL_E_BADRECORDLENGTH STD_CTL_SCODE(59) +#define CTL_E_DISKFULL STD_CTL_SCODE(61) +#define CTL_E_BADRECORDNUMBER STD_CTL_SCODE(63) +#define CTL_E_BADFILENAME STD_CTL_SCODE(64) +#define CTL_E_TOOMANYFILES STD_CTL_SCODE(67) +#define CTL_E_DEVICEUNAVAILABLE STD_CTL_SCODE(68) +#define CTL_E_PERMISSIONDENIED STD_CTL_SCODE(70) +#define CTL_E_DISKNOTREADY STD_CTL_SCODE(71) +#define CTL_E_PATHFILEACCESSERROR STD_CTL_SCODE(75) +#define CTL_E_PATHNOTFOUND STD_CTL_SCODE(76) +#define CTL_E_INVALIDPATTERNSTRING STD_CTL_SCODE(93) +#define CTL_E_INVALIDUSEOFNULL STD_CTL_SCODE(94) +#define CTL_E_INVALIDFILEFORMAT STD_CTL_SCODE(321) +#define CTL_E_INVALIDPROPERTYVALUE STD_CTL_SCODE(380) +#define CTL_E_INVALIDPROPERTYARRAYINDEX STD_CTL_SCODE(381) +#define CTL_E_SETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(382) +#define CTL_E_SETNOTSUPPORTED STD_CTL_SCODE(383) +#define CTL_E_NEEDPROPERTYARRAYINDEX STD_CTL_SCODE(385) +#define CTL_E_SETNOTPERMITTED STD_CTL_SCODE(387) +#define CTL_E_GETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(393) +#define CTL_E_GETNOTSUPPORTED STD_CTL_SCODE(394) +#define CTL_E_PROPERTYNOTFOUND STD_CTL_SCODE(422) +#define CTL_E_INVALIDCLIPBOARDFORMAT STD_CTL_SCODE(460) +#define CTL_E_INVALIDPICTURE STD_CTL_SCODE(481) +#define CTL_E_PRINTERERROR STD_CTL_SCODE(482) +#define CTL_E_CANTSAVEFILETOTEMP STD_CTL_SCODE(735) +#define CTL_E_SEARCHTEXTNOTFOUND STD_CTL_SCODE(744) +#define CTL_E_REPLACEMENTSTOOLONG STD_CTL_SCODE(746) + +#define VT_STREAMED_PROPSET 73 // [P] Stream contains a property set +#define VT_STORED_PROPSET 74 // [P] Storage contains a property set +#define VT_BLOB_PROPSET 75 // [P] Blob contains a property set +#define VT_VERBOSE_ENUM 76 // [P] Enum value with text string + +#define PERPROP_E_FIRST MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x0200) +#define PERPROP_E_LAST MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x020F) +#define PERPROP_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200) +#define PERPROP_S_LAST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F) + +#define PERPROP_E_NOPAGEAVAILABLE (PERPROP_E_FIRST+0) #endif /* __WINE_OLECTL_H */ diff --git a/include/wine/obj_control.h b/include/wine/obj_control.h index 2fbe0ae61ec..9bbe78027dc 100644 --- a/include/wine/obj_control.h +++ b/include/wine/obj_control.h @@ -94,6 +94,39 @@ typedef enum tagOLEDCFLAGS OLEDC_OFFSCREEN = 0x4 } OLEDCFLAGS; +typedef enum tagDVASPECT2 +{ + DVASPECT_OPAQUE = 16, + DVASPECT_TRANSPARENT = 32, +} DVASPECT2; + +typedef enum tagHITRESULT +{ + HITRESULT_OUTSIDE = 0, + HITRESULT_TRANSPARENT = 1, + HITRESULT_CLOSE = 2, + HITRESULT_HIT = 3 +} HITRESULT; + +typedef enum tagAspectInfoFlag +{ + DVASPECTINFOFLAG_CANOPTIMIZE = 1 +} DVASPECTINFOFLAG; + +typedef struct tagAspectInfo +{ + ULONG cb; + DWORD dwFlags; +} DVASPECTINFO; + +typedef enum tagVIEWSTATUS +{ + VIEWSTATUS_OPAQUE = 1, + VIEWSTATUS_SOLIDBKGND = 2, + VIEWSTATUS_DVASPECTOPAQUE = 4, + VIEWSTATUS_DVASPECTTRANSPARENT = 8 +} VIEWSTATUS; + /***************************************************************************** * Predeclare the interfaces */ diff --git a/include/wine/obj_dataobject.h b/include/wine/obj_dataobject.h index 7cf948c5ef3..15d9a4e1888 100644 --- a/include/wine/obj_dataobject.h +++ b/include/wine/obj_dataobject.h @@ -112,6 +112,24 @@ struct STGMEDIUM IUnknown *pUnkForRelease; }; +typedef enum tagADVF +{ + ADVF_NODATA = 1, + ADVF_PRIMEFIRST = 2, + ADVF_ONLYONCE = 4, + ADVF_DATAONSTOP = 64, + ADVFCACHE_NOHANDLER = 8, + ADVFCACHE_FORCEBUILTIN = 16, + ADVFCACHE_ONSAVE = 32 +} ADVF; + +typedef struct tagSTATDATA +{ + FORMATETC formatetc; + DWORD advf; + IAdviseSink *pAdvSink; + DWORD dwConnection; +} STATDATA, *LPSTATDATA; /***************************************************************************** * IAdviseSink interface @@ -213,7 +231,7 @@ HRESULT WINAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER* ppDAHolder); ICOM_METHOD2(HRESULT,GetCanonicalFormatEtc, LPFORMATETC,pformatectIn, LPFORMATETC,pformatetcOut) \ ICOM_METHOD3(HRESULT,SetData, LPFORMATETC,pformatetc, STGMEDIUM*,pmedium, BOOL,fRelease) \ ICOM_METHOD2(HRESULT,EnumFormatEtc, DWORD,dwDirection, IEnumFORMATETC**,ppenumFormatEtc) \ - ICOM_METHOD4(HRESULT,DAdvise, LPFORMATETC*,pformatetc, DWORD,advf, IAdviseSink*,pAdvSink, DWORD*,pdwConnection) \ + ICOM_METHOD4(HRESULT,DAdvise, FORMATETC*,pformatetc, DWORD,advf, IAdviseSink*,pAdvSink, DWORD*,pdwConnection) \ ICOM_METHOD1(HRESULT,DUnadvise, DWORD,dwConnection) \ ICOM_METHOD1(HRESULT,EnumDAdvise, IEnumSTATDATA**,ppenumAdvise) #define IDataObject_IMETHODS \ @@ -271,17 +289,9 @@ ICOM_DEFINE(IEnumFORMATETC,IUnknown) /***************************************************************************** * IEnumSTATDATA interface */ -typedef struct tagSTATDATA -{ - FORMATETC formatetc; - DWORD advf; - IAdviseSink* pAdvSink; - DWORD dwConnection; -} STATDATA32; - #define ICOM_INTERFACE IEnumSTATDATA #define IEnumSTATDATA_METHODS \ - ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATDATA32*,rgelt, ULONG*,pceltFethed) \ + ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATDATA*,rgelt, ULONG*,pceltFethed) \ ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \ ICOM_METHOD (HRESULT,Reset) \ ICOM_METHOD1(HRESULT,Clone, IEnumSTATDATA**,ppenum) diff --git a/include/wine/obj_dragdrop.h b/include/wine/obj_dragdrop.h index 9123a91c4b6..56081a24a96 100644 --- a/include/wine/obj_dragdrop.h +++ b/include/wine/obj_dragdrop.h @@ -28,6 +28,11 @@ typedef struct IDropTarget IDropTarget,*LPDROPTARGET; #define DROPEFFECT_MOVE 2 #define DROPEFFECT_LINK 4 #define DROPEFFECT_SCROLL 0x80000000 +#define DD_DEFSCROLLINSET 11 +#define DD_DEFSCROLLDELAY 50 +#define DD_DEFSCROLLINTERVAL 50 +#define DD_DEFDRAGDELAY 50 +#define DD_DEFDRAGMINDIST 2 /***************************************************************************** * IDropSource interface diff --git a/include/wine/obj_inplace.h b/include/wine/obj_inplace.h index 866cba51582..944b8f548b4 100644 --- a/include/wine/obj_inplace.h +++ b/include/wine/obj_inplace.h @@ -64,7 +64,7 @@ typedef enum tagOLEUPDATE { OLEUPDATE_ALWAYS = 1, OLEUPDATE_ONCALL = 3 -} OLEUPDATE; +} OLEUPDATE, *LPOLEUPDATE; typedef struct tagOLEVERB { @@ -74,6 +74,25 @@ typedef struct tagOLEVERB DWORD grfAttribs; } OLEVERB, *LPOLEVERB; +typedef enum tagOLELINKBIND +{ + OLELINKBIND_EVENIFCLASSDIFF = 1 +} OLELINKBIND; + +typedef enum tagOLEWHICHMK +{ + OLEWHICHMK_CONTAINER = 1, + OLEWHICHMK_OBJREL = 2, + OLEWHICHMK_OBJFULL = 3 +} OLEWHICHMK; + +typedef enum tagBINDSPEED +{ + BINDSPEED_INDEFINITE = 1, + BINDSPEED_MODERATE = 2, + BINDSPEED_IMMEDIATE = 3 +} BINDSPEED; + typedef HGLOBAL HOLEMENU; typedef LPRECT LPBORDERWIDTHS; typedef LPCRECT LPCBORDERWIDTHS; @@ -112,6 +131,9 @@ typedef struct IParseDisplayName IParseDisplayName, *LPPARSEDISPLAYNAME; DEFINE_OLEGUID(IID_IOleItemContainer, 0x0000011aL, 0, 0); typedef struct IOleItemContainer IOleItemContainer, *LPOLEITEMCONTAINER; +DEFINE_OLEGUID(IID_IOleLink, 0x0000011dL, 0, 0); +typedef struct IOleLink IOleLink, *LPOLELINK; + /***************************************************************************** * IOleWindow interface */ @@ -418,6 +440,47 @@ ICOM_DEFINE(IOleItemContainer,IOleContainer) #endif +/***************************************************************************** + * IOleItemContainer interface + */ +#define ICOM_INTERFACE IOleLink +#define IOleLink_METHODS \ + ICOM_METHOD1(HRESULT,SetUpdateOptions, DWORD,dwUpdateOpt) \ + ICOM_METHOD1(HRESULT,GetUpdateOptions, DWORD*,pdwUpdateOpt) \ + ICOM_METHOD2(HRESULT,SetSourceMoniker, IMoniker*,pmk, REFCLSID,rclsid) \ + ICOM_METHOD1(HRESULT,GetSourceMoniker, IMoniker**,ppmk) \ + ICOM_METHOD1(HRESULT,SetSourceDisplayName, LPCOLESTR,pszStatusText) \ + ICOM_METHOD1(HRESULT,GetSourceDisplayName, LPOLESTR*,ppszDisplayName) \ + ICOM_METHOD2(HRESULT,BindToSource, DWORD,bindflags, IBindCtx*,pbc) \ + ICOM_METHOD (HRESULT,BindIfRunning) \ + ICOM_METHOD1(HRESULT,GetBoundSource, IUnknown**,ppunk) \ + ICOM_METHOD (HRESULT,UnBindSource) \ + ICOM_METHOD1(HRESULT,Update, IBindCtx*,pbc) +#define IOleLink_IMETHODS \ + IUnknown_IMETHODS \ + IOleLink_METHODS +ICOM_DEFINE(IOleLink,IUnknown) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IOleLink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IOleLink_AddRef(p) ICOM_CALL (AddRef,p) +#define IOleLink_Release(p) ICOM_CALL (Release,p) +/*** IOleLink methods ***/ +#define IOleLink_SetUpdateOptions(p,a) ICOM_CALL1(SetUpdateOptions,p,a) +#define IOleLink_GetUpdateOptions(p,a) ICOM_CALL1(GetUpdateOptions,p,a) +#define IOleLink_SetSourceMoniker(p,a,b) ICOM_CALL2(SetSourceMoniker,p,a,b) +#define IOleLink_GetSourceMoniker(p,a) ICOM_CALL1(GetSourceMoniker,p,a) +#define IOleLink_SetSourceDisplayName(p,a) ICOM_CALL1(SetSourceDisplayName,p,a) +#define IOleLink_GetSourceDisplayName(p,a) ICOM_CALL1(GetSourceDisplayName,p,a) +#define IOleLink_BindToSource(p,a,b) ICOM_CALL2(BindToSource,p,a,b) +#define IOleLink_BindIfRunning(p) ICOM_CALL (BindIfRunning,p) +#define IOleLink_GetBoundSource(p,a) ICOM_CALL1(GetBoundSource,p,a) +#define IOleLink_UnBindSource(p) ICOM_CALL (UnBindSource,p) +#define IOleLink_Update(p,a) ICOM_CALL1(Update,p,a) +#endif + #endif /* __WINE_WINE_OBJ_INPLACE_H */ diff --git a/include/wine/obj_moniker.h b/include/wine/obj_moniker.h index 8e84c0969c0..ddc65a8a8ca 100644 --- a/include/wine/obj_moniker.h +++ b/include/wine/obj_moniker.h @@ -129,7 +129,7 @@ ICOM_DEFINE(IClassActivator,IUnknown) */ #define ICOM_INTERFACE IEnumMoniker #define IEnumMoniker_METHODS \ - ICOM_METHOD3(HRESULT,Next, ULONG,celt, IMoniker***,rgelt, ULONG*,pceltFethed) \ + ICOM_METHOD3(HRESULT,Next, ULONG,celt, IMoniker**,rgelt, ULONG*,pceltFethed) \ ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \ ICOM_METHOD (HRESULT,Reset) \ ICOM_METHOD1(HRESULT,Clone, IEnumMoniker**,ppenum) diff --git a/include/wine/obj_oleaut.h b/include/wine/obj_oleaut.h index 137e8ae67af..c5a6b6547ad 100644 --- a/include/wine/obj_oleaut.h +++ b/include/wine/obj_oleaut.h @@ -132,7 +132,7 @@ struct tagVARIANT { WORD wReserved1; WORD wReserved2; WORD wReserved3; - union DUMMY_UNION_NAME + union /*DUMMY_UNION_NAME*/ { /* By value. */ CHAR cVal; @@ -185,6 +185,11 @@ typedef LONG DISPID; typedef DWORD HREFTYPE; typedef DISPID MEMBERID; +#define DISPATCH_METHOD 0x1 +#define DISPATCH_PROPERTYGET 0x2 +#define DISPATCH_PROPERTYPUT 0x4 +#define DISPATCH_PROPERTYPUTREF 0x8 + #define DISPID_UNKNOWN ( -1 ) #define DISPID_VALUE ( 0 ) #define DISPID_PROPERTYPUT ( -3 ) @@ -390,6 +395,22 @@ typedef union tagBINDPTR ITypeComp *lptcomp; } BINDPTR, *LPBINDPTR; +typedef enum tagVARFLAGS +{ + VARFLAG_FREADONLY = 0x1, + VARFLAG_FSOURCE = 0x2, + VARFLAG_FBINDABLE = 0x4, + VARFLAG_FREQUESTEDIT = 0x8, + VARFLAG_FDISPLAYBIND = 0x10, + VARFLAG_FDEFAULTBIND = 0x20, + VARFLAG_FHIDDEN = 0x40, + VARFLAG_FRESTRICTED = 0x80, + VARFLAG_FDEFAULTCOLLELEM = 0x100, + VARFLAG_FUIDEFAULT = 0x200, + VARFLAG_FNONBROWSABLE = 0x400, + VARFLAG_FREPLACEABLE = 0x800, + VARFLAG_FIMMEDIATEBIND = 0x1000 +} VARFLAGS; /***************************************************************** * SafeArray defines and structs @@ -526,7 +547,7 @@ ICOM_DEFINE(IDispatch,IUnknown) ICOM_METHOD3(HRESULT,CreateInstance, IUnknown*,pUnkOuter, REFIID,riid, PVOID*,ppvObj) \ ICOM_METHOD2(HRESULT,GetMops, MEMBERID,memid, BSTR*,pBstrMops) \ ICOM_METHOD2(HRESULT,GetContainingTypeLib, ITypeLib**,ppTLib, UINT*,pIndex) \ - ICOM_METHOD1(HRESULT,ReleaseTypeAttr, TYPEATTR,*pTypeAttr) \ + ICOM_METHOD1(HRESULT,ReleaseTypeAttr, TYPEATTR*,pTypeAttr) \ ICOM_METHOD1(HRESULT,ReleaseFuncDesc, FUNCDESC*,pFuncDesc) \ ICOM_METHOD1(HRESULT,ReleaseVarDesc, VARDESC*,pVarDesc) #define ITypeInfo_IMETHODS \ diff --git a/include/wine/obj_olefont.h b/include/wine/obj_olefont.h index da6213598a2..d4e6dbf8687 100644 --- a/include/wine/obj_olefont.h +++ b/include/wine/obj_olefont.h @@ -90,6 +90,31 @@ ICOM_DEFINE(IFont,IUnknown) #define IFont_SetHdc(p,a) ICOM_CALL1(SetHdc,a) #endif +/***************************************************************************** + * IFont interface + */ +#define ICOM_INTERFACE IFontDisp +#define IFontDisp_METHODS +#define IFontDisp_IMETHODS \ + IUnknown_IMETHODS \ + IFontDisp_METHODS +ICOM_DEFINE(IFontDisp,IDispatch) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IFontDisp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IFontDisp_AddRef(p) ICOM_CALL (AddRef,p) +#define IFontDisp_Release(p) ICOM_CALL (Release,p) +/*** IDispatch methods ***/ +#define IFontDisp_GetTypeInfoCount(p,a) ICOM_CALL1 (GetTypeInfoCount,p,a) +#define IFontDisp_GetTypeInfo(p,a,b,c) ICOM_CALL3 (GetTypeInfo,p,b,c) +#define IFontDisp_GetIDsOfNames(p,a,b,c,d,e) ICOM_CALL5 (GetIDsOfNames,p,a,b,c,d,e) +#define IFontDisp_Invoke(p,a,b,c,d,e,f,g,h) ICOM_CALL8 (Invoke,p,a,b,c,d,e,f,g,h) +/*** IFontDisp methods ***/ +#endif + + #endif /* __WINE_WINE_OBJ_OLEFONT_H */ diff --git a/include/wine/obj_oleobj.h b/include/wine/obj_oleobj.h index 6af05e5289b..561a6c1eb9c 100644 --- a/include/wine/obj_oleobj.h +++ b/include/wine/obj_oleobj.h @@ -27,6 +27,38 @@ typedef struct tagOBJECTDESCRIPTOR DWORD dwSrcOfCopy; } OBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR; +typedef enum tagOLEMISC +{ + OLEMISC_RECOMPOSEONRESIZE = 0x1, + OLEMISC_ONLYICONIC = 0x2, + OLEMISC_INSERTNOTREPLACE = 0x4, + OLEMISC_STATIC = 0x8, + OLEMISC_CANTLINKINSIDE = 0x10, + OLEMISC_CANLINKBYOLE1 = 0x20, + OLEMISC_ISLINKOBJECT = 0x40, + OLEMISC_INSIDEOUT = 0x80, + OLEMISC_ACTIVATEWHENVISIBLE = 0x100, + OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200, + OLEMISC_INVISABLEATRUNTIME = 0x400, + OLEMISC_ALWAYSRUN = 0x800, + OLEMISC_ACTSLIKEBUTTON = 0x1000, + OLEMISC_ACTSLIKELABEL = 0x2000, + OLEMISC_NOUIACTIVATE = 0x4000, + OLEMISC_ALIGNABLE = 0x8000, + OLEMISC_SIMPLEFRAME = 0x10000, + OLEMISC_SETCLIENTSITEFIRST = 0x20000, + OLEMISC_IMEMODE = 0x40000, + OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000, + OLEMISC_WANTSTOMENUMERGE = 0x100000, + OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000 +} OLEMISC; + +typedef enum tagOLEVERBATTRIB +{ + OLEVERBATTRIB_NEVERDIRTIES = 1, + OLEVERBATTRIB_ONCONTAINERMENU = 2 +} OLEVERBATTRIB; + /***************************************************************************** * Predeclare the interfaces */ @@ -57,7 +89,7 @@ typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB; 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,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); \ diff --git a/include/wine/obj_oleundo.h b/include/wine/obj_oleundo.h index c150b3d591e..03822036a6e 100644 --- a/include/wine/obj_oleundo.h +++ b/include/wine/obj_oleundo.h @@ -39,7 +39,7 @@ typedef struct IEnumOleUndoUnits IEnumOleUndoUnits,*LPENUMOLEUNDOUNITS; */ typedef enum tagQACONTAINERFLAGS { - QACONTAINER_SHOWWATCHING = 0x1, + QACONTAINER_SHOWHATCHING = 0x1, QACONTAINER_SHOWGRABHANDLES = 0x2, QACONTAINER_USERMODE = 0x4, QACONTAINER_DISPLAYASDEFAULT = 0x8, diff --git a/include/wine/obj_oleview.h b/include/wine/obj_oleview.h index 4d1004bcbdc..e35e1642a4e 100644 --- a/include/wine/obj_oleview.h +++ b/include/wine/obj_oleview.h @@ -29,9 +29,11 @@ typedef struct IViewObject2 IViewObject2, *LPVIEWOBJECT2; /***************************************************************************** * IViewObject interface */ +typedef BOOL (CALLBACK* pfnContinue)(DWORD); + #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_METHOD10(HRESULT,Draw, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DVTARGETDEVICE*,ptd, HDC,hdcTargetDev, HDC,hdcDraw, LPCRECTL,lprcBounds, LPCRECTL,lprcWBounds, pfnContinue,, 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) \ diff --git a/include/wine/obj_picture.h b/include/wine/obj_picture.h index 47489ac5a9c..6ff1b24f478 100644 --- a/include/wine/obj_picture.h +++ b/include/wine/obj_picture.h @@ -31,7 +31,7 @@ DEFINE_GUID(IID_IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b, 0xbb, 0x00, 0xAA typedef struct IPictureDisp IPictureDisp, *LPPICTUREDISP; /***************************************************************************** - * IFont interface + * IPicture interface */ #define ICOM_INTERFACE IPicture #define IPicture_METHODS \ @@ -60,7 +60,7 @@ ICOM_DEFINE(IPicture,IUnknown) #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 ***/ +/*** IPicture 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) @@ -78,6 +78,31 @@ ICOM_DEFINE(IPicture,IUnknown) #endif +/***************************************************************************** + * IPictureDisp interface + */ +#define ICOM_INTERFACE IPictureDisp +#define IPictureDisp_METHODS +#define IPictureDisp_IMETHODS \ + IDispatch_IMETHODS \ + IPictureDisp_METHODS +ICOM_DEFINE(IPictureDisp,IDispatch) +#undef ICOM_INTERFACE + +#ifdef ICOM_CINTERFACE +/*** IUnknown methods ***/ +#define IPictureDisp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) +#define IPictureDisp_AddRef(p) ICOM_CALL (AddRef,p) +#define IPictureDisp_Release(p) ICOM_CALL (Release,p) +/*** IDispatch methods ***/ +#define IPictureDisp_GetTypeInfoCount(p,a) ICOM_CALL1 (GetTypeInfoCount,p,a) +#define IPictureDisp_GetTypeInfo(p,a,b,c) ICOM_CALL3 (GetTypeInfo,p,b,c) +#define IPictureDisp_GetIDsOfNames(p,a,b,c,d,e) ICOM_CALL5 (GetIDsOfNames,p,a,b,c,d,e) +#define IPictureDisp_Invoke(p,a,b,c,d,e,f,g,h) ICOM_CALL8 (Invoke,p,a,b,c,d,e,f,g,h) +/*** IPictureDisp methods ***/ +#endif + + #endif /* __WINE_WINE_OBJ_PICTURE_H */ diff --git a/include/wine/obj_shelllink.h b/include/wine/obj_shelllink.h index d31f268805e..144e1ddcda2 100644 --- a/include/wine/obj_shelllink.h +++ b/include/wine/obj_shelllink.h @@ -16,6 +16,7 @@ */ DEFINE_SHLGUID(IID_IShellLink, 0x000214EEL, 0, 0); typedef struct IShellLink IShellLink,*LPSHELLLINK; +#define IShellLinkA IShellLink DEFINE_SHLGUID(IID_IShellLinkW, 0x000214F9L, 0, 0); typedef struct IShellLinkW IShellLinkW,*LPSHELLLINKW; diff --git a/include/wine/obj_storage.h b/include/wine/obj_storage.h index fb281748bfd..9c8f74df47f 100644 --- a/include/wine/obj_storage.h +++ b/include/wine/obj_storage.h @@ -12,11 +12,38 @@ /***************************************************************************** * Predeclare the structures */ +typedef enum tagLOCKTYPE +{ + LOCK_WRITE = 1, + LOCK_EXCLUSIVE = 2, + LOCK_ONLYONCE = 4 +} LOCKTYPE; + +typedef struct tagStorageLayout +{ + DWORD LayoutType; + OLECHAR16* pwcsElementName; + LARGE_INTEGER cOffset; + LARGE_INTEGER cBytes; +} StorageLayout; + +typedef struct tagSTATSTG { + LPOLESTR pwcsName; + DWORD type; + ULARGE_INTEGER cbSize; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; + DWORD grfMode; + DWORD grfLocksSupported; + CLSID clsid; + DWORD grfStateBits; + DWORD reserved; +} STATSTG; + typedef LPOLESTR16 *SNB16; typedef LPOLESTR *SNB; -typedef struct STATSTG STATSTG; - /***************************************************************************** * Predeclare the interfaces @@ -111,24 +138,6 @@ typedef struct IStream IStream,*LPSTREAM; #define STREAM_SEEK_CUR 1 #define STREAM_SEEK_END 2 -/***************************************************************************** - * STATSTG structure - */ -struct STATSTG { - LPOLESTR16 pwcsName; - DWORD type; - ULARGE_INTEGER cbSize; - FILETIME mtime; - FILETIME ctime; - FILETIME atime; - DWORD grfMode; - DWORD grfLocksSupported; - CLSID clsid; - DWORD grfStateBits; - DWORD reserved; -}; - - /***************************************************************************** * IEnumSTATSTG interface */ @@ -188,14 +197,6 @@ ICOM_DEFINE(IFillLockBytes,IUnknown) /***************************************************************************** * ILayoutStorage interface */ -typedef struct tagStorageLayout -{ - DWORD LayoutType; - OLECHAR16* pwcsElementName; - LARGE_INTEGER cOffset; - LARGE_INTEGER cBytes; -} StorageLayout; - #define ICOM_INTERFACE ILayoutStorage #define ILayoutStorage_METHODS \ ICOM_METHOD2(HRESULT,LayoutScript, DWORD,nEntries, DWORD,glfInterleavedFlag) \ @@ -448,18 +449,18 @@ ICOM_DEFINE(ISequentialStream,IUnknown) */ #define ICOM_INTERFACE IStorage16 #define IStorage16_METHODS \ - ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream16**,ppstm) \ - ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR16,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream16**,ppstm) \ - ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage16**,ppstg) \ - ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR16,pwcsName, IStorage16*,pstgPriority, DWORD,grfMode, SNB16,snb16Exclude, DWORD,reserved, IStorage16**,ppstg) \ + ICOM_METHOD5(HRESULT,CreateStream, OLECHAR*,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream16**,ppstm) \ + ICOM_METHOD5(HRESULT,OpenStream, OLECHAR*,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream16**,ppstm) \ + ICOM_METHOD5(HRESULT,CreateStorage, OLECHAR*,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage16**,ppstg) \ + ICOM_METHOD6(HRESULT,OpenStorage, OLECHAR*,pwcsName, IStorage16*,pstgPriority, DWORD,grfMode, SNB16,snb16Exclude, DWORD,reserved, IStorage16**,ppstg) \ ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB16,snb16Exclude, IStorage16*,pstgDest) \ ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR16,pwcsName, IStorage16*,pstgDest, LPCOLESTR16,pwcsNewName, DWORD,grfFlags) \ ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \ ICOM_METHOD (HRESULT,Revert) \ ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum) \ - ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR16,pwcsName) \ - ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR16,pwcsOldName, LPCOLESTR16,pwcsNewName) \ - ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR16,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \ + ICOM_METHOD1(HRESULT,DestroyElement, OLECHAR*,pwcsName) \ + ICOM_METHOD2(HRESULT,RenameElement, OLECHAR*,pwcsOldName, OLECHAR*,pwcsNewName) \ + ICOM_METHOD4(HRESULT,SetElementTimes,OLECHAR*,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \ ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid) \ ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask) \ ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) diff --git a/include/winerror.h b/include/winerror.h index 8cad5aa2ddb..ae27c226a25 100644 --- a/include/winerror.h +++ b/include/winerror.h @@ -4,8 +4,17 @@ extern int WIN32_LastError; +#define FACILITY_NULL 0 +#define FACILITY_RPC 1 +#define FACILITY_DISPATCH 2 +#define FACILITY_STORAGE 3 #define FACILITY_ITF 4 #define FACILITY_WIN32 7 +#define FACILITY_WINDOWS 8 +#define FACILITY_SSPI 9 +#define FACILITY_CONTROL 10 +#define FACILITY_CERT 11 +#define FACILITY_INTERNET 12 #define SEVERITY_ERROR 1 @@ -17,6 +26,12 @@ extern int WIN32_LastError; #define SUCCEEDED(stat) ((HRESULT)(stat)>=0) #define FAILED(stat) ((HRESULT)(stat)<0) +#define HRESULT_CODE(hr) ((hr) & 0xFFFF) +#define SCODE_CODE(sc) ((sc) & 0xFFFF) + +#define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1FFF) +#define SCODE_FACILITY(sc) (((sc) >> 16) & 0x1FFF) + /* ERROR_UNKNOWN is a placeholder for error conditions which haven't * been tested yet so we're not exactly sure what will be returned. * All instances of ERROR_UNKNOWN should be tested under Win95/NT @@ -251,14 +266,23 @@ extern int WIN32_LastError; #define S_OK ((HRESULT)0L) #define S_FALSE ((HRESULT)1L) +#define DISP_E_UNKNOWNINTERFACE 0x80020001L +#define DISP_E_MEMBERNOTFOUND 0x80020003L +#define DISP_E_PARAMNOTFOUND 0x80020004L +#define DISP_E_TYPEMISMATCH 0x80020005L +#define DISP_E_UNKNOWNNAME 0x80020006L +#define DISP_E_NONAMEDARGS 0x80020007L #define DISP_E_BADVARTYPE 0x80020008L +#define DISP_E_EXCEPTION 0x80020009L #define DISP_E_OVERFLOW 0x8002000AL -#define DISP_E_TYPEMISMATCH 0x80020005L -#define DISP_E_ARRAYISLOCKED 0x8002000D -#define DISP_E_BADINDEX 0x8002000B -#define DISP_E_MEMBERNOTFOUND 0x80020003L +#define DISP_E_BADINDEX 0x8002000BL +#define DISP_E_UNKNOWNLCID 0x8002000CL +#define DISP_E_ARRAYISLOCKED 0x8002000DL +#define DISP_E_BADPARAMCOUNT 0x8002000EL +#define DISP_E_PARAMNOTOPTIONAL 0x8002000FL #define TYPE_E_ELEMENTNOTFOUND 0x8002802BL +#define TYPE_E_CANTLOADLIBRARY 0x80029C4AL /* Drag and Drop */ @@ -293,14 +317,22 @@ extern int WIN32_LastError; #define CO_E_OBJISREG 0x800401FB #define OLE_E_ENUM_NOMORE 0x80040002 +#define OLE_E_ADVISENOTSUPPORTED 0x80040003 +#define OLE_E_NOCONNECTION 0x80040004 +#define OLE_E_NOTRUNNING 0x80040005 +#define OLE_E_NOCACHE 0x80040006 +#define OLE_E_BLANK 0x80040007 +#define OLE_E_NOT_INPLACEACTIVE 0x80040010 +#define OLE_E_STATIC 0x8004000B +#define OLE_E_PROMPTSAVECANCELLED 0x8004000C #define OLE_S_USEREG 0x00040000 -#define CLASS_E_NOAGGREGATION 0x80040110 -#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 +#define DV_E_FORMATETC 0x80040064 +#define DV_E_DVASPECT 0x8004006B +#define DATA_S_SAMEFORMATETC 0x80040130 #define E_ACCESSDENIED 0x80070005 #define E_HANDLE 0x80070006 #define E_OUTOFMEMORY 0x8007000E #define E_INVALIDARG 0x80070057 - /*#define OLE_E_FIRST 0x80040000L */ /*#define OLE_E_LAST 0x800400FFL */ /*#define OLE_S_FIRST 0x00040000L */ @@ -359,4 +391,27 @@ extern int WIN32_LastError; #define REGDB_E_READREGDB 0x80040150 #define REGDB_E_CLASSNOTREG 0x80040154 +#define INPLACE_E_NOTUNDOABLE 0x800401A0 +#define INPLACE_E_NOTOOLSPACE 0x800401A1 + +#define DATA_E_FORMATETC DV_E_FORMATETC + +#define CLASSFACTORY_E_FIRST 0x80040110L +#define CLASSFACTORY_E_LAST 0x8004011FL +#define CLASSFACTORY_S_FIRST 0x80040110L +#define CLASSFACTORY_S_LAST 0x8004011FL + +#define CLASS_E_NOTLICENSED (CLASSFACTORY_E_FIRST+2) +#define CLASS_E_NOAGGREGATION 0x80040110 +#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 + +#define MK_E_EXCEEDEDDEADLINE 0x800401E1L +#define MK_E_SYNTAX 0x800401E4L +#define MK_E_NOOBJECT 0x800401E5L +#define MK_E_INVALIDEXTENSION 0x800401E6L +#define MK_E_NOSTORAGE 0x800401EDL + +#define OLEOBJ_E_NOVERBS 0x00040180L +#define OLEOBJ_S_INVALIDVERB 0x00040180L + #endif /* __WINE_WINERROR_H */ diff --git a/include/wingdi.h b/include/wingdi.h index aded9f2535f..14929133aff 100644 --- a/include/wingdi.h +++ b/include/wingdi.h @@ -7,6 +7,8 @@ extern "C" { #endif +#define _WINGDI_ + #pragma pack(1) typedef struct _ABCFLOAT { @@ -1140,6 +1142,26 @@ typedef struct INT16 value; } FIXED; +typedef struct tagPOINTFX +{ + FIXED x; + FIXED y; +} POINTFX, *LPPOINTFX; + +typedef struct tagTTPOLYCURVE +{ + WORD wType; + WORD cpfx; + POINTFX apfx[1]; +} TTPOLYCURVE, *LPTTPOLYCURVE; + +typedef struct tagTTPOLYGONHEADER +{ + DWORD cb; + DWORD dwType; + POINTFX pfxStart; +} TTPOLYGONHEADER, *LPTTPOLYGONHEADER; + typedef struct { FIXED eM11; diff --git a/include/winsock.h b/include/winsock.h index 852745d786a..38b88a5784e 100644 --- a/include/winsock.h +++ b/include/winsock.h @@ -227,6 +227,8 @@ typedef struct WSAData { * Socket I/O flags (supported by spec 1.1) */ +#define FIONREAD WS_FIONREAD +#define FIONBIO WS_FIONBIO #define WS_FIONREAD WS_IOR('f', 127, u_long) #define WS_FIONBIO WS_IOW('f', 126, u_long) @@ -253,6 +255,12 @@ typedef struct WSAData { /* * Define flags to be used with the WSAAsyncSelect() call. */ +#define FD_READ WS_FD_READ +#define FD_WRITE WS_FD_WRITE +#define FD_OOB WS_FD_OOB +#define FD_ACCEPT WS_FD_ACCEPT +#define FD_CONNECT WS_FD_CONNECT +#define FD_CLOSE WS_FD_CLOSE #define WS_FD_READ 0x0001 #define WS_FD_WRITE 0x0002 #define WS_FD_OOB 0x0004 diff --git a/include/winuser.h b/include/winuser.h index 0e4d9980dff..6078ff0635f 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -79,6 +79,17 @@ typedef struct INT code; } DEBUGHOOKINFO, *LPDEBUGHOOKINFO; +#define HKL_PREV 0 +#define HKL_NEXT 1 + +#define KLF_ACTIVATE 0x00000001 +#define KLF_SUBSTITUTE_OK 0x00000002 +#define KLF_UNLOADPREVIOUS 0x00000004 +#define KLF_REORDER 0x00000008 +#define KLF_REPLACELANG 0x00000010 +#define KLF_NOTELLSHELL 0x00000080 + +#define KL_NAMELENGTH 9 /***** Dialogs *****/ #ifdef FSHIFT diff --git a/include/wtypes.h b/include/wtypes.h index bc0a8c854f6..537e92bb0a7 100644 --- a/include/wtypes.h +++ b/include/wtypes.h @@ -33,6 +33,9 @@ typedef OLECHAR *BSTR; typedef BSTR16 *LPBSTR16; typedef BSTR *LPBSTR; +#define OLESTR16(x) x +#define OLESTR(x) L##x + #ifndef GUID_DEFINED #define GUID_DEFINED typedef struct _GUID @@ -71,6 +74,14 @@ typedef enum tagDVASPECT DVASPECT_DOCPRINT = 8 } DVASPECT; +typedef enum tagSTGC +{ + STGC_DEFAULT = 0, + STGC_OVERWRITE = 1, + STGC_ONLYIFCURRENT = 2, + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4 +} STGC; + #define DECLARE_HANDLE(a) typedef HANDLE16 a##16; typedef HANDLE a DECLARE_HANDLE(HMETAFILEPICT); #undef DECLARE_HANDLE diff --git a/ole/ole2.c b/ole/ole2.c index 3b76ccba461..9f05278df06 100644 --- a/ole/ole2.c +++ b/ole/ole2.c @@ -13,6 +13,7 @@ #include "process.h" #include "wine/obj_clientserver.h" #include "debug.h" +#include "ole2ver.h" /****************************************************************************** * These are static/global variables and internal data structures that the @@ -474,10 +475,11 @@ HOLEMENU WINAPI OleCreateMenuDescriptor( /*********************************************************************** * OleDestroyMenuDescriptor [OLE32.99] */ -void WINAPI OleDestroyMenuDescriptor( +HRESULT WINAPI OleDestroyMenuDescriptor( HOLEMENU hmenuDescriptor) { FIXME(ole,"(%x),stub!\n", (unsigned int)hmenuDescriptor); + return S_OK; } /*********************************************************************** diff --git a/ole/olefont.c b/ole/olefont.c index 77d6318f644..f8dd98fdeb1 100644 --- a/ole/olefont.c +++ b/ole/olefont.c @@ -313,7 +313,7 @@ static OLEFontImpl* OLEFontImpl_Construct(LPFONTDESC fontDesc) newObject->description.sCharset = fontDesc->sCharset; newObject->description.fItalic = fontDesc->fItalic; newObject->description.fUnderline = fontDesc->fUnderline; - newObject->description.fStrikeThrough = fontDesc->fStrikeThrough; + newObject->description.fStrikethrough = fontDesc->fStrikethrough; /* * Initializing all the other members. @@ -676,7 +676,7 @@ static HRESULT WINAPI OLEFontImpl_get_Strikethrough( if (pstrikethrough==0) return E_POINTER; - *pstrikethrough = this->description.fStrikeThrough; + *pstrikethrough = this->description.fStrikethrough; return S_OK; } @@ -692,7 +692,7 @@ static HRESULT WINAPI OLEFontImpl_put_Strikethrough( { _ICOM_THIS(OLEFontImpl, iface); - this->description.fStrikeThrough = strikethrough; + this->description.fStrikethrough = strikethrough; return S_OK; } @@ -813,7 +813,7 @@ static HRESULT WINAPI OLEFontImpl_get_hFont( (-fontHeight/10000L); logFont.lfItalic = this->description.fItalic; logFont.lfUnderline = this->description.fUnderline; - logFont.lfStrikeOut = this->description.fStrikeThrough; + logFont.lfStrikeOut = this->description.fStrikethrough; logFont.lfWeight = this->description.sWeight; logFont.lfCharSet = this->description.sCharset; logFont.lfOutPrecision = OUT_CHARACTER_PRECIS; @@ -1212,7 +1212,7 @@ static HRESULT WINAPI OLEFontImpl_Load( return E_FAIL; this->description.fItalic = (bAttributes & FONTPERSIST_ITALIC) != 0; - this->description.fStrikeThrough = (bAttributes & FONTPERSIST_STRIKETHROUGH) != 0; + this->description.fStrikethrough = (bAttributes & FONTPERSIST_STRIKETHROUGH) != 0; this->description.fUnderline = (bAttributes & FONTPERSIST_UNDERLINE) != 0; /* @@ -1299,7 +1299,7 @@ static HRESULT WINAPI OLEFontImpl_Save( if (this->description.fItalic) bAttributes |= FONTPERSIST_ITALIC; - if (this->description.fStrikeThrough) + if (this->description.fStrikethrough) bAttributes |= FONTPERSIST_STRIKETHROUGH; if (this->description.fUnderline)