Use a more compatible technique to declare COM interfaces methods, using Microsoft's STDMETHOD macros instead of the Wine-specific ICOM_METHOD ones.
diff --git a/dlls/ddraw/direct3d/mesa.c b/dlls/ddraw/direct3d/mesa.c index f2de412..ce41219 100644 --- a/dlls/ddraw/direct3d/mesa.c +++ b/dlls/ddraw/direct3d/mesa.c
@@ -123,7 +123,7 @@ REFCLSID iid, IDirectDrawSurfaceImpl *lpDDS, void **obj, - int interface) { + int version) { IDirect3DDeviceImpl *lpd3ddev; HRESULT ret_value; @@ -135,7 +135,7 @@ (IsEqualGUID(&IID_IDirect3DHALDevice, iid)) || (IsEqualGUID(&IID_IDirect3DTnLHalDevice, iid)) || (IsEqualGUID(&IID_IDirect3DRefDevice, iid))) { - switch (interface) { + switch (version) { case 1: *obj = ICOM_INTERFACE(lpd3ddev, IDirect3DDevice); TRACE(" returning OpenGL D3DDevice %p.\n", *obj);
diff --git a/dlls/dplayx/dplaysp.h b/dlls/dplayx/dplaysp.h index 1b961af..674f947 100644 --- a/dlls/dplayx/dplaysp.h +++ b/dlls/dplayx/dplaysp.h
@@ -51,27 +51,27 @@ #define DPLAYI_GROUP_HIDDEN 0x00000400 /* Define the COM interface */ -#define ICOM_INTERFACE IDirectPlaySP +#define INTERFACE IDirectPlaySP #define IDirectPlaySP_METHODS \ - ICOM_METHOD5(HRESULT,AddMRUEntry, LPCWSTR,lpSection, LPCWSTR,lpKey, LPCVOID,lpData, DWORD,dwDataSize, DWORD,dwMaxEntries ) \ - ICOM_METHOD6(HRESULT,CreateAddress, REFGUID,guidSP, REFGUID,guidDataType, LPCVOID,lpData, DWORD,dwDataSize, LPVOID,lpAddress,LPDWORD,lpdwAddressSize) \ - ICOM_METHOD4(HRESULT,EnumAddress, LPDPENUMADDRESSCALLBACK,lpEnumAddressCallback, LPCVOID,lpAddress, DWORD,dwAddressSize, LPVOID,lpContext ) \ - ICOM_METHOD4(HRESULT,EnumMRUEntries, LPCWSTR,lpSection, LPCWSTR,lpKey, LPENUMMRUCALLBACK,lpEnumMRUCallback, LPVOID,lpContext ) \ - ICOM_METHOD2(HRESULT,GetPlayerFlags, DPID,idPlayer, LPDWORD,lpdwPlayerFlags ) \ - ICOM_METHOD4(HRESULT,GetSPPlayerData, DPID,idPlayer, LPVOID*,lplpData, LPDWORD,lpdwDataSize, DWORD,dwFlags ) \ - ICOM_METHOD3(HRESULT,HandleMessage, LPVOID,lpMessageBody, DWORD,dwMessageBodySize, LPVOID,lpMessageHeader ) \ - ICOM_METHOD4(HRESULT,SetSPPlayerData, DPID,idPlayer, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags ) \ - ICOM_METHOD4(HRESULT,CreateCompoundAddress, LPCDPCOMPOUNDADDRESSELEMENT,lpElements, DWORD,dwElementCount, LPVOID,lpAddress, LPDWORD,lpdwAddressSize ) \ - ICOM_METHOD3(HRESULT,GetSPData, LPVOID*,lplpData, LPDWORD,dwDataSize, DWORD,dwFlags ) \ - ICOM_METHOD3(HRESULT,SetSPData, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags ) \ - ICOM_METHOD2(VOID,SendComplete, LPVOID,, DWORD, ) + STDMETHOD(AddMRUEntry)(THIS_ LPCWSTR lpSection, LPCWSTR lpKey, LPCVOID lpData, DWORD dwDataSize, DWORD dwMaxEntries ) PURE; \ + STDMETHOD(CreateAddress)(THIS_ REFGUID guidSP, REFGUID guidDataType, LPCVOID lpData, DWORD dwDataSize, LPVOID lpAddress,LPDWORD lpdwAddressSize) PURE; \ + STDMETHOD(EnumAddress)(THIS_ LPDPENUMADDRESSCALLBACK lpEnumAddressCallback, LPCVOID lpAddress, DWORD dwAddressSize, LPVOID lpContext ) PURE; \ + STDMETHOD(EnumMRUEntries)(THIS_ LPCWSTR lpSection, LPCWSTR lpKey, LPENUMMRUCALLBACK lpEnumMRUCallback, LPVOID lpContext ) PURE; \ + STDMETHOD(GetPlayerFlags)(THIS_ DPID idPlayer, LPDWORD lpdwPlayerFlags ) PURE; \ + STDMETHOD(GetSPPlayerData)(THIS_ DPID idPlayer, LPVOID *lplpData, LPDWORD lpdwDataSize, DWORD dwFlags ) PURE; \ + STDMETHOD(HandleMessage)(THIS_ LPVOID lpMessageBody, DWORD dwMessageBodySize, LPVOID lpMessageHeader ) PURE; \ + STDMETHOD(SetSPPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags ) PURE; \ + STDMETHOD(CreateCompoundAddress)(THIS_ LPCDPCOMPOUNDADDRESSELEMENT lpElements, DWORD dwElementCount, LPVOID lpAddress, LPDWORD lpdwAddressSize ) PURE; \ + STDMETHOD(GetSPData)(THIS_ LPVOID *lplpData, LPDWORD dwDataSize, DWORD dwFlags ) PURE; \ + STDMETHOD(SetSPData)(THIS_ LPVOID lpData, DWORD dwDataSize, DWORD dwFlags ) PURE; \ + STDMETHOD_(VOID,SendComplete)(THIS_ LPVOID , DWORD ) PURE; #define IDirectPlaySP_IMETHODS \ IUnknown_IMETHODS \ IDirectPlaySP_METHODS ICOM_DEFINE(IDirectPlaySP,IUnknown) -#undef ICOM_INTERFACE +#undef INTERFACE /* NOTE: The microsoft provided header file doesn't have these access @@ -356,4 +356,3 @@ extern DWORD gdwDPlaySPRefCount; #endif -
diff --git a/dlls/dplayx/lobbysp.h b/dlls/dplayx/lobbysp.h index 4e905f1..e072884 100644 --- a/dlls/dplayx/lobbysp.h +++ b/dlls/dplayx/lobbysp.h
@@ -456,31 +456,31 @@ HRESULT WINAPI DPLSPInit(LPSPDATA_INIT); /* Define the COM interface */ -#define ICOM_INTERFACE IDPLobbySP +#define INTERFACE IDPLobbySP #define IDPLobbySP_METHODS \ - ICOM_METHOD1(HRESULT, AddGroupToGroup, LPSPDATA_ADDREMOTEGROUPTOGROUP, argtg ) \ - ICOM_METHOD1(HRESULT, AddPlayerToGroup, LPSPDATA_ADDREMOTEPLAYERTOGROUP, arptg ) \ - ICOM_METHOD1(HRESULT, CreateGroup, LPSPDATA_CREATEREMOTEGROUP, crg ) \ - ICOM_METHOD1(HRESULT, CreateGroupInGroup, LPSPDATA_CREATEREMOTEGROUPINGROUP, crgig ) \ - ICOM_METHOD1(HRESULT, DeleteGroupFromGroup, LPSPDATA_DELETEREMOTEGROUPFROMGROUP, drgfg ) \ - ICOM_METHOD1(HRESULT, DeletePlayerFromGroup, LPSPDATA_DELETEREMOTEPLAYERFROMGROUP, drpfg ) \ - ICOM_METHOD1(HRESULT, DestroyGroup, LPSPDATA_DESTROYREMOTEGROUP, drg ) \ - ICOM_METHOD1(HRESULT, EnumSessionsResponse, LPSPDATA_ENUMSESSIONSRESPONSE, er ) \ - ICOM_METHOD1(HRESULT, GetSPDataPointer, LPVOID*, lplpData ) \ - ICOM_METHOD1(HRESULT, HandleMessage, LPSPDATA_HANDLEMESSAGE, hm ) \ - ICOM_METHOD1(HRESULT, SendChatMessage, LPSPDATA_CHATMESSAGE, cm ) \ - ICOM_METHOD1(HRESULT, SetGroupName, LPSPDATA_SETREMOTEGROUPNAME, srgn ) \ - ICOM_METHOD1(HRESULT, SetPlayerName, LPSPDATA_SETREMOTEPLAYERNAME, srpn ) \ - ICOM_METHOD1(HRESULT, SetSessionDesc, LPSPDATA_SETSESSIONDESC, ssd ) \ - ICOM_METHOD1(HRESULT, SetSPDataPointer, LPVOID, lpData ) \ - ICOM_METHOD1(HRESULT, StartSession, LPSPDATA_STARTSESSIONCOMMAND, ssc ) + STDMETHOD(AddGroupToGroup)(THIS_ LPSPDATA_ADDREMOTEGROUPTOGROUP argtg ) PURE; \ + STDMETHOD(AddPlayerToGroup)(THIS_ LPSPDATA_ADDREMOTEPLAYERTOGROUP arptg ) PURE; \ + STDMETHOD(CreateGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUP crg ) PURE; \ + STDMETHOD(CreateGroupInGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUPINGROUP crgig ) PURE; \ + STDMETHOD(DeleteGroupFromGroup)(THIS_ LPSPDATA_DELETEREMOTEGROUPFROMGROUP drgfg ) PURE; \ + STDMETHOD(DeletePlayerFromGroup)(THIS_ LPSPDATA_DELETEREMOTEPLAYERFROMGROUP drpfg ) PURE; \ + STDMETHOD(DestroyGroup)(THIS_ LPSPDATA_DESTROYREMOTEGROUP drg ) PURE; \ + STDMETHOD(EnumSessionsResponse)(THIS_ LPSPDATA_ENUMSESSIONSRESPONSE er ) PURE; \ + STDMETHOD(GetSPDataPointer)(THIS_ LPVOID * lplpData ) PURE; \ + STDMETHOD(HandleMessage)(THIS_ LPSPDATA_HANDLEMESSAGE hm ) PURE; \ + STDMETHOD(SendChatMessage)(THIS_ LPSPDATA_CHATMESSAGE cm ) PURE; \ + STDMETHOD(SetGroupName)(THIS_ LPSPDATA_SETREMOTEGROUPNAME srgn ) PURE; \ + STDMETHOD(SetPlayerName)(THIS_ LPSPDATA_SETREMOTEPLAYERNAME srpn ) PURE; \ + STDMETHOD(SetSessionDesc)(THIS_ LPSPDATA_SETSESSIONDESC ssd ) PURE; \ + STDMETHOD(SetSPDataPointer)(THIS_ LPVOID lpData ) PURE; \ + STDMETHOD(StartSession)(THIS_ LPSPDATA_STARTSESSIONCOMMAND ssc ) PURE; #define IDPLobbySP_IMETHODS \ IUnknown_IMETHODS \ IDPLobbySP_METHODS ICOM_DEFINE(IDPLobbySP,IUnknown) -#undef ICOM_INTERFACE +#undef INTERFACE /*** IUnknown methods ***/ #define IDPLobbySP_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
diff --git a/dlls/ole32/ifs.h b/dlls/ole32/ifs.h index e6a82a4..2bf4432 100644 --- a/dlls/ole32/ifs.h +++ b/dlls/ole32/ifs.h
@@ -27,19 +27,19 @@ typedef struct IMalloc16 IMalloc16, *LPMALLOC16; -#define ICOM_INTERFACE IMalloc16 +#define INTERFACE IMalloc16 #define IMalloc16_METHODS \ - ICOM_METHOD1 (LPVOID, Alloc, DWORD, cb) \ - ICOM_METHOD2 (LPVOID, Realloc, LPVOID, pv, DWORD, cb) \ - ICOM_VMETHOD1( Free, LPVOID, pv) \ - ICOM_METHOD1 (DWORD, GetSize, LPVOID, pv) \ - ICOM_METHOD1 (INT16, DidAlloc, LPVOID, pv) \ - ICOM_METHOD (LPVOID, HeapMinimize) + STDMETHOD_(LPVOID,Alloc)(THIS_ DWORD cb) PURE; \ + STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, DWORD cb) PURE; \ + STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \ + STDMETHOD_(DWORD,GetSize)(THIS_ LPVOID pv) PURE; \ + STDMETHOD_(INT16,DidAlloc)(THIS_ LPVOID pv) PURE; \ + STDMETHOD_(LPVOID,HeapMinimize)(THIS) PURE; #define IMalloc16_IMETHODS \ IUnknown_IMETHODS \ IMalloc16_METHODS ICOM_DEFINE(IMalloc16,IUnknown) -#undef ICOM_INTERFACE +#undef INTERFACE /**********************************************************************/ @@ -49,22 +49,22 @@ typedef struct ILockBytes16 *LPLOCKBYTES16, ILockBytes16; -#define ICOM_INTERFACE ILockBytes +#define INTERFACE ILockBytes #define ILockBytes16_METHODS \ - ICOM_METHOD4(HRESULT,ReadAt, ULARGE_INTEGER,ulOffset, void*,pv, ULONG, cb, ULONG*,pcbRead) \ - ICOM_METHOD4(HRESULT,WriteAt, ULARGE_INTEGER,ulOffset, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \ - ICOM_METHOD (HRESULT,Flush) \ - ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,cb) \ - ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER, cb, DWORD,dwLockType) \ - ICOM_METHOD3(HRESULT,UnlockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER, cb, DWORD,dwLockType) \ - ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) + STDMETHOD(ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead) PURE; \ + STDMETHOD(WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten) PURE; \ + STDMETHOD(Flush)(THIS) PURE; \ + STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \ + STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ + STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ + STDMETHOD(Stat)(THIS_ STATSTG *pstatstg, DWORD grfStatFlag) PURE; #define ILockBytes16_IMETHODS \ IUnknown_IMETHODS \ ILockBytes16_METHODS ICOM_DEFINE(ILockBytes16,IUnknown) -#undef ICOM_INTERFACE +#undef INTERFACE #endif /* __WINE_OLE_IFS_H */
diff --git a/dlls/shell32/shellfolder.h b/dlls/shell32/shellfolder.h index 0457825..b619bc3 100644 --- a/dlls/shell32/shellfolder.h +++ b/dlls/shell32/shellfolder.h
@@ -35,17 +35,17 @@ * ISFHelper interface */ -#define ICOM_INTERFACE ISFHelper +#define INTERFACE ISFHelper #define ISFHelper_METHODS \ - ICOM_METHOD2 (HRESULT, GetUniqueName, LPSTR, lpName, UINT, uLen) \ - ICOM_METHOD3 (HRESULT, AddFolder, HWND, hwnd, LPCSTR, lpName, LPITEMIDLIST*, ppidlOut) \ - ICOM_METHOD2 (HRESULT, DeleteItems, UINT, cidl, LPCITEMIDLIST*, apidl) \ - ICOM_METHOD3 (HRESULT, CopyItems, IShellFolder*, pSFFrom, UINT, cidl, LPCITEMIDLIST*, apidl) + STDMETHOD(GetUniqueName)(THIS_ LPSTR lpName, UINT uLen) PURE; \ + STDMETHOD(AddFolder)(THIS_ HWND hwnd, LPCSTR lpName, LPITEMIDLIST * ppidlOut) PURE; \ + STDMETHOD(DeleteItems)(THIS_ UINT cidl, LPCITEMIDLIST * apidl) PURE; \ + STDMETHOD(CopyItems)(THIS_ IShellFolder * pSFFrom, UINT cidl, LPCITEMIDLIST * apidl) PURE; #define ISFHelper_IMETHODS \ IUnknown_IMETHODS \ ISFHelper_METHODS ICOM_DEFINE(ISFHelper, IUnknown) -#undef ICOM_INTERFACE +#undef INTERFACE /*** IUnknown methods ***/ #define ISFHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)