Many new defines, and structs to help compile MFC. As well as a few
OLE corrections from earlier.
diff --git a/include/ole.h b/include/ole.h
index 1a70339..45b8879 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 9536af5..e52fe3c 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 @@
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 8431b13..fd11314 100644
--- a/include/oleauto.h
+++ b/include/oleauto.h
@@ -93,8 +93,13 @@
/* 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 a1a332c..2196f8b 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 @@
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_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 @@
#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 2fbe0ae..9bbe780 100644
--- a/include/wine/obj_control.h
+++ b/include/wine/obj_control.h
@@ -94,6 +94,39 @@
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 7cf948c..15d9a4e 100644
--- a/include/wine/obj_dataobject.h
+++ b/include/wine/obj_dataobject.h
@@ -112,6 +112,24 @@
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 @@
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 @@
/*****************************************************************************
* 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 9123a91..56081a2 100644
--- a/include/wine/obj_dragdrop.h
+++ b/include/wine/obj_dragdrop.h
@@ -28,6 +28,11 @@
#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 866cba5..944b8f5 100644
--- a/include/wine/obj_inplace.h
+++ b/include/wine/obj_inplace.h
@@ -64,7 +64,7 @@
{
OLEUPDATE_ALWAYS = 1,
OLEUPDATE_ONCALL = 3
-} OLEUPDATE;
+} OLEUPDATE, *LPOLEUPDATE;
typedef struct tagOLEVERB
{
@@ -74,6 +74,25 @@
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 @@
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 @@
#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 8e84c09..ddc65a8 100644
--- a/include/wine/obj_moniker.h
+++ b/include/wine/obj_moniker.h
@@ -129,7 +129,7 @@
*/
#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 137e8ae..c5a6b65 100644
--- a/include/wine/obj_oleaut.h
+++ b/include/wine/obj_oleaut.h
@@ -132,7 +132,7 @@
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
- union DUMMY_UNION_NAME
+ union /*DUMMY_UNION_NAME*/
{
/* By value. */
CHAR cVal;
@@ -185,6 +185,11 @@
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 @@
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_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 da62135..d4e6dbf 100644
--- a/include/wine/obj_olefont.h
+++ b/include/wine/obj_olefont.h
@@ -90,6 +90,31 @@
#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 6af05e5..561a6c1 100644
--- a/include/wine/obj_oleobj.h
+++ b/include/wine/obj_oleobj.h
@@ -27,6 +27,38 @@
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 @@
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 c150b3d..0382203 100644
--- a/include/wine/obj_oleundo.h
+++ b/include/wine/obj_oleundo.h
@@ -39,7 +39,7 @@
*/
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 4d1004b..e35e164 100644
--- a/include/wine/obj_oleview.h
+++ b/include/wine/obj_oleview.h
@@ -29,9 +29,11 @@
/*****************************************************************************
* 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 47489ac..6ff1b24 100644
--- a/include/wine/obj_picture.h
+++ b/include/wine/obj_picture.h
@@ -31,7 +31,7 @@
typedef struct IPictureDisp IPictureDisp, *LPPICTUREDISP;
/*****************************************************************************
- * IFont interface
+ * IPicture interface
*/
#define ICOM_INTERFACE IPicture
#define IPicture_METHODS \
@@ -60,7 +60,7 @@
#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 @@
#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 d31f268..144e1dd 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 fb28174..9c8f74d 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
@@ -112,24 +139,6 @@
#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
*/
#define ICOM_INTERFACE IEnumSTATSTG
@@ -188,14 +197,6 @@
/*****************************************************************************
* 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 @@
*/
#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 8cad5aa..ae27c22 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 @@
#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 @@
#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 @@
#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 @@
#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 aded9f2..1492913 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 @@
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 852745d..38b88a5 100644
--- a/include/winsock.h
+++ b/include/winsock.h
@@ -227,6 +227,8 @@
* 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 @@
/*
* 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 0e4d998..6078ff0 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -79,6 +79,17 @@
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 bc0a8c8..537e92b 100644
--- a/include/wtypes.h
+++ b/include/wtypes.h
@@ -33,6 +33,9 @@
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 @@
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 3b76ccb..9f05278 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 @@
/***********************************************************************
* 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 77d6318..f8dd98f 100644
--- a/ole/olefont.c
+++ b/ole/olefont.c
@@ -313,7 +313,7 @@
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 @@
if (pstrikethrough==0)
return E_POINTER;
- *pstrikethrough = this->description.fStrikeThrough;
+ *pstrikethrough = this->description.fStrikethrough;
return S_OK;
}
@@ -692,7 +692,7 @@
{
_ICOM_THIS(OLEFontImpl, iface);
- this->description.fStrikeThrough = strikethrough;
+ this->description.fStrikethrough = strikethrough;
return S_OK;
}
@@ -813,7 +813,7 @@
(-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 @@
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 @@
if (this->description.fItalic)
bAttributes |= FONTPERSIST_ITALIC;
- if (this->description.fStrikeThrough)
+ if (this->description.fStrikethrough)
bAttributes |= FONTPERSIST_STRIKETHROUGH;
if (this->description.fUnderline)