Use a more compatible technique to declare COM interfaces methods,

using Microsoft's STDMETHOD macros instead of the Wine-specific
ICOM_METHOD ones.
oldstable
Alexandre Julliard 2003-04-10 00:19:24 +00:00
parent deeb2abd96
commit f00c46f030
57 changed files with 4507 additions and 4448 deletions

View File

@ -123,7 +123,7 @@ create_device_helper(IDirect3DImpl *This,
REFCLSID iid, REFCLSID iid,
IDirectDrawSurfaceImpl *lpDDS, IDirectDrawSurfaceImpl *lpDDS,
void **obj, void **obj,
int interface) { int version) {
IDirect3DDeviceImpl *lpd3ddev; IDirect3DDeviceImpl *lpd3ddev;
HRESULT ret_value; HRESULT ret_value;
@ -135,7 +135,7 @@ create_device_helper(IDirect3DImpl *This,
(IsEqualGUID(&IID_IDirect3DHALDevice, iid)) || (IsEqualGUID(&IID_IDirect3DHALDevice, iid)) ||
(IsEqualGUID(&IID_IDirect3DTnLHalDevice, iid)) || (IsEqualGUID(&IID_IDirect3DTnLHalDevice, iid)) ||
(IsEqualGUID(&IID_IDirect3DRefDevice, iid))) { (IsEqualGUID(&IID_IDirect3DRefDevice, iid))) {
switch (interface) { switch (version) {
case 1: case 1:
*obj = ICOM_INTERFACE(lpd3ddev, IDirect3DDevice); *obj = ICOM_INTERFACE(lpd3ddev, IDirect3DDevice);
TRACE(" returning OpenGL D3DDevice %p.\n", *obj); TRACE(" returning OpenGL D3DDevice %p.\n", *obj);

View File

@ -51,27 +51,27 @@ typedef BOOL (CALLBACK *LPENUMMRUCALLBACK)( LPCVOID lpData,
#define DPLAYI_GROUP_HIDDEN 0x00000400 #define DPLAYI_GROUP_HIDDEN 0x00000400
/* Define the COM interface */ /* Define the COM interface */
#define ICOM_INTERFACE IDirectPlaySP #define INTERFACE IDirectPlaySP
#define IDirectPlaySP_METHODS \ #define IDirectPlaySP_METHODS \
ICOM_METHOD5(HRESULT,AddMRUEntry, LPCWSTR,lpSection, LPCWSTR,lpKey, LPCVOID,lpData, DWORD,dwDataSize, DWORD,dwMaxEntries ) \ STDMETHOD(AddMRUEntry)(THIS_ LPCWSTR lpSection, LPCWSTR lpKey, LPCVOID lpData, DWORD dwDataSize, DWORD dwMaxEntries ) PURE; \
ICOM_METHOD6(HRESULT,CreateAddress, REFGUID,guidSP, REFGUID,guidDataType, LPCVOID,lpData, DWORD,dwDataSize, LPVOID,lpAddress,LPDWORD,lpdwAddressSize) \ STDMETHOD(CreateAddress)(THIS_ REFGUID guidSP, REFGUID guidDataType, LPCVOID lpData, DWORD dwDataSize, LPVOID lpAddress,LPDWORD lpdwAddressSize) PURE; \
ICOM_METHOD4(HRESULT,EnumAddress, LPDPENUMADDRESSCALLBACK,lpEnumAddressCallback, LPCVOID,lpAddress, DWORD,dwAddressSize, LPVOID,lpContext ) \ STDMETHOD(EnumAddress)(THIS_ LPDPENUMADDRESSCALLBACK lpEnumAddressCallback, LPCVOID lpAddress, DWORD dwAddressSize, LPVOID lpContext ) PURE; \
ICOM_METHOD4(HRESULT,EnumMRUEntries, LPCWSTR,lpSection, LPCWSTR,lpKey, LPENUMMRUCALLBACK,lpEnumMRUCallback, LPVOID,lpContext ) \ STDMETHOD(EnumMRUEntries)(THIS_ LPCWSTR lpSection, LPCWSTR lpKey, LPENUMMRUCALLBACK lpEnumMRUCallback, LPVOID lpContext ) PURE; \
ICOM_METHOD2(HRESULT,GetPlayerFlags, DPID,idPlayer, LPDWORD,lpdwPlayerFlags ) \ STDMETHOD(GetPlayerFlags)(THIS_ DPID idPlayer, LPDWORD lpdwPlayerFlags ) PURE; \
ICOM_METHOD4(HRESULT,GetSPPlayerData, DPID,idPlayer, LPVOID*,lplpData, LPDWORD,lpdwDataSize, DWORD,dwFlags ) \ STDMETHOD(GetSPPlayerData)(THIS_ DPID idPlayer, LPVOID *lplpData, LPDWORD lpdwDataSize, DWORD dwFlags ) PURE; \
ICOM_METHOD3(HRESULT,HandleMessage, LPVOID,lpMessageBody, DWORD,dwMessageBodySize, LPVOID,lpMessageHeader ) \ STDMETHOD(HandleMessage)(THIS_ LPVOID lpMessageBody, DWORD dwMessageBodySize, LPVOID lpMessageHeader ) PURE; \
ICOM_METHOD4(HRESULT,SetSPPlayerData, DPID,idPlayer, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags ) \ STDMETHOD(SetSPPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags ) PURE; \
ICOM_METHOD4(HRESULT,CreateCompoundAddress, LPCDPCOMPOUNDADDRESSELEMENT,lpElements, DWORD,dwElementCount, LPVOID,lpAddress, LPDWORD,lpdwAddressSize ) \ STDMETHOD(CreateCompoundAddress)(THIS_ LPCDPCOMPOUNDADDRESSELEMENT lpElements, DWORD dwElementCount, LPVOID lpAddress, LPDWORD lpdwAddressSize ) PURE; \
ICOM_METHOD3(HRESULT,GetSPData, LPVOID*,lplpData, LPDWORD,dwDataSize, DWORD,dwFlags ) \ STDMETHOD(GetSPData)(THIS_ LPVOID *lplpData, LPDWORD dwDataSize, DWORD dwFlags ) PURE; \
ICOM_METHOD3(HRESULT,SetSPData, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags ) \ STDMETHOD(SetSPData)(THIS_ LPVOID lpData, DWORD dwDataSize, DWORD dwFlags ) PURE; \
ICOM_METHOD2(VOID,SendComplete, LPVOID,, DWORD, ) STDMETHOD_(VOID,SendComplete)(THIS_ LPVOID , DWORD ) PURE;
#define IDirectPlaySP_IMETHODS \ #define IDirectPlaySP_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectPlaySP_METHODS IDirectPlaySP_METHODS
ICOM_DEFINE(IDirectPlaySP,IUnknown) ICOM_DEFINE(IDirectPlaySP,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/* NOTE: The microsoft provided header file doesn't have these access /* NOTE: The microsoft provided header file doesn't have these access
@ -356,4 +356,3 @@ typedef HRESULT (WINAPI *LPDPSP_SPINIT)(LPSPINITDATA);
extern DWORD gdwDPlaySPRefCount; extern DWORD gdwDPlaySPRefCount;
#endif #endif

View File

@ -456,31 +456,31 @@ typedef HRESULT (WINAPI *LPSP_INIT)(LPSPDATA_INIT);
HRESULT WINAPI DPLSPInit(LPSPDATA_INIT); HRESULT WINAPI DPLSPInit(LPSPDATA_INIT);
/* Define the COM interface */ /* Define the COM interface */
#define ICOM_INTERFACE IDPLobbySP #define INTERFACE IDPLobbySP
#define IDPLobbySP_METHODS \ #define IDPLobbySP_METHODS \
ICOM_METHOD1(HRESULT, AddGroupToGroup, LPSPDATA_ADDREMOTEGROUPTOGROUP, argtg ) \ STDMETHOD(AddGroupToGroup)(THIS_ LPSPDATA_ADDREMOTEGROUPTOGROUP argtg ) PURE; \
ICOM_METHOD1(HRESULT, AddPlayerToGroup, LPSPDATA_ADDREMOTEPLAYERTOGROUP, arptg ) \ STDMETHOD(AddPlayerToGroup)(THIS_ LPSPDATA_ADDREMOTEPLAYERTOGROUP arptg ) PURE; \
ICOM_METHOD1(HRESULT, CreateGroup, LPSPDATA_CREATEREMOTEGROUP, crg ) \ STDMETHOD(CreateGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUP crg ) PURE; \
ICOM_METHOD1(HRESULT, CreateGroupInGroup, LPSPDATA_CREATEREMOTEGROUPINGROUP, crgig ) \ STDMETHOD(CreateGroupInGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUPINGROUP crgig ) PURE; \
ICOM_METHOD1(HRESULT, DeleteGroupFromGroup, LPSPDATA_DELETEREMOTEGROUPFROMGROUP, drgfg ) \ STDMETHOD(DeleteGroupFromGroup)(THIS_ LPSPDATA_DELETEREMOTEGROUPFROMGROUP drgfg ) PURE; \
ICOM_METHOD1(HRESULT, DeletePlayerFromGroup, LPSPDATA_DELETEREMOTEPLAYERFROMGROUP, drpfg ) \ STDMETHOD(DeletePlayerFromGroup)(THIS_ LPSPDATA_DELETEREMOTEPLAYERFROMGROUP drpfg ) PURE; \
ICOM_METHOD1(HRESULT, DestroyGroup, LPSPDATA_DESTROYREMOTEGROUP, drg ) \ STDMETHOD(DestroyGroup)(THIS_ LPSPDATA_DESTROYREMOTEGROUP drg ) PURE; \
ICOM_METHOD1(HRESULT, EnumSessionsResponse, LPSPDATA_ENUMSESSIONSRESPONSE, er ) \ STDMETHOD(EnumSessionsResponse)(THIS_ LPSPDATA_ENUMSESSIONSRESPONSE er ) PURE; \
ICOM_METHOD1(HRESULT, GetSPDataPointer, LPVOID*, lplpData ) \ STDMETHOD(GetSPDataPointer)(THIS_ LPVOID * lplpData ) PURE; \
ICOM_METHOD1(HRESULT, HandleMessage, LPSPDATA_HANDLEMESSAGE, hm ) \ STDMETHOD(HandleMessage)(THIS_ LPSPDATA_HANDLEMESSAGE hm ) PURE; \
ICOM_METHOD1(HRESULT, SendChatMessage, LPSPDATA_CHATMESSAGE, cm ) \ STDMETHOD(SendChatMessage)(THIS_ LPSPDATA_CHATMESSAGE cm ) PURE; \
ICOM_METHOD1(HRESULT, SetGroupName, LPSPDATA_SETREMOTEGROUPNAME, srgn ) \ STDMETHOD(SetGroupName)(THIS_ LPSPDATA_SETREMOTEGROUPNAME srgn ) PURE; \
ICOM_METHOD1(HRESULT, SetPlayerName, LPSPDATA_SETREMOTEPLAYERNAME, srpn ) \ STDMETHOD(SetPlayerName)(THIS_ LPSPDATA_SETREMOTEPLAYERNAME srpn ) PURE; \
ICOM_METHOD1(HRESULT, SetSessionDesc, LPSPDATA_SETSESSIONDESC, ssd ) \ STDMETHOD(SetSessionDesc)(THIS_ LPSPDATA_SETSESSIONDESC ssd ) PURE; \
ICOM_METHOD1(HRESULT, SetSPDataPointer, LPVOID, lpData ) \ STDMETHOD(SetSPDataPointer)(THIS_ LPVOID lpData ) PURE; \
ICOM_METHOD1(HRESULT, StartSession, LPSPDATA_STARTSESSIONCOMMAND, ssc ) STDMETHOD(StartSession)(THIS_ LPSPDATA_STARTSESSIONCOMMAND ssc ) PURE;
#define IDPLobbySP_IMETHODS \ #define IDPLobbySP_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDPLobbySP_METHODS IDPLobbySP_METHODS
ICOM_DEFINE(IDPLobbySP,IUnknown) ICOM_DEFINE(IDPLobbySP,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDPLobbySP_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDPLobbySP_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -27,19 +27,19 @@
typedef struct IMalloc16 IMalloc16, *LPMALLOC16; typedef struct IMalloc16 IMalloc16, *LPMALLOC16;
#define ICOM_INTERFACE IMalloc16 #define INTERFACE IMalloc16
#define IMalloc16_METHODS \ #define IMalloc16_METHODS \
ICOM_METHOD1 (LPVOID, Alloc, DWORD, cb) \ STDMETHOD_(LPVOID,Alloc)(THIS_ DWORD cb) PURE; \
ICOM_METHOD2 (LPVOID, Realloc, LPVOID, pv, DWORD, cb) \ STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, DWORD cb) PURE; \
ICOM_VMETHOD1( Free, LPVOID, pv) \ STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \
ICOM_METHOD1 (DWORD, GetSize, LPVOID, pv) \ STDMETHOD_(DWORD,GetSize)(THIS_ LPVOID pv) PURE; \
ICOM_METHOD1 (INT16, DidAlloc, LPVOID, pv) \ STDMETHOD_(INT16,DidAlloc)(THIS_ LPVOID pv) PURE; \
ICOM_METHOD (LPVOID, HeapMinimize) STDMETHOD_(LPVOID,HeapMinimize)(THIS) PURE;
#define IMalloc16_IMETHODS \ #define IMalloc16_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IMalloc16_METHODS IMalloc16_METHODS
ICOM_DEFINE(IMalloc16,IUnknown) ICOM_DEFINE(IMalloc16,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/**********************************************************************/ /**********************************************************************/
@ -49,22 +49,22 @@ extern LPMALLOC16 IMalloc16_Constructor();
typedef struct ILockBytes16 *LPLOCKBYTES16, ILockBytes16; typedef struct ILockBytes16 *LPLOCKBYTES16, ILockBytes16;
#define ICOM_INTERFACE ILockBytes #define INTERFACE ILockBytes
#define ILockBytes16_METHODS \ #define ILockBytes16_METHODS \
ICOM_METHOD4(HRESULT,ReadAt, ULARGE_INTEGER,ulOffset, void*,pv, ULONG, cb, ULONG*,pcbRead) \ STDMETHOD(ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead) PURE; \
ICOM_METHOD4(HRESULT,WriteAt, ULARGE_INTEGER,ulOffset, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \ STDMETHOD(WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten) PURE; \
ICOM_METHOD (HRESULT,Flush) \ STDMETHOD(Flush)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,cb) \ STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER, cb, DWORD,dwLockType) \ STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
ICOM_METHOD3(HRESULT,UnlockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER, cb, DWORD,dwLockType) \ STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) STDMETHOD(Stat)(THIS_ STATSTG *pstatstg, DWORD grfStatFlag) PURE;
#define ILockBytes16_IMETHODS \ #define ILockBytes16_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ILockBytes16_METHODS ILockBytes16_METHODS
ICOM_DEFINE(ILockBytes16,IUnknown) ICOM_DEFINE(ILockBytes16,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#endif /* __WINE_OLE_IFS_H */ #endif /* __WINE_OLE_IFS_H */

View File

@ -35,17 +35,17 @@ typedef struct ISFHelper ISFHelper, *LPISFHELPER;
* ISFHelper interface * ISFHelper interface
*/ */
#define ICOM_INTERFACE ISFHelper #define INTERFACE ISFHelper
#define ISFHelper_METHODS \ #define ISFHelper_METHODS \
ICOM_METHOD2 (HRESULT, GetUniqueName, LPSTR, lpName, UINT, uLen) \ STDMETHOD(GetUniqueName)(THIS_ LPSTR lpName, UINT uLen) PURE; \
ICOM_METHOD3 (HRESULT, AddFolder, HWND, hwnd, LPCSTR, lpName, LPITEMIDLIST*, ppidlOut) \ STDMETHOD(AddFolder)(THIS_ HWND hwnd, LPCSTR lpName, LPITEMIDLIST * ppidlOut) PURE; \
ICOM_METHOD2 (HRESULT, DeleteItems, UINT, cidl, LPCITEMIDLIST*, apidl) \ STDMETHOD(DeleteItems)(THIS_ UINT cidl, LPCITEMIDLIST * apidl) PURE; \
ICOM_METHOD3 (HRESULT, CopyItems, IShellFolder*, pSFFrom, UINT, cidl, LPCITEMIDLIST*, apidl) STDMETHOD(CopyItems)(THIS_ IShellFolder * pSFFrom, UINT cidl, LPCITEMIDLIST * apidl) PURE;
#define ISFHelper_IMETHODS \ #define ISFHelper_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ISFHelper_METHODS ISFHelper_METHODS
ICOM_DEFINE(ISFHelper, IUnknown) ICOM_DEFINE(ISFHelper, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define ISFHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define ISFHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -198,19 +198,19 @@ typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
/***************************************************************************** /*****************************************************************************
* IDirect3D interface * IDirect3D interface
*/ */
#define ICOM_INTERFACE IDirect3D #define INTERFACE IDirect3D
#define IDirect3D_METHODS \ #define IDirect3D_METHODS \
ICOM_METHOD1(HRESULT,Initialize, REFIID,riid) \ STDMETHOD(Initialize)(THIS_ REFIID riid) PURE; \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,lpEnumDevicesCallback, LPVOID,lpUserArg) \ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, IUnknown*,pUnkOuter) \ STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,CreateMaterial, LPDIRECT3DMATERIAL*,lplpDirect3DMaterial, IUnknown*,pUnkOuter) \ STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,CreateViewport, LPDIRECT3DVIEWPORT*,lplpD3DViewport, IUnknown*,pUnkOuter) \ STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,lpD3DDFS, LPD3DFINDDEVICERESULT,lplpD3DDevice) STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lplpD3DDevice) PURE;
#define IDirect3D_IMETHODS \ #define IDirect3D_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3D_METHODS IDirect3D_METHODS
ICOM_DEFINE(IDirect3D,IUnknown) ICOM_DEFINE(IDirect3D,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3D_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3D_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -228,19 +228,19 @@ ICOM_DEFINE(IDirect3D,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3D2 interface * IDirect3D2 interface
*/ */
#define ICOM_INTERFACE IDirect3D2 #define INTERFACE IDirect3D2
#define IDirect3D2_METHODS \ #define IDirect3D2_METHODS \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,lpEnumDevicesCallback, LPVOID,lpUserArg) \ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, IUnknown*,pUnkOuter) \ STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,CreateMaterial, LPDIRECT3DMATERIAL2*,lplpDirect3DMaterial2, IUnknown*,pUnkOuter) \ STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,CreateViewport, LPDIRECT3DVIEWPORT2*,lplpD3DViewport2, IUnknown*,pUnkOuter) \ STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,lpD3DDFS, LPD3DFINDDEVICERESULT,lpD3DFDR) \ STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; \
ICOM_METHOD3(HRESULT,CreateDevice, REFCLSID,rclsid, LPDIRECTDRAWSURFACE,lpDDS, LPDIRECT3DDEVICE2*,lplpD3DDevice2) STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DDEVICE2 *lplpD3DDevice2) PURE;
#define IDirect3D2_IMETHODS \ #define IDirect3D2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3D2_METHODS IDirect3D2_METHODS
ICOM_DEFINE(IDirect3D2,IUnknown) ICOM_DEFINE(IDirect3D2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3D2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3D2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -258,22 +258,22 @@ ICOM_DEFINE(IDirect3D2,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3D3 interface * IDirect3D3 interface
*/ */
#define ICOM_INTERFACE IDirect3D3 #define INTERFACE IDirect3D3
#define IDirect3D3_METHODS \ #define IDirect3D3_METHODS \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,lpEnumDevicesCallback, LPVOID,lpUserArg) \ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, IUnknown*,pUnkOuter) \ STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,CreateMaterial, LPDIRECT3DMATERIAL3*,lplpDirect3DMaterial3, IUnknown*,pUnkOuter) \ STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,CreateViewport, LPDIRECT3DVIEWPORT3*,lplpD3DViewport3, IUnknown*,pUnkOuter) \ STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,lpD3DDFS, LPD3DFINDDEVICERESULT,lpD3DFDR) \ STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; \
ICOM_METHOD4(HRESULT,CreateDevice, REFCLSID,rclsid,LPDIRECTDRAWSURFACE4,lpDDS, LPDIRECT3DDEVICE3*,lplpD3DDevice3,LPUNKNOWN,lpUnk) \ STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE; \
ICOM_METHOD4(HRESULT,CreateVertexBuffer,LPD3DVERTEXBUFFERDESC,lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER*,lplpD3DVertBuf,DWORD,dwFlags,LPUNKNOWN,lpUnk) \ STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE; \
ICOM_METHOD3(HRESULT,EnumZBufferFormats,REFCLSID,riidDevice,LPD3DENUMPIXELFORMATSCALLBACK,lpEnumCallback,LPVOID,lpContext) \ STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; \
ICOM_METHOD (HRESULT,EvictManagedTextures) STDMETHOD(EvictManagedTextures)(THIS) PURE;
#define IDirect3D3_IMETHODS \ #define IDirect3D3_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3D3_METHODS IDirect3D3_METHODS
ICOM_DEFINE(IDirect3D3,IUnknown) ICOM_DEFINE(IDirect3D3,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3D3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3D3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -293,18 +293,18 @@ ICOM_DEFINE(IDirect3D3,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3D7 interface * IDirect3D7 interface
*/ */
#define ICOM_INTERFACE IDirect3D7 #define INTERFACE IDirect3D7
#define IDirect3D7_METHODS \ #define IDirect3D7_METHODS \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK7,lpEnumDevicesCallback, LPVOID,lpUserArg) \ STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
ICOM_METHOD3(HRESULT,CreateDevice, REFCLSID,rclsid,LPDIRECTDRAWSURFACE7,lpDDS, LPDIRECT3DDEVICE7*,lplpD3DDevice) \ STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE; \
ICOM_METHOD3(HRESULT,CreateVertexBuffer,LPD3DVERTEXBUFFERDESC,lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7*,lplpD3DVertBuf,DWORD,dwFlags) \ STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,EnumZBufferFormats,REFCLSID,riidDevice,LPD3DENUMPIXELFORMATSCALLBACK,lpEnumCallback,LPVOID,lpContext) \ STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; \
ICOM_METHOD (HRESULT,EvictManagedTextures) STDMETHOD(EvictManagedTextures)(THIS) PURE;
#define IDirect3D7_IMETHODS \ #define IDirect3D7_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3D7_METHODS IDirect3D7_METHODS
ICOM_DEFINE(IDirect3D7,IUnknown) ICOM_DEFINE(IDirect3D7,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3D7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3D7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -321,16 +321,16 @@ ICOM_DEFINE(IDirect3D7,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DLight interface * IDirect3DLight interface
*/ */
#define ICOM_INTERFACE IDirect3DLight #define INTERFACE IDirect3DLight
#define IDirect3DLight_METHODS \ #define IDirect3DLight_METHODS \
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
ICOM_METHOD1(HRESULT,SetLight, LPD3DLIGHT,lpLight) \ STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE; \
ICOM_METHOD1(HRESULT,GetLight, LPD3DLIGHT,lpLight) STDMETHOD(GetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
#define IDirect3DLight_IMETHODS \ #define IDirect3DLight_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DLight_METHODS IDirect3DLight_METHODS
ICOM_DEFINE(IDirect3DLight,IUnknown) ICOM_DEFINE(IDirect3DLight,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DLight_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DLight_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -345,19 +345,19 @@ ICOM_DEFINE(IDirect3DLight,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DMaterial interface * IDirect3DMaterial interface
*/ */
#define ICOM_INTERFACE IDirect3DMaterial #define INTERFACE IDirect3DMaterial
#define IDirect3DMaterial_METHODS \ #define IDirect3DMaterial_METHODS \
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DMATERIALHANDLE,lpHandle) \ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE; \
ICOM_METHOD (HRESULT,Reserve) \ STDMETHOD(Reserve)(THIS) PURE; \
ICOM_METHOD (HRESULT,Unreserve) STDMETHOD(Unreserve)(THIS) PURE;
#define IDirect3DMaterial_IMETHODS \ #define IDirect3DMaterial_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DMaterial_METHODS IDirect3DMaterial_METHODS
ICOM_DEFINE(IDirect3DMaterial,IUnknown) ICOM_DEFINE(IDirect3DMaterial,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DMaterial_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DMaterial_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -375,16 +375,16 @@ ICOM_DEFINE(IDirect3DMaterial,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DMaterial2 interface * IDirect3DMaterial2 interface
*/ */
#define ICOM_INTERFACE IDirect3DMaterial2 #define INTERFACE IDirect3DMaterial2
#define IDirect3DMaterial2_METHODS \ #define IDirect3DMaterial2_METHODS \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE2,lpDirect3DDevice2, LPD3DMATERIALHANDLE,lpHandle) STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DMATERIALHANDLE lpHandle) PURE;
#define IDirect3DMaterial2_IMETHODS \ #define IDirect3DMaterial2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DMaterial2_METHODS IDirect3DMaterial2_METHODS
ICOM_DEFINE(IDirect3DMaterial2,IUnknown) ICOM_DEFINE(IDirect3DMaterial2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DMaterial2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DMaterial2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -399,16 +399,16 @@ ICOM_DEFINE(IDirect3DMaterial2,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DMaterial3 interface * IDirect3DMaterial3 interface
*/ */
#define ICOM_INTERFACE IDirect3DMaterial3 #define INTERFACE IDirect3DMaterial3
#define IDirect3DMaterial3_METHODS \ #define IDirect3DMaterial3_METHODS \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE3,lpDirect3DDevice3, LPD3DMATERIALHANDLE,lpHandle) STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3 lpDirect3DDevice3, LPD3DMATERIALHANDLE lpHandle) PURE;
#define IDirect3DMaterial3_IMETHODS \ #define IDirect3DMaterial3_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DMaterial3_METHODS IDirect3DMaterial3_METHODS
ICOM_DEFINE(IDirect3DMaterial3,IUnknown) ICOM_DEFINE(IDirect3DMaterial3,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DMaterial3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DMaterial3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -423,18 +423,18 @@ ICOM_DEFINE(IDirect3DMaterial3,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DTexture interface * IDirect3DTexture interface
*/ */
#define ICOM_INTERFACE IDirect3DTexture #define INTERFACE IDirect3DTexture
#define IDirect3DTexture_METHODS \ #define IDirect3DTexture_METHODS \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECT3DDEVICE,lpDirect3DDevice, LPDIRECTDRAWSURFACE,lpDDSurface) \ STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE; \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DTEXTUREHANDLE, lpHandle) \ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE; \
ICOM_METHOD2(HRESULT,PaletteChanged, DWORD,dwStart, DWORD,dwCount) \ STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; \
ICOM_METHOD1(HRESULT,Load, LPDIRECT3DTEXTURE,lpD3DTexture) \ STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE; \
ICOM_METHOD (HRESULT,Unload) STDMETHOD(Unload)(THIS) PURE;
#define IDirect3DTexture_IMETHODS \ #define IDirect3DTexture_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DTexture_METHODS IDirect3DTexture_METHODS
ICOM_DEFINE(IDirect3DTexture,IUnknown) ICOM_DEFINE(IDirect3DTexture,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DTexture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DTexture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -451,16 +451,16 @@ ICOM_DEFINE(IDirect3DTexture,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DTexture2 interface * IDirect3DTexture2 interface
*/ */
#define ICOM_INTERFACE IDirect3DTexture2 #define INTERFACE IDirect3DTexture2
#define IDirect3DTexture2_METHODS \ #define IDirect3DTexture2_METHODS \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE2,lpDirect3DDevice2, LPD3DTEXTUREHANDLE,lpHandle) \ STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE; \
ICOM_METHOD2(HRESULT,PaletteChanged, DWORD,dwStart, DWORD,dwCount) \ STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; \
ICOM_METHOD1(HRESULT,Load, LPDIRECT3DTEXTURE2,lpD3DTexture2) STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTexture2) PURE;
#define IDirect3DTexture2_IMETHODS \ #define IDirect3DTexture2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DTexture2_METHODS IDirect3DTexture2_METHODS
ICOM_DEFINE(IDirect3DTexture2,IUnknown) ICOM_DEFINE(IDirect3DTexture2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DTexture2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DTexture2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -475,26 +475,26 @@ ICOM_DEFINE(IDirect3DTexture2,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DViewport interface * IDirect3DViewport interface
*/ */
#define ICOM_INTERFACE IDirect3DViewport #define INTERFACE IDirect3DViewport
#define IDirect3DViewport_METHODS \ #define IDirect3DViewport_METHODS \
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
ICOM_METHOD1(HRESULT,GetViewport, LPD3DVIEWPORT,lpData) \ STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
ICOM_METHOD1(HRESULT,SetViewport, LPD3DVIEWPORT,lpData) \ STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
ICOM_METHOD4(HRESULT,TransformVertices, DWORD,dwVertexCount, LPD3DTRANSFORMDATA,lpData, DWORD,dwFlags, LPDWORD,lpOffScreen) \ STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE; \
ICOM_METHOD2(HRESULT,LightElements, DWORD,dwElementCount, LPD3DLIGHTDATA,lpData) \ STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE; \
ICOM_METHOD1(HRESULT,SetBackground, D3DMATERIALHANDLE,hMat) \ STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE; \
ICOM_METHOD2(HRESULT,GetBackground, LPD3DMATERIALHANDLE,lphMat, LPBOOL,lpValid) \ STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE; \
ICOM_METHOD1(HRESULT,SetBackgroundDepth, LPDIRECTDRAWSURFACE,lpDDSurface) \ STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE; \
ICOM_METHOD2(HRESULT,GetBackgroundDepth, LPDIRECTDRAWSURFACE*,lplpDDSurface, LPBOOL,lpValid) \ STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE; \
ICOM_METHOD3(HRESULT,Clear, DWORD,dwCount, LPD3DRECT,lpRects, DWORD,dwFlags) \ STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,AddLight, LPDIRECT3DLIGHT,lpDirect3DLight) \ STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; \
ICOM_METHOD1(HRESULT,DeleteLight, LPDIRECT3DLIGHT,lpDirect3DLight) \ STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; \
ICOM_METHOD3(HRESULT,NextLight, LPDIRECT3DLIGHT,lpDirect3DLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, DWORD,dwFlags) STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
#define IDirect3DViewport_IMETHODS \ #define IDirect3DViewport_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DViewport_METHODS IDirect3DViewport_METHODS
ICOM_DEFINE(IDirect3DViewport,IUnknown) ICOM_DEFINE(IDirect3DViewport,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DViewport_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DViewport_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -519,15 +519,15 @@ ICOM_DEFINE(IDirect3DViewport,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DViewport2 interface * IDirect3DViewport2 interface
*/ */
#define ICOM_INTERFACE IDirect3DViewport2 #define INTERFACE IDirect3DViewport2
#define IDirect3DViewport2_METHODS \ #define IDirect3DViewport2_METHODS \
ICOM_METHOD1(HRESULT,GetViewport2, LPD3DVIEWPORT2,lpData) \ STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; \
ICOM_METHOD1(HRESULT,SetViewport2, LPD3DVIEWPORT2,lpData) STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
#define IDirect3DViewport2_IMETHODS \ #define IDirect3DViewport2_IMETHODS \
IDirect3DViewport_IMETHODS \ IDirect3DViewport_IMETHODS \
IDirect3DViewport2_METHODS IDirect3DViewport2_METHODS
ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport) ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DViewport2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DViewport2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -554,16 +554,16 @@ ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
/***************************************************************************** /*****************************************************************************
* IDirect3DViewport3 interface * IDirect3DViewport3 interface
*/ */
#define ICOM_INTERFACE IDirect3DViewport3 #define INTERFACE IDirect3DViewport3
#define IDirect3DViewport3_METHODS \ #define IDirect3DViewport3_METHODS \
ICOM_METHOD1(HRESULT,SetBackgroundDepth2,LPDIRECTDRAWSURFACE4,lpDDS) \ STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE; \
ICOM_METHOD2(HRESULT,GetBackgroundDepth2,LPDIRECTDRAWSURFACE4*,lplpDDS,LPBOOL,lpValid) \ STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE; \
ICOM_METHOD6(HRESULT,Clear2,DWORD,dwCount,LPD3DRECT,lpRects,DWORD,dwFlags,DWORD,dwColor,D3DVALUE,dvZ,DWORD,dwStencil) STDMETHOD(Clear2)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,DWORD dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
#define IDirect3DViewport3_IMETHODS \ #define IDirect3DViewport3_IMETHODS \
IDirect3DViewport2_IMETHODS \ IDirect3DViewport2_IMETHODS \
IDirect3DViewport3_METHODS IDirect3DViewport3_METHODS
ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2) ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DViewport3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DViewport3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -596,20 +596,20 @@ ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
/***************************************************************************** /*****************************************************************************
* IDirect3DExecuteBuffer interface * IDirect3DExecuteBuffer interface
*/ */
#define ICOM_INTERFACE IDirect3DExecuteBuffer #define INTERFACE IDirect3DExecuteBuffer
#define IDirect3DExecuteBuffer_METHODS \ #define IDirect3DExecuteBuffer_METHODS \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC,lpDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
ICOM_METHOD1(HRESULT,Lock, LPD3DEXECUTEBUFFERDESC,lpDesc) \ STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
ICOM_METHOD (HRESULT,Unlock) \ STDMETHOD(Unlock)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetExecuteData, LPD3DEXECUTEDATA,lpData) \ STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; \
ICOM_METHOD1(HRESULT,GetExecuteData, LPD3DEXECUTEDATA,lpData) \ STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; \
ICOM_METHOD4(HRESULT,Validate, LPDWORD,lpdwOffset, LPD3DVALIDATECALLBACK,lpFunc, LPVOID,lpUserArg, DWORD,dwReserved) \ STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE; \
ICOM_METHOD1(HRESULT,Optimize, DWORD,dwDummy) STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE;
#define IDirect3DExecuteBuffer_IMETHODS \ #define IDirect3DExecuteBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DExecuteBuffer_METHODS IDirect3DExecuteBuffer_METHODS
ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown) ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DExecuteBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -628,32 +628,32 @@ ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DDevice interface * IDirect3DDevice interface
*/ */
#define ICOM_INTERFACE IDirect3DDevice #define INTERFACE IDirect3DDevice
#define IDirect3DDevice_METHODS \ #define IDirect3DDevice_METHODS \
ICOM_METHOD3(HRESULT,Initialize, LPDIRECT3D,lpDirect3D, LPGUID,lpGUID, LPD3DDEVICEDESC,lpD3DDVDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE; \
ICOM_METHOD2(HRESULT,GetCaps, LPD3DDEVICEDESC,lpD3DHWDevDesc, LPD3DDEVICEDESC,lpD3DHELDevDesc) \ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
ICOM_METHOD2(HRESULT,SwapTextureHandles, LPDIRECT3DTEXTURE,lpD3Dtex1, LPDIRECT3DTEXTURE,lpD3DTex2) \ STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE; \
ICOM_METHOD3(HRESULT,CreateExecuteBuffer, LPD3DEXECUTEBUFFERDESC,lpDesc, LPDIRECT3DEXECUTEBUFFER*,lplpDirect3DExecuteBuffer, IUnknown*,pUnkOuter) \ STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD1(HRESULT,GetStats, LPD3DSTATS,lpD3DStats) \ STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
ICOM_METHOD3(HRESULT,Execute, LPDIRECT3DEXECUTEBUFFER,lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT,lpDirect3DViewport, DWORD,dwFlags) \ STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,AddViewport, LPDIRECT3DVIEWPORT,lpDirect3DViewport) \ STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; \
ICOM_METHOD1(HRESULT,DeleteViewport, LPDIRECT3DVIEWPORT,lpDirect3DViewport) \ STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; \
ICOM_METHOD3(HRESULT,NextViewport, LPDIRECT3DVIEWPORT,lpDirect3DViewport, LPDIRECT3DVIEWPORT*,lplpDirect3DViewport, DWORD,dwFlags) \ STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,Pick, LPDIRECT3DEXECUTEBUFFER,lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT,lpDirect3DViewport, DWORD,dwFlags, LPD3DRECT,lpRect) \ STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE; \
ICOM_METHOD2(HRESULT,GetPickRecords, LPDWORD,lpCount, LPD3DPICKRECORD,lpD3DPickRec) \ STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE; \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMTEXTUREFORMATSCALLBACK,lpD3DEnumTextureProc, LPVOID,lpArg) \ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; \
ICOM_METHOD1(HRESULT,CreateMatrix, LPD3DMATRIXHANDLE,lpD3DMatHandle) \ STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE; \
ICOM_METHOD2(HRESULT,SetMatrix, D3DMATRIXHANDLE,D3DMatHandle, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD2(HRESULT,GetMatrix, D3DMATRIXHANDLE,D3DMatHandle, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD1(HRESULT,DeleteMatrix, D3DMATRIXHANDLE,D3DMatHandle) \ STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE; \
ICOM_METHOD (HRESULT,BeginScene) \ STDMETHOD(BeginScene)(THIS) PURE; \
ICOM_METHOD (HRESULT,EndScene) \ STDMETHOD(EndScene)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D*,lplpDirect3D) STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D *lplpDirect3D) PURE;
#define IDirect3DDevice_IMETHODS \ #define IDirect3DDevice_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DDevice_METHODS IDirect3DDevice_METHODS
ICOM_DEFINE(IDirect3DDevice,IUnknown) ICOM_DEFINE(IDirect3DDevice,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DDevice_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DDevice_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -684,44 +684,44 @@ ICOM_DEFINE(IDirect3DDevice,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DDevice2 interface * IDirect3DDevice2 interface
*/ */
#define ICOM_INTERFACE IDirect3DDevice2 #define INTERFACE IDirect3DDevice2
#define IDirect3DDevice2_METHODS \ #define IDirect3DDevice2_METHODS \
ICOM_METHOD2(HRESULT,GetCaps, LPD3DDEVICEDESC,lpD3DHWDevDesc, LPD3DDEVICEDESC,lpD3DHELDevDesc) \ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
ICOM_METHOD2(HRESULT,SwapTextureHandles, LPDIRECT3DTEXTURE2,lpD3DTex1, LPDIRECT3DTEXTURE2,lpD3DTex2) \ STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE; \
ICOM_METHOD1(HRESULT,GetStats, LPD3DSTATS,lpD3DStats) \ STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
ICOM_METHOD1(HRESULT,AddViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2) \ STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
ICOM_METHOD1(HRESULT,DeleteViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2) \ STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
ICOM_METHOD3(HRESULT,NextViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2, LPDIRECT3DVIEWPORT2*,lplpDirect3DViewport2, DWORD,dwFlags) \ STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMTEXTUREFORMATSCALLBACK,lpD3DEnumTextureProc, LPVOID,lpArg) \ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; \
ICOM_METHOD (HRESULT,BeginScene) \ STDMETHOD(BeginScene)(THIS) PURE; \
ICOM_METHOD (HRESULT,EndScene) \ STDMETHOD(EndScene)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D2*,lplpDirect3D2) \ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE; \
/*** DrawPrimitive API ***/ \ /*** DrawPrimitive API ***/ \
ICOM_METHOD1(HRESULT,SetCurrentViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2) \ STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
ICOM_METHOD1(HRESULT,GetCurrentViewport, LPDIRECT3DVIEWPORT2*,lplpDirect3DViewport2) \ STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE; \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE,lpNewRenderTarget, DWORD,dwFlags) \ STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE*,lplpRenderTarget) \ STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE; \
ICOM_METHOD3(HRESULT,Begin, D3DPRIMITIVETYPE,d3dpt,D3DVERTEXTYPE,dwVertexTypeDesc,DWORD,dwFlags) \ STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,BeginIndexed, D3DPRIMITIVETYPE,d3dptPrimitiveType, D3DVERTEXTYPE,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwNumVertices, DWORD,dwFlags) \ STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,Vertex, LPVOID,lpVertexType) \ STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; \
ICOM_METHOD1(HRESULT,Index, WORD,wVertexIndex) \ STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; \
ICOM_METHOD1(HRESULT,End, DWORD,dwFlags) \ STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
ICOM_METHOD2(HRESULT,GetLightState, D3DLIGHTSTATETYPE,dwLightStateType, LPDWORD,lpdwLightState) \ STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; \
ICOM_METHOD2(HRESULT,SetLightState, D3DLIGHTSTATETYPE,dwLightStateType, DWORD,dwLightState) \ STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, D3DVERTEXTYPE,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, DWORD,dwFlags) \ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, D3DVERTEXTYPE,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, LPWORD,dwIndices, DWORD,dwIndexCount, DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,SetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \ STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
ICOM_METHOD1(HRESULT,GetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
#define IDirect3DDevice2_IMETHODS \ #define IDirect3DDevice2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DDevice2_METHODS IDirect3DDevice2_METHODS
ICOM_DEFINE(IDirect3DDevice2,IUnknown) ICOM_DEFINE(IDirect3DDevice2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DDevice2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DDevice2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -762,53 +762,53 @@ ICOM_DEFINE(IDirect3DDevice2,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DDevice3 interface * IDirect3DDevice3 interface
*/ */
#define ICOM_INTERFACE IDirect3DDevice3 #define INTERFACE IDirect3DDevice3
#define IDirect3DDevice3_METHODS \ #define IDirect3DDevice3_METHODS \
ICOM_METHOD2(HRESULT,GetCaps, LPD3DDEVICEDESC,lpD3DHWDevDesc, LPD3DDEVICEDESC,lpD3DHELDevDesc) \ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
ICOM_METHOD1(HRESULT,GetStats, LPD3DSTATS,lpD3DStats) \ STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
ICOM_METHOD1(HRESULT,AddViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3) \ STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
ICOM_METHOD1(HRESULT,DeleteViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3) \ STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
ICOM_METHOD3(HRESULT,NextViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3, LPDIRECT3DVIEWPORT3*,lplpDirect3DViewport3, DWORD,dwFlags) \ STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMPIXELFORMATSCALLBACK,lpD3DEnumPixelProc, LPVOID,lpArg) \ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
ICOM_METHOD (HRESULT,BeginScene) \ STDMETHOD(BeginScene)(THIS) PURE; \
ICOM_METHOD (HRESULT,EndScene) \ STDMETHOD(EndScene)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D3*,lplpDirect3D3) \ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE; \
/*** DrawPrimitive API ***/ \ /*** DrawPrimitive API ***/ \
ICOM_METHOD1(HRESULT,SetCurrentViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3) \ STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
ICOM_METHOD1(HRESULT,GetCurrentViewport, LPDIRECT3DVIEWPORT3*,lplpDirect3DViewport3) \ STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE; \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE4,lpNewRenderTarget, DWORD,dwFlags) \ STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE4*,lplpRenderTarget) \ STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE; \
ICOM_METHOD3(HRESULT,Begin, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexTypeDesc, DWORD,dwFlags) \ STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,BeginIndexed, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwNumVertices, DWORD,dwFlags) \ STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,Vertex, LPVOID,lpVertexType) \ STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; \
ICOM_METHOD1(HRESULT,Index, WORD,wVertexIndex) \ STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; \
ICOM_METHOD1(HRESULT,End, DWORD,dwFlags) \ STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
ICOM_METHOD2(HRESULT,GetLightState, D3DLIGHTSTATETYPE,dwLightStateType, LPDWORD,lpdwLightState) \ STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; \
ICOM_METHOD2(HRESULT,SetLightState, D3DLIGHTSTATETYPE,dwLightStateType, DWORD,dwLightState) \ STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, DWORD,dwFlags) \ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, LPWORD,dwIndices, DWORD,dwIndexCount, DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,SetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \ STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
ICOM_METHOD1(HRESULT,GetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \ STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,DWORD,dwFlags) \ STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,LPWORD,lpIndex,DWORD,dwIndexCount,DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,DWORD,dwFlags) \ STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER,lpD3DVertexBuf,LPWORD,lpwIndices,DWORD,dwIndexCount,DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,ComputeSphereVisibility, LPD3DVECTOR,lpCenters,LPD3DVALUE,lpRadii,DWORD,dwNumSpheres,DWORD,dwFlags,LPDWORD,lpdwReturnValues) \ STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; \
ICOM_METHOD2(HRESULT,GetTexture, DWORD,dwStage,LPDIRECT3DTEXTURE2*,lplpTexture2) \ STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE; \
ICOM_METHOD2(HRESULT,SetTexture, DWORD,dwStage,LPDIRECT3DTEXTURE2,lpTexture2) \ STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE; \
ICOM_METHOD3(HRESULT,GetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,LPDWORD,lpdwState) \ STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; \
ICOM_METHOD3(HRESULT,SetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,DWORD,dwState) \ STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; \
ICOM_METHOD1(HRESULT,ValidateDevice, LPDWORD,lpdwPasses) STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
#define IDirect3DDevice3_IMETHODS \ #define IDirect3DDevice3_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DDevice3_METHODS IDirect3DDevice3_METHODS
ICOM_DEFINE(IDirect3DDevice3,IUnknown) ICOM_DEFINE(IDirect3DDevice3,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DDevice3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DDevice3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -858,59 +858,59 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DDevice7 interface * IDirect3DDevice7 interface
*/ */
#define ICOM_INTERFACE IDirect3DDevice7 #define INTERFACE IDirect3DDevice7
#define IDirect3DDevice7_METHODS \ #define IDirect3DDevice7_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPD3DDEVICEDESC7,lpD3DHELDevDesc) \ STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE; \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMPIXELFORMATSCALLBACK,lpD3DEnumPixelProc, LPVOID,lpArg) \ STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
ICOM_METHOD (HRESULT,BeginScene) \ STDMETHOD(BeginScene)(THIS) PURE; \
ICOM_METHOD (HRESULT,EndScene) \ STDMETHOD(EndScene)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D7*,lplpDirect3D3) \ STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE; \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE7,lpNewRenderTarget,DWORD,dwFlags) \ STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE7*,lplpRenderTarget) \ STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE; \
ICOM_METHOD6(HRESULT,Clear, DWORD,dwCount,LPD3DRECT,lpRects,DWORD,dwFlags,D3DCOLOR,dwColor,D3DVALUE,dvZ,DWORD,dwStencil) \ STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE; \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD1(HRESULT,SetViewport, LPD3DVIEWPORT7,lpData) \ STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType,LPD3DMATRIX,lpD3DMatrix) \ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE; \
ICOM_METHOD1(HRESULT,GetViewport, LPD3DVIEWPORT7,lpData) \ STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL7,lpMat) \ STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL7,lpMat) \ STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; \
ICOM_METHOD2(HRESULT,SetLight, DWORD,dwLightIndex,LPD3DLIGHT7,lpLight) \ STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; \
ICOM_METHOD2(HRESULT,GetLight, DWORD,dwLightIndex,LPD3DLIGHT7,lpLight) \ STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
ICOM_METHOD (HRESULT,BeginStateBlock) \ STDMETHOD(BeginStateBlock)(THIS) PURE; \
ICOM_METHOD1(HRESULT,EndStateBlock, LPDWORD,lpdwBlockHandle) \ STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE; \
ICOM_METHOD1(HRESULT,PreLoad, LPDIRECTDRAWSURFACE7,lpddsTexture) \ STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, DWORD,dwFlags) \ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, LPWORD,dwIndices, DWORD,dwIndexCount, DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,SetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \ STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
ICOM_METHOD1(HRESULT,GetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \ STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,DWORD,dwFlags) \ STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,LPWORD,lpIndex,DWORD,dwIndexCount,DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,DrawPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,DWORD,dwFlags) \ STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,LPWORD,lpwIndices,DWORD,dwIndexCount,DWORD,dwFlags) \ STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,ComputeSphereVisibility, LPD3DVECTOR,lpCenters,LPD3DVALUE,lpRadii,DWORD,dwNumSpheres,DWORD,dwFlags,LPDWORD,lpdwReturnValues) \ STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; \
ICOM_METHOD2(HRESULT,GetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7*,lpTexture) \ STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE; \
ICOM_METHOD2(HRESULT,SetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7,lpTexture) \ STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE; \
ICOM_METHOD3(HRESULT,GetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,LPDWORD,lpdwState) \ STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; \
ICOM_METHOD3(HRESULT,SetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,DWORD,dwState) \ STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; \
ICOM_METHOD1(HRESULT,ValidateDevice, LPDWORD,lpdwPasses) \ STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE; \
ICOM_METHOD1(HRESULT,ApplyStateBlock, DWORD,dwBlockHandle) \ STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
ICOM_METHOD1(HRESULT,CaptureStateBlock, DWORD,dwBlockHandle) \ STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
ICOM_METHOD1(HRESULT,DeleteStateBlock, DWORD,dwBlockHandle) \ STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
ICOM_METHOD2(HRESULT,CreateStateBlock, D3DSTATEBLOCKTYPE,d3dsbType,LPDWORD,lpdwBlockHandle) \ STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE; \
ICOM_METHOD5(HRESULT,Load, LPDIRECTDRAWSURFACE7,lpDestTex,LPPOINT,lpDestPoint,LPDIRECTDRAWSURFACE7,lpSrcTex,LPRECT,lprcSrcRect,DWORD,dwFlags) \ STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,LightEnable, DWORD,dwLightIndex,BOOL,bEnable) \ STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE; \
ICOM_METHOD2(HRESULT,GetLightEnable, DWORD,dwLightIndex,BOOL*,pbEnable) \ STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE; \
ICOM_METHOD2(HRESULT,SetClipPlane, DWORD,dwIndex,D3DVALUE*,pPlaneEquation) \ STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; \
ICOM_METHOD2(HRESULT,GetClipPlane, DWORD,dwIndex,D3DVALUE*,pPlaneEquation) \ STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; \
ICOM_METHOD3(HRESULT,GetInfo, DWORD,dwDevInfoID,LPVOID,pDevInfoStruct,DWORD,dwSize) STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE;
#define IDirect3DDevice7_IMETHODS \ #define IDirect3DDevice7_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DDevice7_METHODS IDirect3DDevice7_METHODS
ICOM_DEFINE(IDirect3DDevice7,IUnknown) ICOM_DEFINE(IDirect3DDevice7,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IDirect3DDevice7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DDevice7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirect3DDevice7_AddRef(p) ICOM_CALL (AddRef,p) #define IDirect3DDevice7_AddRef(p) ICOM_CALL (AddRef,p)
@ -967,18 +967,18 @@ ICOM_DEFINE(IDirect3DDevice7,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DVertexBuffer interface * IDirect3DVertexBuffer interface
*/ */
#define ICOM_INTERFACE IDirect3DVertexBuffer #define INTERFACE IDirect3DVertexBuffer
#define IDirect3DVertexBuffer_METHODS \ #define IDirect3DVertexBuffer_METHODS \
ICOM_METHOD3(HRESULT,Lock, DWORD,dwFlags,LPVOID*,lplpData,LPDWORD,lpdwSize) \ STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; \
ICOM_METHOD (HRESULT,Unlock) \ STDMETHOD(Unlock)(THIS) PURE; \
ICOM_METHOD7(HRESULT,ProcessVertices, DWORD,dwVertexOp,DWORD,dwDestIndex,DWORD,dwCount,LPDIRECT3DVERTEXBUFFER,lpSrcBuffer,DWORD,dwSrcIndex,LPDIRECT3DDEVICE3,lpD3DDevice,DWORD,dwFlags) \ STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetVertexBufferDesc, LPD3DVERTEXBUFFERDESC,lpD3DVertexBufferDesc) \ STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; \
ICOM_METHOD2(HRESULT,Optimize, LPDIRECT3DDEVICE3, lpD3DDevice,DWORD,dwFlags) STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
#define IDirect3DVertexBuffer_IMETHODS \ #define IDirect3DVertexBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DVertexBuffer_METHODS IDirect3DVertexBuffer_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer,IUnknown) ICOM_DEFINE(IDirect3DVertexBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DVertexBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DVertexBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -994,19 +994,19 @@ ICOM_DEFINE(IDirect3DVertexBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DVertexBuffer7 interface * IDirect3DVertexBuffer7 interface
*/ */
#define ICOM_INTERFACE IDirect3DVertexBuffer7 #define INTERFACE IDirect3DVertexBuffer7
#define IDirect3DVertexBuffer7_METHODS \ #define IDirect3DVertexBuffer7_METHODS \
ICOM_METHOD3(HRESULT,Lock, DWORD,dwFlags,LPVOID*,lplpData,LPDWORD,lpdwSize) \ STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; \
ICOM_METHOD (HRESULT,Unlock) \ STDMETHOD(Unlock)(THIS) PURE; \
ICOM_METHOD7(HRESULT,ProcessVertices, DWORD,dwVertexOp,DWORD,dwDestIndex,DWORD,dwCount,LPDIRECT3DVERTEXBUFFER7,lpSrcBuffer,DWORD,dwSrcIndex,LPDIRECT3DDEVICE7,lpD3DDevice,DWORD,dwFlags) \ STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetVertexBufferDesc, LPD3DVERTEXBUFFERDESC,lpD3DVertexBufferDesc) \ STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; \
ICOM_METHOD2(HRESULT,Optimize, LPDIRECT3DDEVICE7, lpD3DDevice,DWORD,dwFlags) \ STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; \
ICOM_METHOD7(HRESULT,ProcessVerticesStrided, DWORD,dwVertexOp,DWORD,dwDestIndex,DWORD,dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpStrideData,DWORD,dwVertexTypeDesc,LPDIRECT3DDEVICE7,lpD3DDevice,DWORD,dwFlags) STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData,DWORD dwVertexTypeDesc,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
#define IDirect3DVertexBuffer7_IMETHODS \ #define IDirect3DVertexBuffer7_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DVertexBuffer7_METHODS IDirect3DVertexBuffer7_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer7,IUnknown) ICOM_DEFINE(IDirect3DVertexBuffer7,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DVertexBuffer7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DVertexBuffer7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -102,29 +102,29 @@ typedef struct IDirect3DVolumeTexture8 IDirect3DVolumeTexture8, *LPDIRECT3DVOL
/***************************************************************************** /*****************************************************************************
* IDirect3D8 interface * IDirect3D8 interface
*/ */
#define ICOM_INTERFACE IDirect3D8 #define INTERFACE IDirect3D8
#define IDirect3D8_METHODS \ #define IDirect3D8_METHODS \
/*** IDirect3D8 methods ***/ \ /*** IDirect3D8 methods ***/ \
ICOM_METHOD1(HRESULT, RegisterSoftwareDevice, void*, pInitializeFunction) \ STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE; \
ICOM_METHOD (UINT, GetAdapterCount ) \ STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE; \
ICOM_METHOD3(HRESULT, GetAdapterIdentifier, UINT, Adapter, DWORD, Flags, D3DADAPTER_IDENTIFIER8*, pIdentifier) \ STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE; \
ICOM_METHOD1(UINT, GetAdapterModeCount, UINT, Adapter) \ STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE; \
ICOM_METHOD3(HRESULT, EnumAdapterModes, UINT, Adapter, UINT, Mode, D3DDISPLAYMODE*, pMode) \ STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE; \
ICOM_METHOD2(HRESULT, GetAdapterDisplayMode, UINT, Adapter, D3DDISPLAYMODE*, pMode) \ STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE; \
ICOM_METHOD5(HRESULT, CheckDeviceType, UINT, Adapter, D3DDEVTYPE, CheckType, D3DFORMAT, DisplayFormat, D3DFORMAT, BackBufferFormat, BOOL, Windowed) \ STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE; \
ICOM_METHOD6(HRESULT, CheckDeviceFormat, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DFORMAT, AdapterFormat, DWORD, Usage, D3DRESOURCETYPE, RType, D3DFORMAT, CheckFormat) \ STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE; \
ICOM_METHOD5(HRESULT, CheckDeviceMultiSampleType, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DFORMAT, SurfaceFormat, BOOL, Windowed, D3DMULTISAMPLE_TYPE, MultiSampleType) \ STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE; \
ICOM_METHOD5(HRESULT, CheckDepthStencilMatch, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DFORMAT, AdapterFormat, D3DFORMAT, RenderTargetFormat, D3DFORMAT, DepthStencilFormat) \ STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE; \
ICOM_METHOD3(HRESULT, GetDeviceCaps, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DCAPS8*, pCaps) \ STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8 * pCaps) PURE; \
ICOM_METHOD1(HMONITOR, GetAdapterMonitor, UINT, Adapter) \ STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE; \
ICOM_METHOD6(HRESULT, CreateDevice, UINT, Adapter, D3DDEVTYPE, DeviceType,HWND, hFocusWindow, DWORD, BehaviorFlags, D3DPRESENT_PARAMETERS*, pPresentationParameters, IDirect3DDevice8**, ppReturnedDeviceInterface) STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DDevice8 ** ppReturnedDeviceInterface) PURE;
/*** IDirect3D8 methods ***/ /*** IDirect3D8 methods ***/
#define IDirect3D8_IMETHODS \ #define IDirect3D8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3D8_METHODS IDirect3D8_METHODS
ICOM_DEFINE(IDirect3D8,IUnknown) ICOM_DEFINE(IDirect3D8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3D8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3D8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -148,110 +148,110 @@ ICOM_DEFINE(IDirect3D8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DDevice8 interface * IDirect3DDevice8 interface
*/ */
#define ICOM_INTERFACE IDirect3DDevice8 #define INTERFACE IDirect3DDevice8
#define IDirect3DDevice8_METHODS \ #define IDirect3DDevice8_METHODS \
/*** IDirect3DDevice8 methods ***/ \ /*** IDirect3DDevice8 methods ***/ \
ICOM_METHOD (HRESULT, TestCooperativeLevel) \ STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
ICOM_METHOD (UINT, GetAvailableTextureMem) \ STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE; \
ICOM_METHOD1(HRESULT, ResourceManagerDiscardBytes, DWORD, Bytes) \ STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE; \
ICOM_METHOD1(HRESULT, GetDirect3D, IDirect3D8**, ppD3D8) \ STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE; \
ICOM_METHOD1(HRESULT, GetDeviceCaps, D3DCAPS8*, pCaps) \ STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8 * pCaps) PURE; \
ICOM_METHOD1(HRESULT, GetDisplayMode, D3DDISPLAYMODE*, pMode) \ STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE; \
ICOM_METHOD1(HRESULT, GetCreationParameters, D3DDEVICE_CREATION_PARAMETERS *, pParameters) \ STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE; \
ICOM_METHOD3(HRESULT, SetCursorProperties, UINT, XHotSpot, UINT, YHotSpot, IDirect3DSurface8*, pCursorBitmap) \ STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE; \
ICOM_METHOD3(void, SetCursorPosition, UINT, XScreenSpace, UINT, YScreenSpace,DWORD, Flags) \ STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE; \
ICOM_METHOD1(BOOL, ShowCursor, BOOL, bShow) \ STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE; \
ICOM_METHOD2(HRESULT, CreateAdditionalSwapChain, D3DPRESENT_PARAMETERS*, pPresentationParameters, IDirect3DSwapChain8**, pSwapChain) \ STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE; \
ICOM_METHOD1(HRESULT, Reset, D3DPRESENT_PARAMETERS*, pPresentationParameters) \ STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE; \
ICOM_METHOD4(HRESULT, Present, CONST RECT*, pSourceRect,CONST RECT*, pDestRect,HWND, hDestWindowOverride,CONST RGNDATA*, pDirtyRegion) \ STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; \
ICOM_METHOD3(HRESULT, GetBackBuffer, UINT, BackBuffer,D3DBACKBUFFER_TYPE, Type,IDirect3DSurface8**, ppBackBuffer) \ STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE; \
ICOM_METHOD1(HRESULT, GetRasterStatus, D3DRASTER_STATUS*, pRasterStatus) \ STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE; \
ICOM_METHOD2(void, SetGammaRamp, DWORD, Flags,CONST D3DGAMMARAMP*, pRamp) \ STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE; \
ICOM_METHOD1(void, GetGammaRamp, D3DGAMMARAMP*, pRamp) \ STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE; \
ICOM_METHOD7(HRESULT, CreateTexture, UINT, Width,UINT, Height,UINT, Levels,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DTexture8**, ppTexture) \ STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE; \
ICOM_METHOD8(HRESULT, CreateVolumeTexture, UINT, Width,UINT, Height,UINT, Depth,UINT, Levels,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DVolumeTexture8**, ppVolumeTexture) \ STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE; \
ICOM_METHOD6(HRESULT, CreateCubeTexture, UINT, EdgeLength,UINT, Levels,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DCubeTexture8**, ppCubeTexture) \ STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE; \
ICOM_METHOD5(HRESULT, CreateVertexBuffer, UINT, Length,DWORD, Usage,DWORD, FVF,D3DPOOL, Pool,IDirect3DVertexBuffer8**, ppVertexBuffer) \ STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE; \
ICOM_METHOD5(HRESULT, CreateIndexBuffer, UINT, Length,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DIndexBuffer8**, ppIndexBuffer) \ STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE; \
ICOM_METHOD6(HRESULT, CreateRenderTarget, UINT, Width,UINT, Height,D3DFORMAT, Format,D3DMULTISAMPLE_TYPE, MultiSample,BOOL, Lockable,IDirect3DSurface8**, ppSurface) \ STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE; \
ICOM_METHOD5(HRESULT, CreateDepthStencilSurface, UINT, Width,UINT, Height,D3DFORMAT, Format,D3DMULTISAMPLE_TYPE, MultiSample,IDirect3DSurface8**, ppSurface) \ STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE; \
ICOM_METHOD4(HRESULT, CreateImageSurface, UINT, Width,UINT, Height,D3DFORMAT, Format,IDirect3DSurface8**, ppSurface) \ STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE; \
ICOM_METHOD5(HRESULT, CopyRects, IDirect3DSurface8*, pSourceSurface,CONST RECT*, pSourceRectsArray,UINT, cRects,IDirect3DSurface8*, pDestinationSurface,CONST POINT*, pDestPointsArray) \ STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE; \
ICOM_METHOD2(HRESULT, UpdateTexture, IDirect3DBaseTexture8*, pSourceTexture,IDirect3DBaseTexture8*, pDestinationTexture) \ STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE; \
ICOM_METHOD1(HRESULT, GetFrontBuffer, IDirect3DSurface8*, pDestSurface) \ STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE; \
ICOM_METHOD2(HRESULT, SetRenderTarget, IDirect3DSurface8*, pRenderTarget,IDirect3DSurface8*, pNewZStencil) \ STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE; \
ICOM_METHOD1(HRESULT, GetRenderTarget, IDirect3DSurface8**, ppRenderTarget) \ STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE; \
ICOM_METHOD1(HRESULT, GetDepthStencilSurface, IDirect3DSurface8**, ppZStencilSurface) \ STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE; \
ICOM_METHOD (HRESULT, BeginScene) \ STDMETHOD(BeginScene)(THIS) PURE; \
ICOM_METHOD (HRESULT, EndScene) \ STDMETHOD(EndScene)(THIS) PURE; \
ICOM_METHOD6(HRESULT, Clear, DWORD, Count,CONST D3DRECT*, pRects,DWORD, Flags,D3DCOLOR, Color,float, Z,DWORD, Stencil) \ STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE; \
ICOM_METHOD2(HRESULT, SetTransform, D3DTRANSFORMSTATETYPE, State,CONST D3DMATRIX*, pMatrix) \ STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE; \
ICOM_METHOD2(HRESULT, GetTransform, D3DTRANSFORMSTATETYPE, State,D3DMATRIX*, pMatrix) \ STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE; \
ICOM_METHOD2(HRESULT, MultiplyTransform, D3DTRANSFORMSTATETYPE, State, CONST D3DMATRIX*, pMatrix) \ STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE; \
ICOM_METHOD1(HRESULT, SetViewport, CONST D3DVIEWPORT8*, pViewport) \ STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE; \
ICOM_METHOD1(HRESULT, GetViewport, D3DVIEWPORT8*, pViewport) \ STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE; \
ICOM_METHOD1(HRESULT, SetMaterial, CONST D3DMATERIAL8*, pMaterial) \ STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE; \
ICOM_METHOD1(HRESULT, GetMaterial, D3DMATERIAL8* ,pMaterial) \ STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE; \
ICOM_METHOD2(HRESULT, SetLight, DWORD, Index,CONST D3DLIGHT8*, pLight) \ STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE; \
ICOM_METHOD2(HRESULT, GetLight, DWORD, Index,D3DLIGHT8*, pLight) \ STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE; \
ICOM_METHOD2(HRESULT, LightEnable, DWORD, Index,BOOL, Enable) \ STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE; \
ICOM_METHOD2(HRESULT, GetLightEnable, DWORD, Index,BOOL*, pEnable) \ STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE; \
ICOM_METHOD2(HRESULT, SetClipPlane, DWORD, Index,CONST float*, pPlane) \ STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE; \
ICOM_METHOD2(HRESULT, GetClipPlane, DWORD, Index,float*, pPlane) \ STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE; \
ICOM_METHOD2(HRESULT, SetRenderState, D3DRENDERSTATETYPE, State,DWORD, Value) \ STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE; \
ICOM_METHOD2(HRESULT, GetRenderState, D3DRENDERSTATETYPE, State,DWORD*, pValue) \ STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE; \
ICOM_METHOD (HRESULT, BeginStateBlock) \ STDMETHOD(BeginStateBlock)(THIS) PURE; \
ICOM_METHOD1(HRESULT, EndStateBlock, DWORD*, pToken) \ STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE; \
ICOM_METHOD1(HRESULT, ApplyStateBlock, DWORD, Token) \ STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE; \
ICOM_METHOD1(HRESULT, CaptureStateBlock, DWORD, Token) \ STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE; \
ICOM_METHOD1(HRESULT, DeleteStateBlock, DWORD, Token) \ STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE; \
ICOM_METHOD2(HRESULT, CreateStateBlock, D3DSTATEBLOCKTYPE, Type,DWORD*, pToken) \ STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE; \
ICOM_METHOD1(HRESULT, SetClipStatus, CONST D3DCLIPSTATUS8*, pClipStatus) \ STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE; \
ICOM_METHOD1(HRESULT, GetClipStatus, D3DCLIPSTATUS8*, pClipStatus) \ STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE; \
ICOM_METHOD2(HRESULT, GetTexture, DWORD, Stage,IDirect3DBaseTexture8**, ppTexture) \ STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE; \
ICOM_METHOD2(HRESULT, SetTexture, DWORD, Stage,IDirect3DBaseTexture8*, pTexture) \ STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE; \
ICOM_METHOD3(HRESULT, GetTextureStageState, DWORD, Stage,D3DTEXTURESTAGESTATETYPE, Type,DWORD*, pValue) \ STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE; \
ICOM_METHOD3(HRESULT, SetTextureStageState, DWORD, Stage,D3DTEXTURESTAGESTATETYPE, Type,DWORD, Value) \ STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE; \
ICOM_METHOD1(HRESULT, ValidateDevice, DWORD*, pNumPasses) \ STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE; \
ICOM_METHOD3(HRESULT, GetInfo, DWORD, DevInfoID,void*, pDevInfoStruct,DWORD, DevInfoStructSize) \ STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE; \
ICOM_METHOD2(HRESULT, SetPaletteEntries, UINT, PaletteNumber,CONST PALETTEENTRY*, pEntries) \ STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE; \
ICOM_METHOD2(HRESULT, GetPaletteEntries, UINT, PaletteNumber,PALETTEENTRY*, pEntries) \ STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE; \
ICOM_METHOD1(HRESULT, SetCurrentTexturePalette, UINT, PaletteNumber) \ STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE; \
ICOM_METHOD1(HRESULT, GetCurrentTexturePalette, UINT *, PaletteNumber) \ STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE; \
ICOM_METHOD3(HRESULT, DrawPrimitive, D3DPRIMITIVETYPE, PrimitiveType,UINT, StartVertex,UINT, PrimitiveCount) \ STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE; \
ICOM_METHOD5(HRESULT, DrawIndexedPrimitive, D3DPRIMITIVETYPE, PrimitiveType,UINT, minIndex,UINT, NumVertices,UINT, startIndex,UINT, primCount) \ STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE; \
ICOM_METHOD4(HRESULT, DrawPrimitiveUP, D3DPRIMITIVETYPE, PrimitiveType,UINT, PrimitiveCount,CONST void*, pVertexStreamZeroData,UINT, VertexStreamZeroStride) \ STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; \
ICOM_METHOD8(HRESULT, DrawIndexedPrimitiveUP, D3DPRIMITIVETYPE, PrimitiveType,UINT, MinVertexIndex,UINT, NumVertexIndices,UINT, PrimitiveCount,CONST void*, pIndexData,D3DFORMAT, IndexDataFormat,CONST void*, pVertexStreamZeroData,UINT, VertexStreamZeroStride) \ STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; \
ICOM_METHOD5(HRESULT, ProcessVertices, UINT, SrcStartIndex,UINT, DestIndex,UINT, VertexCount,IDirect3DVertexBuffer8*, pDestBuffer,DWORD, Flags) \ STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE; \
ICOM_METHOD4(HRESULT, CreateVertexShader, CONST DWORD*, pDeclaration,CONST DWORD*, pFunction,DWORD*, pHandle,DWORD, Usage) \ STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE; \
ICOM_METHOD1(HRESULT, SetVertexShader, DWORD, Handle) \ STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE; \
ICOM_METHOD1(HRESULT, GetVertexShader, DWORD*, pHandle) \ STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE; \
ICOM_METHOD1(HRESULT, DeleteVertexShader, DWORD, Handle) \ STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE; \
ICOM_METHOD3(HRESULT, SetVertexShaderConstant, DWORD, Register,CONST void*, pConstantData,DWORD, ConstantCount) \ STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; \
ICOM_METHOD3(HRESULT, GetVertexShaderConstant, DWORD, Register,void*, pConstantData,DWORD, ConstantCount) \ STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; \
ICOM_METHOD3(HRESULT, GetVertexShaderDeclaration, DWORD, Handle,void*, pData,DWORD*, pSizeOfData) \ STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
ICOM_METHOD3(HRESULT, GetVertexShaderFunction, DWORD, Handle,void*, pData,DWORD*, pSizeOfData) \ STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
ICOM_METHOD3(HRESULT, SetStreamSource, UINT, StreamNumber,IDirect3DVertexBuffer8*, pStreamData,UINT, Stride) \ STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE; \
ICOM_METHOD3(HRESULT, GetStreamSource, UINT, StreamNumber,IDirect3DVertexBuffer8**, ppStreamData,UINT*, pStride) \ STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE; \
ICOM_METHOD2(HRESULT, SetIndices, IDirect3DIndexBuffer8*, pIndexData,UINT, BaseVertexIndex) \ STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE; \
ICOM_METHOD2(HRESULT, GetIndices, IDirect3DIndexBuffer8**, ppIndexData,UINT*, pBaseVertexIndex) \ STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE; \
ICOM_METHOD2(HRESULT, CreatePixelShader, CONST DWORD*, pFunction,DWORD*, pHandle) \ STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE; \
ICOM_METHOD1(HRESULT, SetPixelShader, DWORD, Handle) \ STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE; \
ICOM_METHOD1(HRESULT, GetPixelShader, DWORD*, pHandle) \ STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE; \
ICOM_METHOD1(HRESULT, DeletePixelShader, DWORD, Handle) \ STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE; \
ICOM_METHOD3(HRESULT, SetPixelShaderConstant, DWORD, Register,CONST void*, pConstantData,DWORD, ConstantCount) \ STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; \
ICOM_METHOD3(HRESULT, GetPixelShaderConstant, DWORD, Register,void*, pConstantData,DWORD, ConstantCount) \ STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; \
ICOM_METHOD3(HRESULT, GetPixelShaderFunction, DWORD, Handle,void*, pData,DWORD*, pSizeOfData) \ STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
ICOM_METHOD3(HRESULT, DrawRectPatch, UINT, Handle,CONST float*, pNumSegs,CONST D3DRECTPATCH_INFO*, pRectPatchInfo) \ STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE; \
ICOM_METHOD3(HRESULT, DrawTriPatch, UINT, Handle,CONST float*, pNumSegs,CONST D3DTRIPATCH_INFO*, pTriPatchInfo) \ STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE; \
ICOM_METHOD1(HRESULT, DeletePatch, UINT, Handle) \ STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE; \
/*** IDirect3DDevice8 methods ***/ /*** IDirect3DDevice8 methods ***/
#define IDirect3DDevice8_IMETHODS \ #define IDirect3DDevice8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DDevice8_METHODS IDirect3DDevice8_METHODS
ICOM_DEFINE(IDirect3DDevice8,IUnknown) ICOM_DEFINE(IDirect3DDevice8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -356,24 +356,24 @@ ICOM_DEFINE(IDirect3DDevice8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DVolume8 interface * IDirect3DVolume8 interface
*/ */
#define ICOM_INTERFACE IDirect3DVolume8 #define INTERFACE IDirect3DVolume8
#define IDirect3DVolume8_METHODS \ #define IDirect3DVolume8_METHODS \
/*** IDirect3DVolume8 methods ***/ \ /*** IDirect3DVolume8 methods ***/ \
ICOM_METHOD1(HRESULT,GetDevice, IDirect3DDevice8**, ppDevice) \ STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
ICOM_METHOD4(HRESULT,SetPrivateData, REFGUID, refguid,CONST void*, pData, DWORD, SizeOfData, DWORD, Flags) \ STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; \
ICOM_METHOD3(HRESULT,GetPrivateData, REFGUID, refguid,void*, pData, DWORD*, pSizeOfData) \ STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE; \
ICOM_METHOD1(HRESULT,FreePrivateData, REFGUID, refguid) \ STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
ICOM_METHOD2(HRESULT,GetContainer, REFIID, riid, void**, ppContainer) \ STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; \
ICOM_METHOD1(HRESULT,GetDesc, D3DVOLUME_DESC*, pDesc) \ STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE; \
ICOM_METHOD3(HRESULT,LockBox, D3DLOCKED_BOX*, pLockedVolume,CONST D3DBOX*, pBox, DWORD, Flags) \ STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE; \
ICOM_METHOD (HRESULT,UnlockBox) \ STDMETHOD(UnlockBox)(THIS) PURE; \
/*** IDirect3DVolume8 methods ***/ /*** IDirect3DVolume8 methods ***/
#define IDirect3DVolume8_IMETHODS \ #define IDirect3DVolume8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DVolume8_METHODS IDirect3DVolume8_METHODS
ICOM_DEFINE(IDirect3DVolume8,IUnknown) ICOM_DEFINE(IDirect3DVolume8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DVolume8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DVolume8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -392,18 +392,18 @@ ICOM_DEFINE(IDirect3DVolume8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DSwapChain8 interface * IDirect3DSwapChain8 interface
*/ */
#define ICOM_INTERFACE IDirect3DSwapChain8 #define INTERFACE IDirect3DSwapChain8
#define IDirect3DSwapChain8_METHODS \ #define IDirect3DSwapChain8_METHODS \
/*** IDirect3DSwapChain8 methods ***/ \ /*** IDirect3DSwapChain8 methods ***/ \
ICOM_METHOD4(HRESULT, Present, CONST RECT*, pSourceRect, CONST RECT*, pDestRect, HWND, hDestWindowOverride,CONST RGNDATA*, pDirtyRegion) \ STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; \
ICOM_METHOD3(HRESULT, GetBackBuffer, UINT, BackBuffer, D3DBACKBUFFER_TYPE, Type,IDirect3DSurface8**, ppBackBuffer) \ STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE; \
/*** IDirect3DSwapChain8 methods ***/ /*** IDirect3DSwapChain8 methods ***/
#define IDirect3DSwapChain8_IMETHODS \ #define IDirect3DSwapChain8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DSwapChain8_METHODS IDirect3DSwapChain8_METHODS
ICOM_DEFINE(IDirect3DSwapChain8,IUnknown) ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DSwapChain8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DSwapChain8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -416,24 +416,24 @@ ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DSurface8 interface * IDirect3DSurface8 interface
*/ */
#define ICOM_INTERFACE IDirect3DSurface8 #define INTERFACE IDirect3DSurface8
#define IDirect3DSurface8_METHODS \ #define IDirect3DSurface8_METHODS \
/*** IDirect3DSurface8 methods ***/ \ /*** IDirect3DSurface8 methods ***/ \
ICOM_METHOD1(HRESULT, GetDevice, IDirect3DDevice8**, ppDevice) \ STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
ICOM_METHOD4(HRESULT, SetPrivateData, REFGUID, refguid,CONST void*, pData,DWORD, SizeOfData,DWORD, Flags) \ STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE; \
ICOM_METHOD3(HRESULT, GetPrivateData, REFGUID, refguid,void*, pData,DWORD*, pSizeOfData) \ STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE; \
ICOM_METHOD1(HRESULT, FreePrivateData, REFGUID, refguid) \ STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
ICOM_METHOD2(HRESULT, GetContainer, REFIID, riid, void**, ppContainer) \ STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; \
ICOM_METHOD1(HRESULT, GetDesc, D3DSURFACE_DESC*, pDesc) \ STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE; \
ICOM_METHOD3(HRESULT, LockRect, D3DLOCKED_RECT*, pLockedRect, CONST RECT*, pRect,DWORD, Flags) \ STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE; \
ICOM_METHOD (HRESULT, UnlockRect) \ STDMETHOD(UnlockRect)(THIS) PURE; \
/*** IDirect3DSurface8 methods ***/ /*** IDirect3DSurface8 methods ***/
#define IDirect3DSurface8_IMETHODS \ #define IDirect3DSurface8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DSurface8_METHODS IDirect3DSurface8_METHODS
ICOM_DEFINE(IDirect3DSurface8,IUnknown) ICOM_DEFINE(IDirect3DSurface8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DSurface8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DSurface8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -452,24 +452,24 @@ ICOM_DEFINE(IDirect3DSurface8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DResource8 interface * IDirect3DResource8 interface
*/ */
#define ICOM_INTERFACE IDirect3DResource8 #define INTERFACE IDirect3DResource8
#define IDirect3DResource8_METHODS \ #define IDirect3DResource8_METHODS \
/*** IDirect3DResource8 methods ***/ \ /*** IDirect3DResource8 methods ***/ \
ICOM_METHOD1(HRESULT, GetDevice, IDirect3DDevice8**, ppDevice) \ STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
ICOM_METHOD4(HRESULT, SetPrivateData, REFGUID, refguid, CONST void*, pData, DWORD, SizeOfData, DWORD, Flags) \ STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; \
ICOM_METHOD3(HRESULT, GetPrivateData, REFGUID, refguid, void*, pData, DWORD*, pSizeOfData) \ STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; \
ICOM_METHOD1(HRESULT, FreePrivateData, REFGUID, refguid) \ STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
ICOM_METHOD1(DWORD, SetPriority, DWORD, PriorityNew) \ STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; \
ICOM_METHOD (DWORD, GetPriority) \ STDMETHOD_(DWORD,GetPriority)(THIS) PURE; \
ICOM_METHOD (void, PreLoad) \ STDMETHOD_(void,PreLoad)(THIS) PURE; \
ICOM_METHOD (D3DRESOURCETYPE, GetType) STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
/*** IDirect3DResource8 methods ***/ /*** IDirect3DResource8 methods ***/
#define IDirect3DResource8_IMETHODS \ #define IDirect3DResource8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirect3DResource8_METHODS IDirect3DResource8_METHODS
ICOM_DEFINE(IDirect3DResource8,IUnknown) ICOM_DEFINE(IDirect3DResource8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DResource8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DResource8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -488,12 +488,12 @@ ICOM_DEFINE(IDirect3DResource8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirect3DVertexBuffer8 interface * IDirect3DVertexBuffer8 interface
*/ */
#define ICOM_INTERFACE IDirect3DVertexBuffer8 #define INTERFACE IDirect3DVertexBuffer8
#define IDirect3DVertexBuffer8_METHODS \ #define IDirect3DVertexBuffer8_METHODS \
/*** IDirect3DVertexBuffer8 methods ***/ \ /*** IDirect3DVertexBuffer8 methods ***/ \
ICOM_METHOD4(HRESULT,Lock, UINT, OffsetToLock, UINT, SizeToLock, BYTE**, ppbData, DWORD, Flags) \ STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; \
ICOM_METHOD (HRESULT,Unlock) \ STDMETHOD(Unlock)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetDesc, D3DVERTEXBUFFER_DESC *, pDesc) STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC * pDesc) PURE;
/*** IDirect3DVertexBuffer8 methods ***/ /*** IDirect3DVertexBuffer8 methods ***/
#define IDirect3DVertexBuffer8_IMETHODS \ #define IDirect3DVertexBuffer8_IMETHODS \
@ -501,7 +501,7 @@ ICOM_DEFINE(IDirect3DResource8,IUnknown)
IDirect3DResource8_METHODS \ IDirect3DResource8_METHODS \
IDirect3DVertexBuffer8_METHODS IDirect3DVertexBuffer8_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8) ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DVertexBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -524,12 +524,12 @@ ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
/***************************************************************************** /*****************************************************************************
* IDirect3DIndexBuffer8 interface * IDirect3DIndexBuffer8 interface
*/ */
#define ICOM_INTERFACE IDirect3DIndexBuffer8 #define INTERFACE IDirect3DIndexBuffer8
#define IDirect3DIndexBuffer8_METHODS \ #define IDirect3DIndexBuffer8_METHODS \
/*** IDirect3DIndexBuffer8 methods ***/ \ /*** IDirect3DIndexBuffer8 methods ***/ \
ICOM_METHOD4(HRESULT,Lock, UINT, OffsetToLock, UINT, SizeToLock, BYTE**, ppbData, DWORD, Flags) \ STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; \
ICOM_METHOD (HRESULT,Unlock) \ STDMETHOD(Unlock)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetDesc, D3DINDEXBUFFER_DESC*, pDesc) \ STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE; \
/*** IDirect3DIndexBuffer8 methods ***/ /*** IDirect3DIndexBuffer8 methods ***/
#define IDirect3DIndexBuffer8_IMETHODS \ #define IDirect3DIndexBuffer8_IMETHODS \
@ -537,7 +537,7 @@ ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
IDirect3DResource8_METHODS \ IDirect3DResource8_METHODS \
IDirect3DIndexBuffer8_METHODS IDirect3DIndexBuffer8_METHODS
ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8) ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DIndexBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -560,12 +560,12 @@ ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
/***************************************************************************** /*****************************************************************************
* IDirect3DBaseTexture8 interface * IDirect3DBaseTexture8 interface
*/ */
#define ICOM_INTERFACE IDirect3DBaseTexture8 #define INTERFACE IDirect3DBaseTexture8
#define IDirect3DBaseTexture8_METHODS \ #define IDirect3DBaseTexture8_METHODS \
/*** IDirect3DBaseTexture8 methods ***/ \ /*** IDirect3DBaseTexture8 methods ***/ \
ICOM_METHOD1(DWORD,SetLOD, DWORD, LODNew) \ STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; \
ICOM_METHOD (DWORD,GetLOD) \ STDMETHOD_(DWORD,GetLOD)(THIS) PURE; \
ICOM_METHOD (DWORD,GetLevelCount) STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
/*** IDirect3DBaseTexture8 methods ***/ /*** IDirect3DBaseTexture8 methods ***/
#define IDirect3DBaseTexture8_IMETHODS \ #define IDirect3DBaseTexture8_IMETHODS \
@ -573,7 +573,7 @@ ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
IDirect3DResource8_METHODS \ IDirect3DResource8_METHODS \
IDirect3DBaseTexture8_METHODS IDirect3DBaseTexture8_METHODS
ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8) ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DBaseTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DBaseTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -596,14 +596,14 @@ ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
/***************************************************************************** /*****************************************************************************
* IDirect3DCubeTexture8 interface * IDirect3DCubeTexture8 interface
*/ */
#define ICOM_INTERFACE IDirect3DCubeTexture8 #define INTERFACE IDirect3DCubeTexture8
#define IDirect3DCubeTexture8_METHODS \ #define IDirect3DCubeTexture8_METHODS \
/*** IDirect3DCubeTexture8 methods ***/ \ /*** IDirect3DCubeTexture8 methods ***/ \
ICOM_METHOD2(HRESULT,GetLevelDesc,UINT, Level,D3DSURFACE_DESC*, pDesc) \ STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; \
ICOM_METHOD3(HRESULT,GetCubeMapSurface,D3DCUBEMAP_FACES, FaceType,UINT, Level,IDirect3DSurface8**, ppCubeMapSurface) \ STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE; \
ICOM_METHOD5(HRESULT,LockRect,D3DCUBEMAP_FACES, FaceType,UINT, Level,D3DLOCKED_RECT*, pLockedRect,CONST RECT*, pRect,DWORD, Flags) \ STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; \
ICOM_METHOD2(HRESULT,UnlockRect,D3DCUBEMAP_FACES, FaceType,UINT, Level) \ STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE; \
ICOM_METHOD2(HRESULT,AddDirtyRect,D3DCUBEMAP_FACES, FaceType,CONST RECT*, pDirtyRect) \ STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE; \
/*** IDirect3DCubeTexture8 methods ***/ /*** IDirect3DCubeTexture8 methods ***/
#define IDirect3DCubeTexture8_IMETHODS \ #define IDirect3DCubeTexture8_IMETHODS \
@ -612,7 +612,7 @@ ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
IDirect3DBaseTexture8_METHODS \ IDirect3DBaseTexture8_METHODS \
IDirect3DCubeTexture8_METHODS IDirect3DCubeTexture8_METHODS
ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8) ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DCubeTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DCubeTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -641,14 +641,14 @@ ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
/***************************************************************************** /*****************************************************************************
* IDirect3DTexture8 interface * IDirect3DTexture8 interface
*/ */
#define ICOM_INTERFACE IDirect3DTexture8 #define INTERFACE IDirect3DTexture8
#define IDirect3DTexture8_METHODS \ #define IDirect3DTexture8_METHODS \
/*** IDirect3DTexture8 methods ***/ \ /*** IDirect3DTexture8 methods ***/ \
ICOM_METHOD2(HRESULT,GetLevelDesc,UINT, Level,D3DSURFACE_DESC*, pDesc) \ STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; \
ICOM_METHOD2(HRESULT,GetSurfaceLevel,UINT, Level,IDirect3DSurface8**, ppSurfaceLevel) \ STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE; \
ICOM_METHOD4(HRESULT,LockRect,UINT, Level,D3DLOCKED_RECT*, pLockedRect,CONST RECT*, pRect,DWORD, Flags) \ STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; \
ICOM_METHOD1(HRESULT,UnlockRect,UINT, Level) \ STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE; \
ICOM_METHOD1(HRESULT,AddDirtyRect,CONST RECT*, pDirtyRect) \ STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE; \
/*** IDirect3DTexture8 methods ***/ /*** IDirect3DTexture8 methods ***/
#define IDirect3DTexture8_IMETHODS \ #define IDirect3DTexture8_IMETHODS \
@ -657,7 +657,7 @@ ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
IDirect3DBaseTexture8_METHODS \ IDirect3DBaseTexture8_METHODS \
IDirect3DTexture8_METHODS IDirect3DTexture8_METHODS
ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8) ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -686,14 +686,14 @@ ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
/***************************************************************************** /*****************************************************************************
* IDirect3DVolumeTexture8 interface * IDirect3DVolumeTexture8 interface
*/ */
#define ICOM_INTERFACE IDirect3DVolumeTexture8 #define INTERFACE IDirect3DVolumeTexture8
#define IDirect3DVolumeTexture8_METHODS \ #define IDirect3DVolumeTexture8_METHODS \
/*** IDirect3DVolumeTexture8 methods ***/ \ /*** IDirect3DVolumeTexture8 methods ***/ \
ICOM_METHOD2(HRESULT,GetLevelDesc, UINT, Level,D3DVOLUME_DESC*, pDesc) \ STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE; \
ICOM_METHOD2(HRESULT,GetVolumeLevel, UINT, Level,IDirect3DVolume8**, ppVolumeLevel) \ STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE; \
ICOM_METHOD4(HRESULT,LockBox, UINT, Level,D3DLOCKED_BOX*, pLockedVolume,CONST D3DBOX*, pBox,DWORD, Flags) \ STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE; \
ICOM_METHOD1(HRESULT,UnlockBox, UINT, Level) \ STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE; \
ICOM_METHOD1(HRESULT,AddDirtyBox, CONST D3DBOX*, pDirtyBox) STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX * pDirtyBox) PURE;
/*** IDirect3DVolumeTexture8 methods ***/ /*** IDirect3DVolumeTexture8 methods ***/
#define IDirect3DVolumeTexture8_IMETHODS \ #define IDirect3DVolumeTexture8_IMETHODS \
@ -702,7 +702,7 @@ ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
IDirect3DBaseTexture8_METHODS \ IDirect3DBaseTexture8_METHODS \
IDirect3DVolumeTexture8_METHODS IDirect3DVolumeTexture8_METHODS
ICOM_DEFINE(IDirect3DVolumeTexture8,IDirect3DBaseTexture8) ICOM_DEFINE(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirect3DVolumeTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirect3DVolumeTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -55,19 +55,19 @@ typedef struct ID3DXFont ID3DXFont, *LPD3DXFONT;
/***************************************************************************** /*****************************************************************************
* ID3DXBuffer interface * ID3DXBuffer interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE ID3DXBuffer #define INTERFACE ID3DXBuffer
#define ID3DXBuffer_METHODS \ #define ID3DXBuffer_METHODS \
/*** ID3DXBuffer methods ***/ \ /*** ID3DXBuffer methods ***/ \
ICOM_METHOD (LPVOID, GetBufferPointer) \ STDMETHOD_(LPVOID,GetBufferPointer)(THIS) PURE; \
ICOM_METHOD (DWORD, GetBufferSize) STDMETHOD_(DWORD,GetBufferSize)(THIS) PURE;
/*** ID3DXBuffer methods ***/ /*** ID3DXBuffer methods ***/
#define ID3DXBuffer_IMETHODS \ #define ID3DXBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ID3DXBuffer_METHODS ID3DXBuffer_METHODS
ICOM_DEFINE(ID3DXBuffer,IUnknown) ICOM_DEFINE(ID3DXBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define ID3DXBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define ID3DXBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -80,20 +80,20 @@ ICOM_DEFINE(ID3DXBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* ID3DXFont interface * ID3DXFont interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE ID3DXFont #define INTERFACE ID3DXFont
#define ID3DXFont_METHODS \ #define ID3DXFont_METHODS \
/*** ID3DXFont methods ***/ \ /*** ID3DXFont methods ***/ \
ICOM_METHOD (HRESULT, Begin) \ STDMETHOD(Begin)(THIS) PURE; \
ICOM_METHOD (HRESULT, DrawTextA) \ STDMETHOD(DrawTextA)(THIS) PURE; \
ICOM_METHOD (HRESULT, End) STDMETHOD(End)(THIS) PURE;
/*** ID3DXFont methods ***/ /*** ID3DXFont methods ***/
#define ID3DXFont_IMETHODS \ #define ID3DXFont_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ID3DXFont_METHODS ID3DXFont_METHODS
ICOM_DEFINE(ID3DXFont,IUnknown) ICOM_DEFINE(ID3DXFont,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define ID3DXFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define ID3DXFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -1201,17 +1201,17 @@ typedef struct tagDDDEVICEIDENTIFIER2 {
/***************************************************************************** /*****************************************************************************
* IDirectDrawPalette interface * IDirectDrawPalette interface
*/ */
#define ICOM_INTERFACE IDirectDrawPalette #define INTERFACE IDirectDrawPalette
#define IDirectDrawPalette_METHODS \ #define IDirectDrawPalette_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDWORD,lpdwCaps) \ STDMETHOD(GetCaps)(THIS_ LPDWORD lpdwCaps) PURE; \
ICOM_METHOD4(HRESULT,GetEntries, DWORD,dwFlags, DWORD,dwBase, DWORD,dwNumEntries, LPPALETTEENTRY,lpEntries) \ STDMETHOD(GetEntries)(THIS_ DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries) PURE; \
ICOM_METHOD3(HRESULT,Initialize, LPDIRECTDRAW,lpDD, DWORD,dwFlags, LPPALETTEENTRY,lpDDColorTable) \ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags, LPPALETTEENTRY lpDDColorTable) PURE; \
ICOM_METHOD4(HRESULT,SetEntries, DWORD,dwFlags, DWORD,dwStartingEntry, DWORD,dwCount, LPPALETTEENTRY,lpEntries) STDMETHOD(SetEntries)(THIS_ DWORD dwFlags, DWORD dwStartingEntry, DWORD dwCount, LPPALETTEENTRY lpEntries) PURE;
#define IDirectDrawPalette_IMETHODS \ #define IDirectDrawPalette_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawPalette_METHODS IDirectDrawPalette_METHODS
ICOM_DEFINE(IDirectDrawPalette,IUnknown) ICOM_DEFINE(IDirectDrawPalette,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawPalette_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawPalette_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1227,19 +1227,19 @@ ICOM_DEFINE(IDirectDrawPalette,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDrawClipper interface * IDirectDrawClipper interface
*/ */
#define ICOM_INTERFACE IDirectDrawClipper #define INTERFACE IDirectDrawClipper
#define IDirectDrawClipper_METHODS \ #define IDirectDrawClipper_METHODS \
ICOM_METHOD3(HRESULT,GetClipList, LPRECT,lpRect, LPRGNDATA,lpClipList, LPDWORD,lpdwSize) \ STDMETHOD(GetClipList)(THIS_ LPRECT lpRect, LPRGNDATA lpClipList, LPDWORD lpdwSize) PURE; \
ICOM_METHOD1(HRESULT,GetHWnd, HWND*,lphWnd) \ STDMETHOD(GetHWnd)(THIS_ HWND *lphWnd) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, DWORD,dwFlags) \ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,IsClipListChanged, BOOL*,lpbChanged) \ STDMETHOD(IsClipListChanged)(THIS_ BOOL *lpbChanged) PURE; \
ICOM_METHOD2(HRESULT,SetClipList, LPRGNDATA,lpClipList, DWORD,dwFlags) \ STDMETHOD(SetClipList)(THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,SetHWnd, DWORD,dwFlags, HWND,hWnd) STDMETHOD(SetHWnd)(THIS_ DWORD dwFlags, HWND hWnd) PURE;
#define IDirectDrawClipper_IMETHODS \ #define IDirectDrawClipper_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawClipper_METHODS IDirectDrawClipper_METHODS
ICOM_DEFINE(IDirectDrawClipper,IUnknown) ICOM_DEFINE(IDirectDrawClipper,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawClipper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawClipper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1257,33 +1257,33 @@ ICOM_DEFINE(IDirectDrawClipper,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDraw interface * IDirectDraw interface
*/ */
#define ICOM_INTERFACE IDirectDraw #define INTERFACE IDirectDraw
#define IDirectDraw_METHODS \ #define IDirectDraw_METHODS \
ICOM_METHOD (HRESULT,Compact) \ STDMETHOD(Compact)(THIS) PURE; \
ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE*,lplpDDSurface, IUnknown*,pUnkOuter) \ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE,lpDDSurface, LPDIRECTDRAWSURFACE*,lplpDupDDSurface) \ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE; \
ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK,lpEnumModesCallback) \ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE; \
ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
ICOM_METHOD (HRESULT,FlipToGDISurface) \ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC,lpDDSurfaceDesc) \ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE*,lplpGDIDDSurface) \ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE; \
ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
ICOM_METHOD (HRESULT,RestoreDisplayMode) \ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP) \ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP) PURE; \
ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE;
#define IDirectDraw_IMETHODS \ #define IDirectDraw_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDraw_METHODS IDirectDraw_METHODS
ICOM_DEFINE(IDirectDraw,IUnknown) ICOM_DEFINE(IDirectDraw,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDraw_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDraw_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1329,35 +1329,35 @@ ICOM_DEFINE(IDirectDraw,IUnknown)
/* Note: IDirectDraw2 cannot derive from IDirectDraw because the number of /* Note: IDirectDraw2 cannot derive from IDirectDraw because the number of
* arguments of SetDisplayMode has changed ! * arguments of SetDisplayMode has changed !
*/ */
#define ICOM_INTERFACE IDirectDraw2 #define INTERFACE IDirectDraw2
#define IDirectDraw2_METHODS \ #define IDirectDraw2_METHODS \
/*0c*/ ICOM_METHOD (HRESULT,Compact) \ /*0c*/ STDMETHOD(Compact)(THIS) PURE; \
/*10*/ ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \ /*10*/ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/ ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \ /*14*/ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/ ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE*,lplpDDSurface, IUnknown*,pUnkOuter) \ /*18*/ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/ ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE,lpDDSurface, LPDIRECTDRAWSURFACE*,lplpDupDDSurface) \ /*1c*/ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE; \
/*20*/ ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK,lpEnumModesCallback) \ /*20*/ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE; \
/*24*/ ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \ /*24*/ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
/*28*/ ICOM_METHOD (HRESULT,FlipToGDISurface) \ /*28*/ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/ ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \ /*2c*/ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/ ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC,lpDDSurfaceDesc) \ /*30*/ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*34*/ ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \ /*34*/ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/ ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE*,lplpGDIDDSurface) \ /*38*/ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE; \
/*3c*/ ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \ /*3c*/ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/ ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \ /*40*/ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/ ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \ /*44*/ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/ ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \ /*48*/ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/ ICOM_METHOD (HRESULT,RestoreDisplayMode) \ /*4c*/ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/ ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \ /*50*/ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/ ICOM_METHOD5(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP, DWORD,dwRefreshRate, DWORD,dwFlags) \ /*54*/ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/ ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) \ /*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */ \ /* added in v2 */ \
/*5c*/ ICOM_METHOD3(HRESULT,GetAvailableVidMem, LPDDSCAPS,lpDDCaps, LPDWORD,lpdwTotal, LPDWORD,lpdwFree) /*5c*/ STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE;
#define IDirectDraw2_IMETHODS \ #define IDirectDraw2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDraw2_METHODS IDirectDraw2_METHODS
ICOM_DEFINE(IDirectDraw2,IUnknown) ICOM_DEFINE(IDirectDraw2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDraw2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDraw2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1391,40 +1391,40 @@ ICOM_DEFINE(IDirectDraw2,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDraw4 interface * IDirectDraw4 interface
*/ */
#define ICOM_INTERFACE IDirectDraw4 #define INTERFACE IDirectDraw4
#define IDirectDraw4_METHODS \ #define IDirectDraw4_METHODS \
/*0c*/ ICOM_METHOD (HRESULT,Compact) \ /*0c*/ STDMETHOD(Compact)(THIS) PURE; \
/*10*/ ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \ /*10*/ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/ ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \ /*14*/ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/ ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE4*,lplpDDSurface, IUnknown*,pUnkOuter) \ /*18*/ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE4 *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/ ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE4,lpDDSurface, LPDIRECTDRAWSURFACE4*,lplpDupDDSurface) \ /*1c*/ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSurface, LPDIRECTDRAWSURFACE4 *lplpDupDDSurface) PURE; \
/*20*/ ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK2,lpEnumModesCallback) \ /*20*/ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback) PURE; \
/*24*/ ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK2,lpEnumSurfacesCallback) \ /*24*/ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK2 lpEnumSurfacesCallback) PURE; \
/*28*/ ICOM_METHOD (HRESULT,FlipToGDISurface) \ /*28*/ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/ ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \ /*2c*/ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/ ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC2,lpDDSurfaceDesc) \ /*30*/ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
/*34*/ ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \ /*34*/ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/ ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE4*,lplpGDIDDSurface) \ /*38*/ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 *lplpGDIDDSurface) PURE; \
/*3c*/ ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \ /*3c*/ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/ ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \ /*40*/ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/ ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \ /*44*/ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/ ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \ /*48*/ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/ ICOM_METHOD (HRESULT,RestoreDisplayMode) \ /*4c*/ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/ ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \ /*50*/ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/ ICOM_METHOD5(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP, DWORD,dwRefreshRate, DWORD,dwFlags) \ /*54*/ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/ ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) \ /*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */ \ /* added in v2 */ \
/*5c*/ ICOM_METHOD3(HRESULT,GetAvailableVidMem, LPDDSCAPS2,lpDDCaps, LPDWORD,lpdwTotal, LPDWORD,lpdwFree) \ /*5c*/ STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE; \
/* added in v4 */ \ /* added in v4 */ \
ICOM_METHOD2(HRESULT,GetSurfaceFromDC, HDC,hdc, LPDIRECTDRAWSURFACE4*,pSurf) \ /*60*/ STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE4 *pSurf) PURE; \
ICOM_METHOD (HRESULT,RestoreAllSurfaces) \ /*64*/ STDMETHOD(RestoreAllSurfaces)(THIS) PURE; \
ICOM_METHOD (HRESULT,TestCooperativeLevel) \ /*68*/ STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
ICOM_METHOD2(HRESULT,GetDeviceIdentifier, LPDDDEVICEIDENTIFIER,pDDDI, DWORD,dwFlags) /*6c*/ STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER pDDDI, DWORD dwFlags) PURE;
#define IDirectDraw4_IMETHODS \ #define IDirectDraw4_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDraw4_METHODS IDirectDraw4_METHODS
ICOM_DEFINE(IDirectDraw4,IUnknown) ICOM_DEFINE(IDirectDraw4,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDraw4_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDraw4_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1466,43 +1466,43 @@ ICOM_DEFINE(IDirectDraw4,IUnknown)
/* Note: IDirectDraw7 cannot derive from IDirectDraw4; it is even documented /* Note: IDirectDraw7 cannot derive from IDirectDraw4; it is even documented
* as not interchangeable with earlier DirectDraw interfaces. * as not interchangeable with earlier DirectDraw interfaces.
*/ */
#define ICOM_INTERFACE IDirectDraw7 #define INTERFACE IDirectDraw7
#define IDirectDraw7_METHODS \ #define IDirectDraw7_METHODS \
/*0c*/ ICOM_METHOD (HRESULT,Compact) \ /*0c*/ STDMETHOD(Compact)(THIS) PURE; \
/*10*/ ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \ /*10*/ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/ ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \ /*14*/ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/ ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE7*,lplpDDSurface, IUnknown*,pUnkOuter) \ /*18*/ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE7 *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/ ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE7,lpDDSurface, LPDIRECTDRAWSURFACE7*,lplpDupDDSurface) \ /*1c*/ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSurface, LPDIRECTDRAWSURFACE7 *lplpDupDDSurface) PURE; \
/*20*/ ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK2,lpEnumModesCallback) \ /*20*/ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback) PURE; \
/*24*/ ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK7,lpEnumSurfacesCallback) \ /*24*/ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE; \
/*28*/ ICOM_METHOD (HRESULT,FlipToGDISurface) \ /*28*/ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/ ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \ /*2c*/ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/ ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC2,lpDDSurfaceDesc) \ /*30*/ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
/*34*/ ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \ /*34*/ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/ ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE7*,lplpGDIDDSurface) \ /*38*/ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE7 *lplpGDIDDSurface) PURE; \
/*3c*/ ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \ /*3c*/ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/ ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \ /*40*/ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/ ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \ /*44*/ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/ ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \ /*48*/ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/ ICOM_METHOD (HRESULT,RestoreDisplayMode) \ /*4c*/ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/ ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \ /*50*/ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/ ICOM_METHOD5(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP, DWORD,dwRefreshRate, DWORD,dwFlags) \ /*54*/ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/ ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) \ /*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */ \ /* added in v2 */ \
/*5c*/ ICOM_METHOD3(HRESULT,GetAvailableVidMem, LPDDSCAPS2,lpDDCaps, LPDWORD,lpdwTotal, LPDWORD,lpdwFree) \ /*5c*/ STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE; \
/* added in v4 */ \ /* added in v4 */ \
/*60*/ ICOM_METHOD2(HRESULT,GetSurfaceFromDC, HDC,hdc, LPDIRECTDRAWSURFACE7*,pSurf) \ /*60*/ STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE7 *pSurf) PURE; \
/*64*/ ICOM_METHOD (HRESULT,RestoreAllSurfaces) \ /*64*/ STDMETHOD(RestoreAllSurfaces)(THIS) PURE; \
/*68*/ ICOM_METHOD (HRESULT,TestCooperativeLevel) \ /*68*/ STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
/*6c*/ ICOM_METHOD2(HRESULT,GetDeviceIdentifier, LPDDDEVICEIDENTIFIER2,pDDDI, DWORD,dwFlags) \ /*6c*/ STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER2 pDDDI, DWORD dwFlags) PURE; \
/* added in v7 */ \ /* added in v7 */ \
/*70*/ ICOM_METHOD3(HRESULT,StartModeTest, LPSIZE,pModes, DWORD,dwNumModes, DWORD,dwFlags) \ /*70*/ STDMETHOD(StartModeTest)(THIS_ LPSIZE pModes, DWORD dwNumModes, DWORD dwFlags) PURE; \
/*74*/ ICOM_METHOD2(HRESULT,EvaluateMode, DWORD,dwFlags, DWORD *,pTimeout) /*74*/ STDMETHOD(EvaluateMode)(THIS_ DWORD dwFlags, DWORD *pTimeout) PURE;
#define IDirectDraw7_IMETHODS \ #define IDirectDraw7_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDraw7_METHODS IDirectDraw7_METHODS
ICOM_DEFINE(IDirectDraw7,IUnknown) ICOM_DEFINE(IDirectDraw7,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDraw7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDraw7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1544,46 +1544,46 @@ ICOM_DEFINE(IDirectDraw7,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDrawSurface interface * IDirectDrawSurface interface
*/ */
#define ICOM_INTERFACE IDirectDrawSurface #define INTERFACE IDirectDrawSurface
#define IDirectDrawSurface_METHODS \ #define IDirectDrawSurface_METHODS \
/*0c*/ ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE,lpDDSAttachedSurface) \ /*0c*/ STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSAttachedSurface) PURE; \
/*10*/ ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \ /*10*/ STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
/*14*/ ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \ /*14*/ STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
/*18*/ ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \ /*18*/ STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
/*1c*/ ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \ /*1c*/ STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
/*20*/ ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE,lpDDSAttachedSurface) \ /*20*/ STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSAttachedSurface) PURE; \
/*24*/ ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \ /*24*/ STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
/*28*/ ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \ /*28*/ STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
/*2c*/ ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE,lpDDSurfaceTargetOverride, DWORD,dwFlags) \ /*2c*/ STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
/*30*/ ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS,lpDDSCaps, LPDIRECTDRAWSURFACE*,lplpDDAttachedSurface) \ /*30*/ STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE *lplpDDAttachedSurface) PURE; \
/*34*/ ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \ /*34*/ STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
/*38*/ ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS,lpDDSCaps) \ /*38*/ STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
/*3c*/ ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \ /*3c*/ STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
/*40*/ ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ /*40*/ STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
/*44*/ ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \ /*44*/ STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
/*48*/ ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \ /*48*/ STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
/*4c*/ ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \ /*4c*/ STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
/*50*/ ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \ /*50*/ STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
/*54*/ ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \ /*54*/ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
/*58*/ ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC,lpDDSurfaceDesc) \ /*58*/ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*5c*/ ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC,lpDDSurfaceDesc) \ /*5c*/ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*60*/ ICOM_METHOD (HRESULT,IsLost) \ /*60*/ STDMETHOD(IsLost)(THIS) PURE; \
/*64*/ ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \ /*64*/ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
/*68*/ ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \ /*68*/ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
/*6c*/ ICOM_METHOD (HRESULT,Restore) \ /*6c*/ STDMETHOD(Restore)(THIS) PURE; \
/*70*/ ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \ /*70*/ STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
/*74*/ ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ /*74*/ STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
/*78*/ ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \ /*78*/ STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
/*7c*/ ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \ /*7c*/ STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
/*80*/ ICOM_METHOD1(HRESULT,Unlock, LPVOID,lpSurfaceData) \ /*80*/ STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
/*84*/ ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \ /*84*/ STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
/*88*/ ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \ /*88*/ STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
/*8c*/ ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE,lpDDSReference) /*8c*/ STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSReference) PURE;
#define IDirectDrawSurface_IMETHODS \ #define IDirectDrawSurface_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawSurface_METHODS IDirectDrawSurface_METHODS
ICOM_DEFINE(IDirectDrawSurface,IUnknown) ICOM_DEFINE(IDirectDrawSurface,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawSurface_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawSurface_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1631,50 +1631,50 @@ ICOM_DEFINE(IDirectDrawSurface,IUnknown)
/* Cannot inherit from IDirectDrawSurface because the LPDIRECTDRAWSURFACE parameters /* Cannot inherit from IDirectDrawSurface because the LPDIRECTDRAWSURFACE parameters
* have been converted to LPDIRECTDRAWSURFACE2. * have been converted to LPDIRECTDRAWSURFACE2.
*/ */
#define ICOM_INTERFACE IDirectDrawSurface2 #define INTERFACE IDirectDrawSurface2
#define IDirectDrawSurface2_METHODS \ #define IDirectDrawSurface2_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE2,lpDDSAttachedSurface) \ STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2 lpDDSAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \ STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE2,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \ STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \ STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE2,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \ STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE2,lpDDSAttachedSurface) \ STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE2 lpDDSAttachedSurface) PURE; \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \ STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \ STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE2,lpDDSurfaceTargetOverride, DWORD,dwFlags) \ STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS,lpDDSCaps, LPDIRECTDRAWSURFACE2*,lplpDDAttachedSurface) \ STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE2 *lplpDDAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \ STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS,lpDDSCaps) \ STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \ STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \ STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \ STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \ STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \ STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC,lpDDSurfaceDesc) \ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC,lpDDSurfaceDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
ICOM_METHOD (HRESULT,IsLost) \ STDMETHOD(IsLost)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
ICOM_METHOD (HRESULT,Restore) \ STDMETHOD(Restore)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \ STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \ STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \ STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,Unlock, LPVOID,lpSurfaceData) \ STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE2,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \ STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE2 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \ STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE2,lpDDSReference) \ STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE2 lpDDSReference) PURE; \
/* added in v2 */ \ /* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \ STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \ STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE;
#define IDirectDrawSurface2_IMETHODS \ #define IDirectDrawSurface2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawSurface2_METHODS IDirectDrawSurface2_METHODS
ICOM_DEFINE(IDirectDrawSurface2,IUnknown) ICOM_DEFINE(IDirectDrawSurface2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawSurface2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawSurface2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1726,52 +1726,52 @@ ICOM_DEFINE(IDirectDrawSurface2,IUnknown)
/* Cannot inherit from IDirectDrawSurface2 because the LPDIRECTDRAWSURFACE2 parameters /* Cannot inherit from IDirectDrawSurface2 because the LPDIRECTDRAWSURFACE2 parameters
* have been converted to LPDIRECTDRAWSURFACE3. * have been converted to LPDIRECTDRAWSURFACE3.
*/ */
#define ICOM_INTERFACE IDirectDrawSurface3 #define INTERFACE IDirectDrawSurface3
#define IDirectDrawSurface3_METHODS \ #define IDirectDrawSurface3_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE3,lpDDSAttachedSurface) \ STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \ STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE3,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \ STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \ STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE3,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \ STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE3,lpDDSAttachedSurface) \ STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface) PURE; \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \ STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \ STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE3,lpDDSurfaceTargetOverride, DWORD,dwFlags) \ STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS,lpDDSCaps, LPDIRECTDRAWSURFACE3*,lplpDDAttachedSurface) \ STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE3 *lplpDDAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \ STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS,lpDDSCaps) \ STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \ STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \ STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \ STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \ STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \ STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC,lpDDSurfaceDesc) \ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC,lpDDSurfaceDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
ICOM_METHOD (HRESULT,IsLost) \ STDMETHOD(IsLost)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
ICOM_METHOD (HRESULT,Restore) \ STDMETHOD(Restore)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \ STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \ STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \ STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,Unlock, LPVOID,lpSurfaceData) \ STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE3,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \ STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE3 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \ STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE3,lpDDSReference) \ STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE3 lpDDSReference) PURE; \
/* added in v2 */ \ /* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \ STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \ STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) \ STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \ /* added in v3 */ \
ICOM_METHOD2(HRESULT,SetSurfaceDesc, LPDDSURFACEDESC,lpDDSD, DWORD,dwFlags) STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSD, DWORD dwFlags) PURE;
#define IDirectDrawSurface3_IMETHODS \ #define IDirectDrawSurface3_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawSurface3_METHODS IDirectDrawSurface3_METHODS
ICOM_DEFINE(IDirectDrawSurface3,IUnknown) ICOM_DEFINE(IDirectDrawSurface3,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawSurface3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawSurface3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1824,58 +1824,58 @@ ICOM_DEFINE(IDirectDrawSurface3,IUnknown)
*/ */
/* Cannot inherit from IDirectDrawSurface2 because DDSCAPS changed to DDSCAPS2. /* Cannot inherit from IDirectDrawSurface2 because DDSCAPS changed to DDSCAPS2.
*/ */
#define ICOM_INTERFACE IDirectDrawSurface4 #define INTERFACE IDirectDrawSurface4
#define IDirectDrawSurface4_METHODS \ #define IDirectDrawSurface4_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE4,lpDDSAttachedSurface) \ STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \ STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE4,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \ STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \ STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE4,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \ STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE4,lpDDSAttachedSurface) \ STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface) PURE; \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \ STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \ STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE4,lpDDSurfaceTargetOverride, DWORD,dwFlags) \ STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS2,lpDDSCaps, LPDIRECTDRAWSURFACE4*,lplpDDAttachedSurface) \ STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2 lpDDSCaps, LPDIRECTDRAWSURFACE4 *lplpDDAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \ STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS2,lpDDSCaps) \ STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2 lpDDSCaps) PURE; \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \ STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \ STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \ STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \ STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \ STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC2,lpDDSurfaceDesc) \ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC2,lpDDSurfaceDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
ICOM_METHOD (HRESULT,IsLost) \ STDMETHOD(IsLost)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC2,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
ICOM_METHOD (HRESULT,Restore) \ STDMETHOD(Restore)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \ STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \ STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \ STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,Unlock, LPRECT,lpSurfaceData) \ STDMETHOD(Unlock)(THIS_ LPRECT lpSurfaceData) PURE; \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE4,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \ STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE4 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \ STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE4,lpDDSReference) \ STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE4 lpDDSReference) PURE; \
/* added in v2 */ \ /* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \ STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \ STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) \ STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \ /* added in v3 */ \
ICOM_METHOD2(HRESULT,SetSurfaceDesc, LPDDSURFACEDESC2,lpDDSD, DWORD,dwFlags) \ STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSD, DWORD dwFlags) PURE; \
/* added in v4 */ \ /* added in v4 */ \
ICOM_METHOD4(HRESULT,SetPrivateData, REFGUID,tag, LPVOID,pData, DWORD,cbSize, DWORD,dwFlags) \ STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,GetPrivateData, REFGUID,tag, LPVOID,pBuffer, LPDWORD,pcbBufferSize) \ STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE; \
ICOM_METHOD1(HRESULT,FreePrivateData, REFGUID,tag) \ STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE; \
ICOM_METHOD1(HRESULT,GetUniquenessValue, LPDWORD,pValue) \ STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE; \
ICOM_METHOD (HRESULT,ChangeUniquenessValue) STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
#define IDirectDrawSurface4_IMETHODS \ #define IDirectDrawSurface4_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawSurface4_METHODS IDirectDrawSurface4_METHODS
ICOM_DEFINE(IDirectDrawSurface4,IUnknown) ICOM_DEFINE(IDirectDrawSurface4,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawSurface4_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawSurface4_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1932,63 +1932,63 @@ ICOM_DEFINE(IDirectDrawSurface4,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDrawSurface7 interface * IDirectDrawSurface7 interface
*/ */
#define ICOM_INTERFACE IDirectDrawSurface7 #define INTERFACE IDirectDrawSurface7
#define IDirectDrawSurface7_METHODS \ #define IDirectDrawSurface7_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE7,lpDDSAttachedSurface) \ STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \ STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE7,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \ STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \ STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE7,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \ STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE7,lpDDSAttachedSurface) \ STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE7 lpDDSAttachedSurface) PURE; \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK7,lpEnumSurfacesCallback) \ STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE; \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK7,lpfnCallback) \ STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpfnCallback) PURE; \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE7,lpDDSurfaceTargetOverride, DWORD,dwFlags) \ STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS2,lpDDSCaps, LPDIRECTDRAWSURFACE7*,lplpDDAttachedSurface) \ STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2 lpDDSCaps, LPDIRECTDRAWSURFACE7 *lplpDDAttachedSurface) PURE; \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \ STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS2,lpDDSCaps) \ STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2 lpDDSCaps) PURE; \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \ STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \ STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \ STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \ STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \ STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC2,lpDDSurfaceDesc) \ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC2,lpDDSurfaceDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
ICOM_METHOD (HRESULT,IsLost) \ STDMETHOD(IsLost)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC2,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
ICOM_METHOD (HRESULT,Restore) \ STDMETHOD(Restore)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \ STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \ STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \ STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \ STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
ICOM_METHOD1(HRESULT,Unlock, LPRECT,lpSurfaceData) \ STDMETHOD(Unlock)(THIS_ LPRECT lpSurfaceData) PURE; \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE7,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \ STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE7 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \ STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE7,lpDDSReference) \ STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE7 lpDDSReference) PURE; \
/* added in v2 */ \ /* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \ STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \ STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) \ STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \ /* added in v3 */ \
ICOM_METHOD2(HRESULT,SetSurfaceDesc, LPDDSURFACEDESC2,lpDDSD, DWORD,dwFlags) \ STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSD, DWORD dwFlags) PURE; \
/* added in v4 */ \ /* added in v4 */ \
ICOM_METHOD4(HRESULT,SetPrivateData, REFGUID,tag, LPVOID,pData, DWORD,cbSize, DWORD,dwFlags) \ STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,GetPrivateData, REFGUID,tag, LPVOID,pBuffer, LPDWORD,pcbBufferSize) \ STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE; \
ICOM_METHOD1(HRESULT,FreePrivateData, REFGUID,tag) \ STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE; \
ICOM_METHOD1(HRESULT,GetUniquenessValue, LPDWORD,pValue) \ STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE; \
ICOM_METHOD (HRESULT,ChangeUniquenessValue) \ STDMETHOD(ChangeUniquenessValue)(THIS) PURE; \
/* added in v7 */ \ /* added in v7 */ \
ICOM_METHOD1(HRESULT,SetPriority, DWORD,prio) \ STDMETHOD(SetPriority)(THIS_ DWORD prio) PURE; \
ICOM_METHOD1(HRESULT,GetPriority, LPDWORD,prio) \ STDMETHOD(GetPriority)(THIS_ LPDWORD prio) PURE; \
ICOM_METHOD1(HRESULT,SetLOD, DWORD,lod) \ STDMETHOD(SetLOD)(THIS_ DWORD lod) PURE; \
ICOM_METHOD1(HRESULT,GetLOD, LPDWORD,lod) STDMETHOD(GetLOD)(THIS_ LPDWORD lod) PURE;
#define IDirectDrawSurface7_IMETHODS \ #define IDirectDrawSurface7_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawSurface7_METHODS IDirectDrawSurface7_METHODS
ICOM_DEFINE(IDirectDrawSurface7,IUnknown) ICOM_DEFINE(IDirectDrawSurface7,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawSurface7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawSurface7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -2049,15 +2049,15 @@ ICOM_DEFINE(IDirectDrawSurface7,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDrawColorControl interface * IDirectDrawColorControl interface
*/ */
#define ICOM_INTERFACE IDirectDrawColorControl #define INTERFACE IDirectDrawColorControl
#define IDirectDrawColorControl_METHODS \ #define IDirectDrawColorControl_METHODS \
ICOM_METHOD1(HRESULT,GetColorControls, LPDDCOLORCONTROL,lpColorControl) \ STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE; \
ICOM_METHOD1(HRESULT,SetColorControls, LPDDCOLORCONTROL,lpColorControl) STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE;
#define IDirectDrawColorControl_IMETHODS \ #define IDirectDrawColorControl_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawColorControl_METHODS IDirectDrawColorControl_METHODS
ICOM_DEFINE(IDirectDrawColorControl,IUnknown) ICOM_DEFINE(IDirectDrawColorControl,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawColorControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawColorControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -2070,15 +2070,15 @@ ICOM_DEFINE(IDirectDrawColorControl,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectDrawGammaControl interface * IDirectDrawGammaControl interface
*/ */
#define ICOM_INTERFACE IDirectDrawGammaControl #define INTERFACE IDirectDrawGammaControl
#define IDirectDrawGammaControl_METHODS \ #define IDirectDrawGammaControl_METHODS \
ICOM_METHOD2(HRESULT,GetGammaRamp, DWORD,dwFlags, LPDDGAMMARAMP,lpGammaRamp) \ STDMETHOD(GetGammaRamp)(THIS_ DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp) PURE; \
ICOM_METHOD2(HRESULT,SetGammaRamp, DWORD,dwFlags, LPDDGAMMARAMP,lpGammaRamp) STDMETHOD(SetGammaRamp)(THIS_ DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp) PURE;
#define IDirectDrawGammaControl_IMETHODS \ #define IDirectDrawGammaControl_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectDrawGammaControl_METHODS IDirectDrawGammaControl_METHODS
ICOM_DEFINE(IDirectDrawGammaControl,IUnknown) ICOM_DEFINE(IDirectDrawGammaControl,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectDrawGammaControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectDrawGammaControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -1048,23 +1048,23 @@ DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFOHEADER)
/***************************************************************************** /*****************************************************************************
* IDirectInputEffect interface * IDirectInputEffect interface
*/ */
#define ICOM_INTERFACE IDirectInputEffect #define INTERFACE IDirectInputEffect
#define IDirectInputEffect_METHODS \ #define IDirectInputEffect_METHODS \
ICOM_METHOD3(HRESULT,Initialize, HINSTANCE,, DWORD,, REFGUID,) \ STDMETHOD(Initialize)(THIS_ HINSTANCE, DWORD, REFGUID) PURE; \
ICOM_METHOD1(HRESULT,GetEffectGuid, LPGUID,) \ STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE; \
ICOM_METHOD2(HRESULT,GetParameters, LPDIEFFECT,, DWORD,) \ STDMETHOD(GetParameters)(THIS_ LPDIEFFECT, DWORD) PURE; \
ICOM_METHOD2(HRESULT,SetParameters, LPCDIEFFECT,, DWORD,) \ STDMETHOD(SetParameters)(THIS_ LPCDIEFFECT, DWORD) PURE; \
ICOM_METHOD2(HRESULT,Start, DWORD,, DWORD,) \ STDMETHOD(Start)(THIS_ DWORD, DWORD) PURE; \
ICOM_METHOD (HRESULT,Stop) \ STDMETHOD(Stop)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetEffectStatus, LPDWORD,) \ STDMETHOD(GetEffectStatus)(THIS_ LPDWORD) PURE; \
ICOM_METHOD (HRESULT,Download) \ STDMETHOD(Download)(THIS) PURE; \
ICOM_METHOD (HRESULT,Unload) \ STDMETHOD(Unload)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Escape, LPDIEFFESCAPE,) STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
#define IDirectInputEffect_IMETHODS \ #define IDirectInputEffect_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectInputEffect_METHODS IDirectInputEffect_METHODS
ICOM_DEFINE(IDirectInputEffect,IUnknown) ICOM_DEFINE(IDirectInputEffect,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInputEffect_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInputEffect_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1086,28 +1086,28 @@ ICOM_DEFINE(IDirectInputEffect,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectInputDeviceA interface * IDirectInputDeviceA interface
*/ */
#define ICOM_INTERFACE IDirectInputDeviceA #define INTERFACE IDirectInputDeviceA
#define IDirectInputDeviceA_METHODS \ #define IDirectInputDeviceA_METHODS \
ICOM_METHOD1(HRESULT,GetCapabilities, LPDIDEVCAPS,lpDIDevCaps) \ STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE; \
ICOM_METHOD3(HRESULT,EnumObjects, LPDIENUMDEVICEOBJECTSCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \ STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetProperty, REFGUID,rguidProp, LPDIPROPHEADER,pdiph) \ STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE; \
ICOM_METHOD2(HRESULT,SetProperty, REFGUID,rguidProp, LPCDIPROPHEADER,pdiph) \ STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE; \
ICOM_METHOD (HRESULT,Acquire) \ STDMETHOD(Acquire)(THIS) PURE; \
ICOM_METHOD (HRESULT,Unacquire) \ STDMETHOD(Unacquire)(THIS) PURE; \
ICOM_METHOD2(HRESULT,GetDeviceState, DWORD,cbData, LPVOID,lpvData) \ STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE; \
ICOM_METHOD4(HRESULT,GetDeviceData, DWORD,cbObjectData, LPDIDEVICEOBJECTDATA,rgdod, LPDWORD,pdwInOut, DWORD,dwFlags) \ STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,SetDataFormat, LPCDIDATAFORMAT,lpdf) \ STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE; \
ICOM_METHOD1(HRESULT,SetEventNotification, HANDLE,hEvent) \ STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE; \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hwnd, DWORD,dwFlags) \ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,GetObjectInfo, LPDIDEVICEOBJECTINSTANCEA,pdidoi, DWORD,dwObj, DWORD,dwHow) \ STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE; \
ICOM_METHOD1(HRESULT,GetDeviceInfo, LPDIDEVICEINSTANCEA,pdidi) \ STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE; \
ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion, REFGUID,rguid) STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
#define IDirectInputDeviceA_IMETHODS \ #define IDirectInputDeviceA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectInputDeviceA_METHODS IDirectInputDeviceA_METHODS
ICOM_DEFINE(IDirectInputDeviceA,IUnknown) ICOM_DEFINE(IDirectInputDeviceA,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInputDevice_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInputDevice_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1134,22 +1134,22 @@ ICOM_DEFINE(IDirectInputDeviceA,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectInputDevice2A interface * IDirectInputDevice2A interface
*/ */
#define ICOM_INTERFACE IDirectInputDevice2A #define INTERFACE IDirectInputDevice2A
#define IDirectInputDevice2A_METHODS \ #define IDirectInputDevice2A_METHODS \
ICOM_METHOD4(HRESULT,CreateEffect, REFGUID,rguid, LPCDIEFFECT,lpeff, LPDIRECTINPUTEFFECT*,ppdeff, LPUNKNOWN,punkOuter) \ STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE; \
ICOM_METHOD3(HRESULT,EnumEffects, LPDIENUMEFFECTSCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwEffType) \ STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwEffType) PURE; \
ICOM_METHOD2(HRESULT,GetEffectInfo, LPDIEFFECTINFOA,pdei, REFGUID,rguid) \ STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA pdei, REFGUID rguid) PURE; \
ICOM_METHOD1(HRESULT,GetForceFeedbackState, LPDWORD,pdwOut) \ STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE; \
ICOM_METHOD1(HRESULT,SendForceFeedbackCommand, DWORD,dwFlags) \ STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,EnumCreatedEffectObjects, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK,lpCallback, LPVOID,pvRef, DWORD,fl) \ STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE; \
ICOM_METHOD1(HRESULT,Escape, LPDIEFFESCAPE,pesc) \ STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE; \
ICOM_METHOD (HRESULT,Poll) \ STDMETHOD(Poll)(THIS) PURE; \
ICOM_METHOD4(HRESULT,SendDeviceData, DWORD,cbObjectData, LPCDIDEVICEOBJECTDATA,rgdod, LPDWORD,pdwInOut, DWORD,fl) STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
#define IDirectInputDevice2A_IMETHODS \ #define IDirectInputDevice2A_IMETHODS \
IDirectInputDeviceA_IMETHODS \ IDirectInputDeviceA_IMETHODS \
IDirectInputDevice2A_METHODS IDirectInputDevice2A_METHODS
ICOM_DEFINE(IDirectInputDevice2A,IDirectInputDeviceA) ICOM_DEFINE(IDirectInputDevice2A,IDirectInputDeviceA)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInputDevice2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInputDevice2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1186,15 +1186,15 @@ ICOM_DEFINE(IDirectInputDevice2A,IDirectInputDeviceA)
/***************************************************************************** /*****************************************************************************
* IDirectInputDevice7A interface * IDirectInputDevice7A interface
*/ */
#define ICOM_INTERFACE IDirectInputDevice7A #define INTERFACE IDirectInputDevice7A
#define IDirectInputDevice7A_METHODS \ #define IDirectInputDevice7A_METHODS \
ICOM_METHOD4(HRESULT,EnumEffectsInFile,LPCSTR,lpszFileName,LPDIENUMEFFECTSINFILECALLBACK,pec,LPVOID,pvRef,DWORD,dwFlags) \ STDMETHOD(EnumEffectsInFile)(THIS_ LPCSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,WriteEffectToFile,LPCSTR,lpszFileName,DWORD,dwEntries,LPDIFILEEFFECT,rgDiFileEft,DWORD,dwFlags) STDMETHOD(WriteEffectToFile)(THIS_ LPCSTR lpszFileName,DWORD dwEntries,LPDIFILEEFFECT rgDiFileEft,DWORD dwFlags) PURE;
#define IDirectInputDevice7A_IMETHODS \ #define IDirectInputDevice7A_IMETHODS \
IDirectInputDevice2A_IMETHODS \ IDirectInputDevice2A_IMETHODS \
IDirectInputDevice7A_METHODS IDirectInputDevice7A_METHODS
ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A) ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInputDevice7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInputDevice7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1235,16 +1235,16 @@ ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A)
/***************************************************************************** /*****************************************************************************
* IDirectInputDevice8A interface * IDirectInputDevice8A interface
*/ */
#define ICOM_INTERFACE IDirectInputDevice8A #define INTERFACE IDirectInputDevice8A
#define IDirectInputDevice8A_METHODS \ #define IDirectInputDevice8A_METHODS \
ICOM_METHOD3(HRESULT,BuildActionMap, LPDIACTIONFORMATA,lpdiaf, LPCSTR,lpszUserName, DWORD,dwFlags) \ STDMETHOD(BuildActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,SetActionMap, LPDIACTIONFORMATA,lpdiaf, LPCSTR,lpszUserName, DWORD,dwFlags) \ STDMETHOD(SetActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetImageInfo, LPDIDEVICEIMAGEINFOHEADERA,lpdiDevImageInfoHeader) STDMETHOD(GetImageInfo)(THIS_ LPDIDEVICEIMAGEINFOHEADERA lpdiDevImageInfoHeader) PURE;
#define IDirectInputDevice8A_IMETHODS \ #define IDirectInputDevice8A_IMETHODS \
IDirectInputDevice7A_IMETHODS \ IDirectInputDevice7A_IMETHODS \
IDirectInputDevice8A_METHODS IDirectInputDevice8A_METHODS
ICOM_DEFINE(IDirectInputDevice8A,IDirectInputDevice7A) ICOM_DEFINE(IDirectInputDevice8A,IDirectInputDevice7A)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInputDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInputDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1324,18 +1324,18 @@ extern const DIDATAFORMAT c_dfDIJoystick2;
/***************************************************************************** /*****************************************************************************
* IDirectInputA interface * IDirectInputA interface
*/ */
#define ICOM_INTERFACE IDirectInputA #define INTERFACE IDirectInputA
#define IDirectInputA_METHODS \ #define IDirectInputA_METHODS \
ICOM_METHOD3(HRESULT,CreateDevice, REFGUID,rguid, LPDIRECTINPUTDEVICEA*,lplpDirectInputDevice, LPUNKNOWN,pUnkOuter) \ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEA *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
ICOM_METHOD4(HRESULT,EnumDevices, DWORD,dwDevType, LPDIENUMDEVICESCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetDeviceStatus, REFGUID,rguidInstance) \ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion) STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
#define IDirectInputA_IMETHODS \ #define IDirectInputA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectInputA_METHODS IDirectInputA_METHODS
ICOM_DEFINE(IDirectInputA,IUnknown) ICOM_DEFINE(IDirectInputA,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInputA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInputA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1351,14 +1351,14 @@ ICOM_DEFINE(IDirectInputA,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectInput2A interface * IDirectInput2A interface
*/ */
#define ICOM_INTERFACE IDirectInput2A #define INTERFACE IDirectInput2A
#define IDirectInput2A_METHODS \ #define IDirectInput2A_METHODS \
ICOM_METHOD3(HRESULT,FindDevice, REFGUID,rguid, LPCSTR,pszName, LPGUID,pguidInstance) STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE;
#define IDirectInput2A_IMETHODS \ #define IDirectInput2A_IMETHODS \
IDirectInputA_IMETHODS \ IDirectInputA_IMETHODS \
IDirectInput2A_METHODS IDirectInput2A_METHODS
ICOM_DEFINE(IDirectInput2A,IDirectInputA) ICOM_DEFINE(IDirectInput2A,IDirectInputA)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInput2A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInput2A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1377,14 +1377,14 @@ ICOM_DEFINE(IDirectInput2A,IDirectInputA)
/***************************************************************************** /*****************************************************************************
* IDirectInput7A interface * IDirectInput7A interface
*/ */
#define ICOM_INTERFACE IDirectInput7A #define INTERFACE IDirectInput7A
#define IDirectInput7A_METHODS \ #define IDirectInput7A_METHODS \
ICOM_METHOD4(HRESULT,CreateDeviceEx, REFGUID,rguid, REFIID,riid, LPVOID*,pvOut, LPUNKNOWN,lpUnknownOuter) STDMETHOD(CreateDeviceEx)(THIS_ REFGUID rguid, REFIID riid, LPVOID *pvOut, LPUNKNOWN lpUnknownOuter) PURE;
#define IDirectInput7A_IMETHODS \ #define IDirectInput7A_IMETHODS \
IDirectInput2A_IMETHODS \ IDirectInput2A_IMETHODS \
IDirectInput7A_METHODS IDirectInput7A_METHODS
ICOM_DEFINE(IDirectInput7A,IDirectInput2A) ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInput7A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInput7A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1406,21 +1406,21 @@ ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
/***************************************************************************** /*****************************************************************************
* IDirectInput8A interface * IDirectInput8A interface
*/ */
#define ICOM_INTERFACE IDirectInput8A #define INTERFACE IDirectInput8A
#define IDirectInput8A_METHODS \ #define IDirectInput8A_METHODS \
ICOM_METHOD3(HRESULT,CreateDevice, REFGUID,rguid, LPDIRECTINPUTDEVICE8A*,lplpDirectInputDevice, LPUNKNOWN,pUnkOuter) \ STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICE8A *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
ICOM_METHOD4(HRESULT,EnumDevices, DWORD,dwDevType, LPDIENUMDEVICESCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \ STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetDeviceStatus, REFGUID,rguidInstance) \ STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \ STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion) \ STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE; \
ICOM_METHOD3(HRESULT,FindDevice, REFGUID,rguid, LPCSTR,pszName, LPGUID,pguidInstance) \ STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE; \
ICOM_METHOD5(HRESULT,EnumDevicesBySemantics, LPCSTR,ptszUserName, LPDIACTIONFORMATA,lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \ STDMETHOD(EnumDevicesBySemantics)(THIS_ LPCSTR ptszUserName, LPDIACTIONFORMATA lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,ConfigureDevices,LPDICONFIGUREDEVICESCALLBACK,lpdiCallback, LPDICONFIGUREDEVICESPARAMSA,lpdiCDParams, DWORD,dwFlags, LPVOID,pvRefData) STDMETHOD(ConfigureDevices)(THIS_ LPDICONFIGUREDEVICESCALLBACK lpdiCallback, LPDICONFIGUREDEVICESPARAMSA lpdiCDParams, DWORD dwFlags, LPVOID pvRefData) PURE;
#define IDirectInput8A_IMETHODS \ #define IDirectInput8A_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectInput8A_METHODS IDirectInput8A_METHODS
ICOM_DEFINE(IDirectInput8A,IUnknown) ICOM_DEFINE(IDirectInput8A,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectInput8A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectInput8A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -64,23 +64,23 @@ DEFINE_GUID(CLSID_DirectMusicWaveTrack, 0xeed36461,0x9ea5,0x11d3,0x9b,0xd1,
/***************************************************************************** /*****************************************************************************
* IDirectMusicTool interface * IDirectMusicTool interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicTool #define INTERFACE IDirectMusicTool
#define IDirectMusicTool_METHODS \ #define IDirectMusicTool_METHODS \
/*** IDirectMusicTool methods ***/ \ /*** IDirectMusicTool methods ***/ \
ICOM_METHOD1(HRESULT, Init, IDirectMusicGraph*,pGraph) \ STDMETHOD(Init)(THIS_ IDirectMusicGraph *pGraph) PURE; \
ICOM_METHOD1(HRESULT, GetMsgDeliveryType, DWORD*,pdwDeliveryType) \ STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE; \
ICOM_METHOD1(HRESULT, GetMediaTypeArraySize, DWORD*,pdwNumElements) \ STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE; \
ICOM_METHOD2(HRESULT, GetMediaTypes, DWORD**,padwMediaTypes, DWORD,dwNumElements) \ STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE; \
ICOM_METHOD2(HRESULT, ProcessPMsg, IDirectMusicPerformance*,pPerf, DMUS_PMSG*,pPMSG) \ STDMETHOD(ProcessPMsg)(THIS_ IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE; \
ICOM_METHOD3(HRESULT, Flush, IDirectMusicPerformance*,pPerf, DMUS_PMSG*,pPMSG, REFERENCE_TIME,rtTime) STDMETHOD(Flush)(THIS_ IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG, REFERENCE_TIME rtTime) PURE;
/*** IDirectMusicTool methods ***/ /*** IDirectMusicTool methods ***/
#define IDirectMusicTool_IMETHODS \ #define IDirectMusicTool_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicTool_METHODS IDirectMusicTool_METHODS
ICOM_DEFINE(IDirectMusicTool,IUnknown) ICOM_DEFINE(IDirectMusicTool,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicTool_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicTool_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -98,11 +98,11 @@ ICOM_DEFINE(IDirectMusicTool,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicTool8 interface * IDirectMusicTool8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicTool8 #define INTERFACE IDirectMusicTool8
#define IDirectMusicTool8_METHODS \ #define IDirectMusicTool8_METHODS \
/*** IDirectMusicTool8 methods ***/ \ /*** IDirectMusicTool8 methods ***/ \
ICOM_METHOD1(HRESULT, Clone, IDirectMusicTool**,ppTool) STDMETHOD(Clone)(THIS_ IDirectMusicTool **ppTool) PURE;
/*** IDirectMusicTool8 methods ***/ /*** IDirectMusicTool8 methods ***/
#define IDirectMusicTool8_IMETHODS \ #define IDirectMusicTool8_IMETHODS \
@ -110,7 +110,7 @@ ICOM_DEFINE(IDirectMusicTool,IUnknown)
IDirectMusicTool_METHODS \ IDirectMusicTool_METHODS \
IDirectMusicTool8_METHODS IDirectMusicTool8_METHODS
ICOM_DEFINE(IDirectMusicTool8,IDirectMusicTool) ICOM_DEFINE(IDirectMusicTool8,IDirectMusicTool)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicTool8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicTool8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -149,27 +149,27 @@ typedef enum enumDMUS_TRACKF_FLAGS
/***************************************************************************** /*****************************************************************************
* IDirectMusicTrack interface * IDirectMusicTrack interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicTrack #define INTERFACE IDirectMusicTrack
#define IDirectMusicTrack_METHODS \ #define IDirectMusicTrack_METHODS \
/*** IDirectMusicTrack methods ***/ \ /*** IDirectMusicTrack methods ***/ \
ICOM_METHOD1(HRESULT, Init, IDirectMusicSegment*,pSegment) \ STDMETHOD(Init)(THIS_ IDirectMusicSegment *pSegment) PURE; \
ICOM_METHOD5(HRESULT, InitPlay, IDirectMusicSegmentState*,pSegmentState, IDirectMusicPerformance*,pPerformance, void**,ppStateData, DWORD,dwVirtualTrackID, DWORD,dwFlags) \ STDMETHOD(InitPlay)(THIS_ IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT, EndPlay, void*,pStateData) \ STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE; \
ICOM_METHOD8(HRESULT, Play, void*,pStateData, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd, MUSIC_TIME,mtOffset, DWORD,dwFlags, IDirectMusicPerformance*,pPerf, IDirectMusicSegmentState*,pSegSt, DWORD,dwVirtualID) \ STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE; \
ICOM_METHOD4(HRESULT, GetParam, REFGUID,rguidType, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \ STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
ICOM_METHOD3(HRESULT, SetParam, REFGUID,rguidType, MUSIC_TIME,mtTime, void*,pParam) \ STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE; \
ICOM_METHOD1(HRESULT, IsParamSupported, REFGUID,rguidType) \ STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE; \
ICOM_METHOD1(HRESULT, AddNotificationType, REFGUID,rguidNotificationType) \ STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
ICOM_METHOD1(HRESULT, RemoveNotificationType, REFGUID,rguidNotificationType) \ STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
ICOM_METHOD3(HRESULT, Clone, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd, IDirectMusicTrack**,ppTrack) STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack) PURE;
/*** IDirectMusicTrack methods ***/ /*** IDirectMusicTrack methods ***/
#define IDirectMusicTrack_IMETHODS \ #define IDirectMusicTrack_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicTrack_METHODS IDirectMusicTrack_METHODS
ICOM_DEFINE(IDirectMusicTrack,IUnknown) ICOM_DEFINE(IDirectMusicTrack,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicTrack_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicTrack_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -191,15 +191,15 @@ ICOM_DEFINE(IDirectMusicTrack,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicTrack8 interface * IDirectMusicTrack8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicTrack8 #define INTERFACE IDirectMusicTrack8
#define IDirectMusicTrack8_METHODS \ #define IDirectMusicTrack8_METHODS \
/*** IDirectMusicTrack8 methods ***/ \ /*** IDirectMusicTrack8 methods ***/ \
ICOM_METHOD8(HRESULT, PlayEx, void*,pStateData, REFERENCE_TIME,rtStart, REFERENCE_TIME,rtEnd, REFERENCE_TIME,rtOffset, DWORD,dwFlags, IDirectMusicPerformance*,pPerf, IDirectMusicSegmentState*,pSegSt, DWORD,dwVirtualID) \ STDMETHOD(PlayEx)(THIS_ void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE; \
ICOM_METHOD6(HRESULT, GetParamEx, REFGUID,rguidType, REFERENCE_TIME,rtTime, REFERENCE_TIME*,prtNext, void*,pParam, void*,pStateData, DWORD,dwFlags) \ STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT, SetParamEx, REFGUID,rguidType, REFERENCE_TIME,rtTime, void*,pParam, void*,pStateData, DWORD,dwFlags) \ STDMETHOD(SetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT, Compose, IUnknown*,pContext, DWORD,dwTrackGroup, IDirectMusicTrack**,ppResultTrack) \ STDMETHOD(Compose)(THIS_ IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE; \
ICOM_METHOD5(HRESULT, Join, IDirectMusicTrack*,pNewTrack, MUSIC_TIME,mtJoin, IUnknown*,pContext, DWORD,dwTrackGroup, IDirectMusicTrack**,ppResultTrack) STDMETHOD(Join)(THIS_ IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE;
/*** IDirectMusicTrack8 methods ***/ /*** IDirectMusicTrack8 methods ***/
#define IDirectMusicTrack8_IMETHODS \ #define IDirectMusicTrack8_IMETHODS \
@ -208,7 +208,7 @@ ICOM_DEFINE(IDirectMusicTrack,IUnknown)
IDirectMusicTrack8_METHODS IDirectMusicTrack8_METHODS
ICOM_DEFINE(IDirectMusicTrack8,IDirectMusicTrack) ICOM_DEFINE(IDirectMusicTrack8,IDirectMusicTrack)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicTrack8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicTrack8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -285,26 +285,26 @@ typedef struct _DMUS_CLOCKINFO8
/***************************************************************************** /*****************************************************************************
* IDirectMusic interface * IDirectMusic interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusic #define INTERFACE IDirectMusic
#define IDirectMusic_METHODS \ #define IDirectMusic_METHODS \
/*** IDirectMusic methods ***/ \ /*** IDirectMusic methods ***/ \
ICOM_METHOD2(HRESULT, EnumPort, DWORD,dwIndex, LPDMUS_PORTCAPS,pPortCaps) \ STDMETHOD(EnumPort)(THIS_ DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) PURE; \
ICOM_METHOD3(HRESULT, CreateMusicBuffer, LPDMUS_BUFFERDESC,pBufferDesc, LPDIRECTMUSICBUFFER**,ppBuffer, LPUNKNOWN,pUnkOuter) \ STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER **ppBuffer, LPUNKNOWN pUnkOuter) PURE; \
ICOM_METHOD4(HRESULT, CreatePort, REFCLSID,rclsidPort, LPDMUS_PORTPARAMS,pPortParams, LPDIRECTMUSICPORT*,ppPort, LPUNKNOWN,pUnkOuter) \ STDMETHOD(CreatePort)(THIS_ REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT *ppPort, LPUNKNOWN pUnkOuter) PURE; \
ICOM_METHOD2(HRESULT, EnumMasterClock, DWORD,dwIndex, LPDMUS_CLOCKINFO,lpClockInfo) \ STDMETHOD(EnumMasterClock)(THIS_ DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) PURE; \
ICOM_METHOD2(HRESULT, GetMasterClock, LPGUID,pguidClock, IReferenceClock**,ppReferenceClock) \ STDMETHOD(GetMasterClock)(THIS_ LPGUID pguidClock, IReferenceClock **ppReferenceClock) PURE; \
ICOM_METHOD1(HRESULT, SetMasterClock, REFGUID,rguidClock) \ STDMETHOD(SetMasterClock)(THIS_ REFGUID rguidClock) PURE; \
ICOM_METHOD1(HRESULT, Activate, BOOL,fEnable) \ STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
ICOM_METHOD1(HRESULT, GetDefaultPort, LPGUID,pguidPort) \ STDMETHOD(GetDefaultPort)(THIS_ LPGUID pguidPort) PURE; \
ICOM_METHOD2(HRESULT, SetDirectSound, LPDIRECTSOUND,pDirectSound, HWND,hWnd) STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, HWND hWnd) PURE;
/*** IDirectMusic methods ***/ /*** IDirectMusic methods ***/
#define IDirectMusic_IMETHODS \ #define IDirectMusic_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusic_METHODS IDirectMusic_METHODS
ICOM_DEFINE(IDirectMusic,IUnknown) ICOM_DEFINE(IDirectMusic,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusic_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusic_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -325,11 +325,11 @@ ICOM_DEFINE(IDirectMusic,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusic8 interface * IDirectMusic8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusic8 #define INTERFACE IDirectMusic8
#define IDirectMusic8_METHODS \ #define IDirectMusic8_METHODS \
/*** IDirectMusic8 methods ***/ \ /*** IDirectMusic8 methods ***/ \
ICOM_METHOD1(HRESULT, SetExternalMasterClock, IReferenceClock*,pClock) STDMETHOD(SetExternalMasterClock)(THIS_ IReferenceClock *pClock) PURE;
/*** IDirectMusic8 methods ***/ /*** IDirectMusic8 methods ***/
#define IDirectMusic8_IMETHODS \ #define IDirectMusic8_IMETHODS \
@ -337,7 +337,7 @@ ICOM_DEFINE(IDirectMusic,IUnknown)
IDirectMusic_METHODS \ IDirectMusic_METHODS \
IDirectMusic8_METHODS IDirectMusic8_METHODS
ICOM_DEFINE(IDirectMusic8,IDirectMusic) ICOM_DEFINE(IDirectMusic8,IDirectMusic)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusic8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusic8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -360,30 +360,30 @@ ICOM_DEFINE(IDirectMusic8,IDirectMusic)
/***************************************************************************** /*****************************************************************************
* IDirectMusicBuffer interface * IDirectMusicBuffer interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicBuffer #define INTERFACE IDirectMusicBuffer
#define IDirectMusicBuffer_METHODS \ #define IDirectMusicBuffer_METHODS \
/*** IDirectMusicBuffer methods ***/ \ /*** IDirectMusicBuffer methods ***/ \
ICOM_METHOD (HRESULT, Flush) \ STDMETHOD(Flush)(THIS) PURE; \
ICOM_METHOD1(HRESULT, TotalTime, LPREFERENCE_TIME,prtTime) \ STDMETHOD(TotalTime)(THIS_ LPREFERENCE_TIME prtTime) PURE; \
ICOM_METHOD3(HRESULT, PackStructured, REFERENCE_TIME,rt, DWORD,dwChannelGroup, DWORD,dwChannelMessage) \ STDMETHOD(PackStructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD dwChannelMessage) PURE; \
ICOM_METHOD4(HRESULT, PackUnstructured, REFERENCE_TIME,rt, DWORD,dwChannelGroup, DWORD,cb, LPBYTE,lpb) \ STDMETHOD(PackUnstructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD cb, LPBYTE lpb) PURE; \
ICOM_METHOD (HRESULT, ResetReadPtr) \ STDMETHOD(ResetReadPtr)(THIS) PURE; \
ICOM_METHOD4(HRESULT, GetNextEvent, LPREFERENCE_TIME,prt, LPDWORD,pdwChannelGroup, LPDWORD,pdwLength, LPBYTE*,ppData) \ STDMETHOD(GetNextEvent)(THIS_ LPREFERENCE_TIME prt, LPDWORD pdwChannelGroup, LPDWORD pdwLength, LPBYTE *ppData) PURE; \
ICOM_METHOD1(HRESULT, GetRawBufferPtr, LPBYTE*,ppData) \ STDMETHOD(GetRawBufferPtr)(THIS_ LPBYTE *ppData) PURE; \
ICOM_METHOD1(HRESULT, GetStartTime, LPREFERENCE_TIME,prt) \ STDMETHOD(GetStartTime)(THIS_ LPREFERENCE_TIME prt) PURE; \
ICOM_METHOD1(HRESULT, GetUsedBytes, LPDWORD,pcb) \ STDMETHOD(GetUsedBytes)(THIS_ LPDWORD pcb) PURE; \
ICOM_METHOD1(HRESULT, GetMaxBytes, LPDWORD,pcb) \ STDMETHOD(GetMaxBytes)(THIS_ LPDWORD pcb) PURE; \
ICOM_METHOD1(HRESULT, GetBufferFormat, LPGUID,pGuidFormat) \ STDMETHOD(GetBufferFormat)(THIS_ LPGUID pGuidFormat) PURE; \
ICOM_METHOD1(HRESULT, SetStartTime, REFERENCE_TIME,rt) \ STDMETHOD(SetStartTime)(THIS_ REFERENCE_TIME rt) PURE; \
ICOM_METHOD1(HRESULT, SetUsedBytes, DWORD,cb) STDMETHOD(SetUsedBytes)(THIS_ DWORD cb) PURE;
/*** IDirectMusicBuffer methods ***/ /*** IDirectMusicBuffer methods ***/
#define IDirectMusicBuffer_IMETHODS \ #define IDirectMusicBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicBuffer_METHODS IDirectMusicBuffer_METHODS
ICOM_DEFINE(IDirectMusicBuffer,IUnknown) ICOM_DEFINE(IDirectMusicBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -407,19 +407,19 @@ ICOM_DEFINE(IDirectMusicBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicInstrument interface * IDirectMusicInstrument interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicInstrument #define INTERFACE IDirectMusicInstrument
#define IDirectMusicInstrument_METHODS \ #define IDirectMusicInstrument_METHODS \
/*** IDirectMusicInstrument methods ***/ \ /*** IDirectMusicInstrument methods ***/ \
ICOM_METHOD1(HRESULT, GetPatch, DWORD*,pdwPatch) \ STDMETHOD(GetPatch)(THIS_ DWORD *pdwPatch) PURE; \
ICOM_METHOD1(HRESULT, SetPatch, DWORD,dwPatch) STDMETHOD(SetPatch)(THIS_ DWORD dwPatch) PURE;
/*** IDirectMusicInstrument methods ***/ /*** IDirectMusicInstrument methods ***/
#define IDirectMusicInstrument_IMETHODS \ #define IDirectMusicInstrument_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicInstrument_METHODS IDirectMusicInstrument_METHODS
ICOM_DEFINE(IDirectMusicInstrument,IUnknown) ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicInstrument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicInstrument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -433,8 +433,8 @@ ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicDownloadedInstrument interface * IDirectMusicDownloadedInstrument interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicDownloadedInstrument #define INTERFACE IDirectMusicDownloadedInstrument
#define IDirectMusicDownloadedInstrument_METHODS \ #define IDirectMusicDownloadedInstrument_METHODS \
/*** IDirectMusicDownloadedInstrument methods ***/ \ /*** IDirectMusicDownloadedInstrument methods ***/ \
/* none at this time */ /* none at this time */
@ -444,7 +444,7 @@ ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicDownloadedInstrument_METHODS IDirectMusicDownloadedInstrument_METHODS
ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown) ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicDownloadedInstrument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicDownloadedInstrument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -457,19 +457,19 @@ ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicCollection interface * IDirectMusicCollection interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicCollection #define INTERFACE IDirectMusicCollection
#define IDirectMusicCollection_METHODS \ #define IDirectMusicCollection_METHODS \
/*** IDirectMusicCollection methods ***/ \ /*** IDirectMusicCollection methods ***/ \
ICOM_METHOD2(HRESULT, GetInstrument, DWORD,dwPatch, IDirectMusicInstrument**,ppInstrument) \ STDMETHOD(GetInstrument)(THIS_ DWORD dwPatch, IDirectMusicInstrument **ppInstrument) PURE; \
ICOM_METHOD4(HRESULT, EnumInstrument, DWORD,dwIndex, DWORD*,pdwPatch, LPWSTR,pwszName, DWORD,dwNameLen) STDMETHOD(EnumInstrument)(THIS_ DWORD dwIndex, DWORD *pdwPatch, LPWSTR pwszName, DWORD dwNameLen) PURE;
/*** IDirectMusicCollection methods ***/ /*** IDirectMusicCollection methods ***/
#define IDirectMusicCollection_IMETHODS \ #define IDirectMusicCollection_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicCollection_METHODS IDirectMusicCollection_METHODS
ICOM_DEFINE(IDirectMusicCollection,IUnknown) ICOM_DEFINE(IDirectMusicCollection,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicCollection_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicCollection_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -483,18 +483,18 @@ ICOM_DEFINE(IDirectMusicCollection,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicDownload interface * IDirectMusicDownload interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicDownload #define INTERFACE IDirectMusicDownload
#define IDirectMusicDownload_METHODS \ #define IDirectMusicDownload_METHODS \
/*** IDirectMusicDownload methods ***/ \ /*** IDirectMusicDownload methods ***/ \
ICOM_METHOD2(HRESULT, GetBuffer, void**,ppvBuffer, DWORD*,pdwSize) STDMETHOD(GetBuffer)(THIS_ void **ppvBuffer, DWORD *pdwSize) PURE;
/*** IDirectMusicDownload methods ***/ /*** IDirectMusicDownload methods ***/
#define IDirectMusicDownload_IMETHODS \ #define IDirectMusicDownload_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicDownload_METHODS IDirectMusicDownload_METHODS
ICOM_DEFINE(IDirectMusicDownload,IUnknown) ICOM_DEFINE(IDirectMusicDownload,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicDownload_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicDownload_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -507,23 +507,23 @@ ICOM_DEFINE(IDirectMusicDownload,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicPortDownload interface * IDirectMusicPortDownload interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicPortDownload #define INTERFACE IDirectMusicPortDownload
#define IDirectMusicPortDownload_METHODS \ #define IDirectMusicPortDownload_METHODS \
/*** IDirectMusicPortDownload methods ***/ \ /*** IDirectMusicPortDownload methods ***/ \
ICOM_METHOD2(HRESULT, GetBuffer, DWORD,dwDLId, IDirectMusicDownload**,ppIDMDownload) \ STDMETHOD(GetBuffer)(THIS_ DWORD dwDLId, IDirectMusicDownload **ppIDMDownload) PURE; \
ICOM_METHOD2(HRESULT, AllocateBuffer, DWORD,dwSize, IDirectMusicDownload**,ppIDMDownload) \ STDMETHOD(AllocateBuffer)(THIS_ DWORD dwSize, IDirectMusicDownload **ppIDMDownload) PURE; \
ICOM_METHOD2(HRESULT, GetDLId, DWORD*,pdwStartDLId, DWORD,dwCount) \ STDMETHOD(GetDLId)(THIS_ DWORD *pdwStartDLId, DWORD dwCount) PURE; \
ICOM_METHOD1(HRESULT, GetAppend, DWORD*,pdwAppend) \ STDMETHOD(GetAppend)(THIS_ DWORD *pdwAppend) PURE; \
ICOM_METHOD1(HRESULT, Download, IDirectMusicDownload*,pIDMDownload) \ STDMETHOD(Download)(THIS_ IDirectMusicDownload *pIDMDownload) PURE; \
ICOM_METHOD1(HRESULT, Unload, IDirectMusicDownload*,pIDMDownload) STDMETHOD(Unload)(THIS_ IDirectMusicDownload *pIDMDownload) PURE;
/*** IDirectMusicPortDownload methods ***/ /*** IDirectMusicPortDownload methods ***/
#define IDirectMusicPortDownload_IMETHODS \ #define IDirectMusicPortDownload_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicPortDownload_METHODS IDirectMusicPortDownload_METHODS
ICOM_DEFINE(IDirectMusicPortDownload,IUnknown) ICOM_DEFINE(IDirectMusicPortDownload,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicPortDownload_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicPortDownload_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -587,33 +587,33 @@ ICOM_DEFINE(IDirectMusicPortDownload,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicPort interface * IDirectMusicPort interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicPort #define INTERFACE IDirectMusicPort
#define IDirectMusicPort_METHODS \ #define IDirectMusicPort_METHODS \
/*** IDirectMusicPort methods ***/ \ /*** IDirectMusicPort methods ***/ \
ICOM_METHOD1(HRESULT, PlayBuffer, LPDIRECTMUSICBUFFER,pBuffer) \ STDMETHOD(PlayBuffer)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
ICOM_METHOD1(HRESULT, SetReadNotificationHandle, HANDLE,hEvent) \ STDMETHOD(SetReadNotificationHandle)(THIS_ HANDLE hEvent) PURE; \
ICOM_METHOD1(HRESULT, Read, LPDIRECTMUSICBUFFER,pBuffer) \ STDMETHOD(Read)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
ICOM_METHOD4(HRESULT, DownloadInstrument, IDirectMusicInstrument*,pInstrument, IDirectMusicDownloadedInstrument**,ppDownloadedInstrument, DMUS_NOTERANGE*,pNoteRanges, DWORD,dwNumNoteRanges) \ STDMETHOD(DownloadInstrument)(THIS_ IDirectMusicInstrument *pInstrument, IDirectMusicDownloadedInstrument **ppDownloadedInstrument, DMUS_NOTERANGE *pNoteRanges, DWORD dwNumNoteRanges) PURE; \
ICOM_METHOD1(HRESULT, UnloadInstrument, IDirectMusicDownloadedInstrument*,pDownloadedInstrument) \ STDMETHOD(UnloadInstrument)(THIS_ IDirectMusicDownloadedInstrument *pDownloadedInstrument) PURE; \
ICOM_METHOD1(HRESULT, GetLatencyClock, IReferenceClock**,ppClock) \ STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
ICOM_METHOD1(HRESULT, GetRunningStats, LPDMUS_SYNTHSTATS,pStats) \ STDMETHOD(GetRunningStats)(THIS_ LPDMUS_SYNTHSTATS pStats) PURE; \
ICOM_METHOD1(HRESULT, GetCaps, LPDMUS_PORTCAPS,pPortCaps) \ STDMETHOD(GetCaps)(THIS_ LPDMUS_PORTCAPS pPortCaps) PURE; \
ICOM_METHOD7(HRESULT, DeviceIoControl, DWORD,dwIoControlCode, LPVOID,lpInBuffer, DWORD,nInBufferSize, LPVOID,lpOutBuffer, DWORD,nOutBufferSize, LPDWORD,lpBytesReturned, LPOVERLAPPED,lpOverlapped) \ STDMETHOD(DeviceIoControl)(THIS_ DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped) PURE; \
ICOM_METHOD1(HRESULT, SetNumChannelGroups, DWORD,dwChannelGroups) \ STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwChannelGroups) PURE; \
ICOM_METHOD1(HRESULT, GetNumChannelGroups, LPDWORD,pdwChannelGroups) \ STDMETHOD(GetNumChannelGroups)(THIS_ LPDWORD pdwChannelGroups) PURE; \
ICOM_METHOD1(HRESULT, Activate, BOOL,fActive) \ STDMETHOD(Activate)(THIS_ BOOL fActive) PURE; \
ICOM_METHOD3(HRESULT, SetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, DWORD,dwPriority) \ STDMETHOD(SetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE; \
ICOM_METHOD3(HRESULT, GetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, LPDWORD,pdwPriority) \ STDMETHOD(GetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE; \
ICOM_METHOD2(HRESULT, SetDirectSound, LPDIRECTSOUND,pDirectSound, LPDIRECTSOUNDBUFFER,pDirectSoundBuffer) \ STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE; \
ICOM_METHOD3(HRESULT, GetFormat, LPWAVEFORMATEX,pWaveFormatEx, LPDWORD,pdwWaveFormatExSize, LPDWORD,pdwBufferSize) STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize, LPDWORD pdwBufferSize) PURE;
/*** IDirectMusicPort methods ***/ /*** IDirectMusicPort methods ***/
#define IDirectMusicPort_IMETHODS \ #define IDirectMusicPort_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicPort_METHODS IDirectMusicPort_METHODS
ICOM_DEFINE(IDirectMusicPort,IUnknown) ICOM_DEFINE(IDirectMusicPort,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicPort_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicPort_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -641,18 +641,18 @@ ICOM_DEFINE(IDirectMusicPort,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicThru interface * IDirectMusicThru interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicThru #define INTERFACE IDirectMusicThru
#define IDirectMusicThru_METHODS \ #define IDirectMusicThru_METHODS \
/*** IDirectMusicThru methods ***/ \ /*** IDirectMusicThru methods ***/ \
ICOM_METHOD5(HRESULT, ThruChannel, DWORD,dwSourceChannelGroup, DWORD,dwSourceChannel, DWORD,dwDestinationChannelGroup, DWORD,dwDestinationChannel, LPDIRECTMUSICPORT,pDestinationPort) STDMETHOD(ThruChannel)(THIS_ DWORD dwSourceChannelGroup, DWORD dwSourceChannel, DWORD dwDestinationChannelGroup, DWORD dwDestinationChannel, LPDIRECTMUSICPORT pDestinationPort) PURE;
/*** IDirectMusicThru methods ***/ /*** IDirectMusicThru methods ***/
#define IDirectMusicThru_IMETHODS \ #define IDirectMusicThru_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicThru_METHODS IDirectMusicThru_METHODS
ICOM_DEFINE(IDirectMusicThru,IUnknown) ICOM_DEFINE(IDirectMusicThru,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicThru_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicThru_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -669,21 +669,21 @@ ICOM_DEFINE(IDirectMusicThru,IUnknown)
/***************************************************************************** /*****************************************************************************
* IReferenceClock interface * IReferenceClock interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IReferenceClock #define INTERFACE IReferenceClock
#define IReferenceClock_METHODS \ #define IReferenceClock_METHODS \
/*** IReferenceClock methods ***/ \ /*** IReferenceClock methods ***/ \
ICOM_METHOD1(HRESULT, GetTime, REFERENCE_TIME*,pTime) \ STDMETHOD(GetTime)(THIS_ REFERENCE_TIME *pTime) PURE; \
ICOM_METHOD4(HRESULT, AdviseTime, REFERENCE_TIME,baseTime, REFERENCE_TIME,streamTime, HANDLE,hEvent, DWORD*,pdwAdviseCookie) \ STDMETHOD(AdviseTime)(THIS_ REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD *pdwAdviseCookie) PURE; \
ICOM_METHOD4(HRESULT, AdvisePeriodic, REFERENCE_TIME,startTime, REFERENCE_TIME,periodTime, HANDLE,hSemaphore, DWORD*,pdwAdviseCookie) \ STDMETHOD(AdvisePeriodic)(THIS_ REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD *pdwAdviseCookie) PURE; \
ICOM_METHOD1(HRESULT, Unadvise, DWORD,dwAdviseCookie) STDMETHOD(Unadvise)(THIS_ DWORD dwAdviseCookie) PURE;
/*** IReferenceClock methods ***/ /*** IReferenceClock methods ***/
#define IReferenceClock_IMETHODS \ #define IReferenceClock_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IReferenceClock_METHODS IReferenceClock_METHODS
ICOM_DEFINE(IReferenceClock,IUnknown) ICOM_DEFINE(IReferenceClock,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IReferenceClock_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IReferenceClock_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -794,20 +794,20 @@ typedef struct _DMUS_VARIATIONS_PARAM
/***************************************************************************** /*****************************************************************************
* IDirectMusicBand interface * IDirectMusicBand interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicBand #define INTERFACE IDirectMusicBand
#define IDirectMusicBand_METHODS \ #define IDirectMusicBand_METHODS \
/*** IDirectMusicBand methods ***/ \ /*** IDirectMusicBand methods ***/ \
ICOM_METHOD1(HRESULT, CreateSegment, IDirectMusicSegment**,ppSegment) \ STDMETHOD(CreateSegment)(THIS_ IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD1(HRESULT, Download, IDirectMusicPerformance*,pPerformance) \ STDMETHOD(Download)(THIS_ IDirectMusicPerformance *pPerformance) PURE; \
ICOM_METHOD1(HRESULT, Unload, IDirectMusicPerformance*,pPerformance) STDMETHOD(Unload)(THIS_ IDirectMusicPerformance *pPerformance) PURE;
/*** IDirectMusicBand methods ***/ /*** IDirectMusicBand methods ***/
#define IDirectMusicBand_IMETHODS \ #define IDirectMusicBand_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicBand_METHODS IDirectMusicBand_METHODS
ICOM_DEFINE(IDirectMusicBand,IUnknown) ICOM_DEFINE(IDirectMusicBand,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicBand_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicBand_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -822,20 +822,20 @@ ICOM_DEFINE(IDirectMusicBand,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicObject interface * IDirectMusicObject interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicObject #define INTERFACE IDirectMusicObject
#define IDirectMusicObject_METHODS \ #define IDirectMusicObject_METHODS \
/*** IDirectMusicObject methods ***/ \ /*** IDirectMusicObject methods ***/ \
ICOM_METHOD1(HRESULT, GetDescriptor, LPDMUS_OBJECTDESC,pDesc) \ STDMETHOD(GetDescriptor)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
ICOM_METHOD1(HRESULT, SetDescriptor, LPDMUS_OBJECTDESC,pDesc) \ STDMETHOD(SetDescriptor)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
ICOM_METHOD2(HRESULT, ParseDescriptor, LPSTREAM,pStream, LPDMUS_OBJECTDESC,pDesc) STDMETHOD(ParseDescriptor)(THIS_ LPSTREAM pStream, LPDMUS_OBJECTDESC pDesc) PURE;
/*** IDirectMusicObject methods ***/ /*** IDirectMusicObject methods ***/
#define IDirectMusicObject_IMETHODS \ #define IDirectMusicObject_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicObject_METHODS IDirectMusicObject_METHODS
ICOM_DEFINE(IDirectMusicObject,IUnknown) ICOM_DEFINE(IDirectMusicObject,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -850,26 +850,26 @@ ICOM_DEFINE(IDirectMusicObject,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicLoader interface * IDirectMusicLoader interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicLoader #define INTERFACE IDirectMusicLoader
#define IDirectMusicLoader_METHODS \ #define IDirectMusicLoader_METHODS \
/*** IDirectMusicLoader methods ***/ \ /*** IDirectMusicLoader methods ***/ \
ICOM_METHOD3(HRESULT, _GetObject, LPDMUS_OBJECTDESC,pDesc, REFIID,riid, LPVOID*,ppv) \ STDMETHOD(_GetObject)(THIS_ LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID *ppv) PURE; \
ICOM_METHOD1(HRESULT, SetObject, LPDMUS_OBJECTDESC,pDesc) \ STDMETHOD(SetObject)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
ICOM_METHOD3(HRESULT, SetSearchDirectory, REFGUID,rguidClass, WCHAR*,pwzPath, BOOL,fClear) \ STDMETHOD(SetSearchDirectory)(THIS_ REFGUID rguidClass, WCHAR *pwzPath, BOOL fClear) PURE; \
ICOM_METHOD3(HRESULT, ScanDirectory, REFGUID,rguidClass, WCHAR*,pwzFileExtension, WCHAR*,pwzScanFileName) \ STDMETHOD(ScanDirectory)(THIS_ REFGUID rguidClass, WCHAR *pwzFileExtension, WCHAR *pwzScanFileName) PURE; \
ICOM_METHOD1(HRESULT, CacheObject, IDirectMusicObject*,pObject) \ STDMETHOD(CacheObject)(THIS_ IDirectMusicObject *pObject) PURE; \
ICOM_METHOD1(HRESULT, ReleaseObject, IDirectMusicObject*,pObject) \ STDMETHOD(ReleaseObject)(THIS_ IDirectMusicObject *pObject) PURE; \
ICOM_METHOD1(HRESULT, ClearCache, REFGUID,rguidClass) \ STDMETHOD(ClearCache)(THIS_ REFGUID rguidClass) PURE; \
ICOM_METHOD2(HRESULT, EnableCache, REFGUID,rguidClass, BOOL,fEnable) \ STDMETHOD(EnableCache)(THIS_ REFGUID rguidClass, BOOL fEnable) PURE; \
ICOM_METHOD3(HRESULT, EnumObject, REFGUID,rguidClass, DWORD,dwIndex, LPDMUS_OBJECTDESC,pDesc) STDMETHOD(EnumObject)(THIS_ REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc) PURE;
/*** IDirectMusicLoader methods ***/ /*** IDirectMusicLoader methods ***/
#define IDirectMusicLoader_IMETHODS \ #define IDirectMusicLoader_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicLoader_METHODS IDirectMusicLoader_METHODS
ICOM_DEFINE(IDirectMusicLoader,IUnknown) ICOM_DEFINE(IDirectMusicLoader,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicLoader_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicLoader_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -890,13 +890,13 @@ ICOM_DEFINE(IDirectMusicLoader,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicLoader8 interface * IDirectMusicLoader8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicLoader8 #define INTERFACE IDirectMusicLoader8
#define IDirectMusicLoader8_METHODS \ #define IDirectMusicLoader8_METHODS \
/*** IDirectMusicLoader8 methods ***/ \ /*** IDirectMusicLoader8 methods ***/ \
ICOM_METHOD (void, CollectGarbage) \ STDMETHOD_(void,CollectGarbage)(THIS) PURE; \
ICOM_METHOD1(HRESULT, ReleaseObjectByUnknown, IUnknown*,pObject) \ STDMETHOD(ReleaseObjectByUnknown)(THIS_ IUnknown *pObject) PURE; \
ICOM_METHOD4(HRESULT, LoadObjectFromFile, REFGUID,rguidClassID, REFIID,iidInterfaceID, WCHAR*,pwzFilePath, void**,ppObject) STDMETHOD(LoadObjectFromFile)(THIS_ REFGUID rguidClassID, REFIID iidInterfaceID, WCHAR *pwzFilePath, void **ppObject) PURE;
/*** IDirectMusicLoader8 methods ***/ /*** IDirectMusicLoader8 methods ***/
#define IDirectMusicLoader8_IMETHODS \ #define IDirectMusicLoader8_IMETHODS \
@ -904,7 +904,7 @@ ICOM_DEFINE(IDirectMusicLoader,IUnknown)
IDirectMusicLoader_METHODS \ IDirectMusicLoader_METHODS \
IDirectMusicLoader8_METHODS IDirectMusicLoader8_METHODS
ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader) ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicLoader8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicLoader8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -929,18 +929,18 @@ ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader)
/***************************************************************************** /*****************************************************************************
* IDirectMusicGetLoader interface * IDirectMusicGetLoader interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicGetLoader #define INTERFACE IDirectMusicGetLoader
#define IDirectMusicGetLoader_METHODS \ #define IDirectMusicGetLoader_METHODS \
/*** IDirectMusicGetLoader methods ***/ \ /*** IDirectMusicGetLoader methods ***/ \
ICOM_METHOD1(HRESULT, GetLoader, IDirectMusicLoader**,ppLoader) STDMETHOD(GetLoader)(THIS_ IDirectMusicLoader **ppLoader) PURE;
/*** IDirectMusicGetLoader methods ***/ /*** IDirectMusicGetLoader methods ***/
#define IDirectMusicGetLoader_IMETHODS \ #define IDirectMusicGetLoader_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicGetLoader_METHODS IDirectMusicGetLoader_METHODS
ICOM_DEFINE(IDirectMusicGetLoader,IUnknown) ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicGetLoader_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicGetLoader_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -953,40 +953,40 @@ ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSegment interface * IDirectMusicSegment interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSegment #define INTERFACE IDirectMusicSegment
#define IDirectMusicSegment_METHODS \ #define IDirectMusicSegment_METHODS \
/*** IDirectMusicSegment methods ***/ \ /*** IDirectMusicSegment methods ***/ \
ICOM_METHOD1(HRESULT, GetLength, MUSIC_TIME*,pmtLength) \ STDMETHOD(GetLength)(THIS_ MUSIC_TIME *pmtLength) PURE; \
ICOM_METHOD1(HRESULT, SetLength, MUSIC_TIME,mtLength) \ STDMETHOD(SetLength)(THIS_ MUSIC_TIME mtLength) PURE; \
ICOM_METHOD1(HRESULT, GetRepeats, DWORD*,pdwRepeats) \ STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
ICOM_METHOD1(HRESULT, SetRepeats, DWORD,dwRepeats) \ STDMETHOD(SetRepeats)(THIS_ DWORD dwRepeats) PURE; \
ICOM_METHOD1(HRESULT, GetDefaultResolution, DWORD*,pdwResolution) \ STDMETHOD(GetDefaultResolution)(THIS_ DWORD *pdwResolution) PURE; \
ICOM_METHOD1(HRESULT, SetDefaultResolution, DWORD,dwResolution) \ STDMETHOD(SetDefaultResolution)(THIS_ DWORD dwResolution) PURE; \
ICOM_METHOD4(HRESULT, GetTrack, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, IDirectMusicTrack**,ppTrack) \ STDMETHOD(GetTrack)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, IDirectMusicTrack **ppTrack) PURE; \
ICOM_METHOD2(HRESULT, GetTrackGroup, IDirectMusicTrack*,pTrack, DWORD*,pdwGroupBits) \ STDMETHOD(GetTrackGroup)(THIS_ IDirectMusicTrack *pTrack, DWORD *pdwGroupBits) PURE; \
ICOM_METHOD2(HRESULT, InsertTrack, IDirectMusicTrack*,pTrack, DWORD,dwGroupBits) \ STDMETHOD(InsertTrack)(THIS_ IDirectMusicTrack *pTrack, DWORD dwGroupBits) PURE; \
ICOM_METHOD1(HRESULT, RemoveTrack, IDirectMusicTrack*,pTrack) \ STDMETHOD(RemoveTrack)(THIS_ IDirectMusicTrack *pTrack) PURE; \
ICOM_METHOD3(HRESULT, InitPlay, IDirectMusicSegmentState**,ppSegState, IDirectMusicPerformance*,pPerformance, DWORD, dwFlags) \ STDMETHOD(InitPlay)(THIS_ IDirectMusicSegmentState **ppSegState, IDirectMusicPerformance *pPerformance, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT, GetGraph, IDirectMusicGraph**,ppGraph) \ STDMETHOD(GetGraph)(THIS_ IDirectMusicGraph **ppGraph) PURE; \
ICOM_METHOD1(HRESULT, SetGraph, IDirectMusicGraph*,pGraph) \ STDMETHOD(SetGraph)(THIS_ IDirectMusicGraph *pGraph) PURE; \
ICOM_METHOD1(HRESULT, AddNotificationType, REFGUID,rguidNotificationType) \ STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
ICOM_METHOD1(HRESULT, RemoveNotificationType, REFGUID,rguidNotificationType) \ STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
ICOM_METHOD6(HRESULT, GetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \ STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
ICOM_METHOD5(HRESULT, SetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, void*,pParam) \ STDMETHOD(SetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) PURE; \
ICOM_METHOD3(HRESULT, Clone, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd, IDirectMusicSegment**,ppSegment) \ STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD1(HRESULT, SetStartPoint, MUSIC_TIME,mtStart) \ STDMETHOD(SetStartPoint)(THIS_ MUSIC_TIME mtStart) PURE; \
ICOM_METHOD1(HRESULT, GetStartPoint, MUSIC_TIME*,pmtStart) \ STDMETHOD(GetStartPoint)(THIS_ MUSIC_TIME *pmtStart) PURE; \
ICOM_METHOD2(HRESULT, SetLoopPoints, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd) \ STDMETHOD(SetLoopPoints)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd) PURE; \
ICOM_METHOD2(HRESULT, GetLoopPoints, MUSIC_TIME*,pmtStart, MUSIC_TIME*,pmtEnd) \ STDMETHOD(GetLoopPoints)(THIS_ MUSIC_TIME *pmtStart, MUSIC_TIME *pmtEnd) PURE; \
ICOM_METHOD2(HRESULT, SetPChannelsUsed, DWORD,dwNumPChannels, DWORD*,paPChannels) STDMETHOD(SetPChannelsUsed)(THIS_ DWORD dwNumPChannels, DWORD *paPChannels) PURE;
/*** IDirectMusicSegment methods ***/ /*** IDirectMusicSegment methods ***/
#define IDirectMusicSegment_IMETHODS \ #define IDirectMusicSegment_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicSegment_METHODS IDirectMusicSegment_METHODS
ICOM_DEFINE(IDirectMusicSegment,IUnknown) ICOM_DEFINE(IDirectMusicSegment,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSegment_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSegment_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1021,15 +1021,15 @@ ICOM_DEFINE(IDirectMusicSegment,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSegment8 interface * IDirectMusicSegment8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSegment8 #define INTERFACE IDirectMusicSegment8
#define IDirectMusicSegment8_METHODS \ #define IDirectMusicSegment8_METHODS \
/*** IDirectMusicSegment8 methods ***/ \ /*** IDirectMusicSegment8 methods ***/ \
ICOM_METHOD5(HRESULT, SetTrackConfig, REFGUID,rguidTrackClassID, DWORD,dwGroupBits, DWORD,dwIndex, DWORD,dwFlagsOn, DWORD,dwFlagsOff) \ STDMETHOD(SetTrackConfig)(THIS_ REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) PURE; \
ICOM_METHOD1(HRESULT, GetAudioPathConfig, IUnknown**,ppAudioPathConfig) \ STDMETHOD(GetAudioPathConfig)(THIS_ IUnknown **ppAudioPathConfig) PURE; \
ICOM_METHOD4(HRESULT, Compose, MUSIC_TIME,mtTime, IDirectMusicSegment*,pFromSegment, IDirectMusicSegment*,pToSegment, IDirectMusicSegment**,ppComposedSegment) \ STDMETHOD(Compose)(THIS_ MUSIC_TIME mtTime, IDirectMusicSegment *pFromSegment, IDirectMusicSegment *pToSegment, IDirectMusicSegment **ppComposedSegment) PURE; \
ICOM_METHOD1(HRESULT, Download, IUnknown,*pAudioPath) \ STDMETHOD(Download)(THIS_ IUnknown *pAudioPath) PURE; \
ICOM_METHOD1(HRESULT, Unload, IUnknown,*pAudioPath) STDMETHOD(Unload)(THIS_ IUnknown *pAudioPath) PURE;
/*** IDirectMusicSegment8 methods ***/ /*** IDirectMusicSegment8 methods ***/
#define IDirectMusicSegment8_IMETHODS \ #define IDirectMusicSegment8_IMETHODS \
@ -1037,7 +1037,7 @@ ICOM_DEFINE(IDirectMusicSegment,IUnknown)
IDirectMusicSegment_METHODS \ IDirectMusicSegment_METHODS \
IDirectMusicSegment8_METHODS IDirectMusicSegment8_METHODS
ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment) ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSegment8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSegment8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1078,22 +1078,22 @@ ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSegmentState interface * IDirectMusicSegmentState interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSegmentState #define INTERFACE IDirectMusicSegmentState
#define IDirectMusicSegmentState_METHODS \ #define IDirectMusicSegmentState_METHODS \
/*** IDirectMusicSegmentState methods ***/ \ /*** IDirectMusicSegmentState methods ***/ \
ICOM_METHOD1(HRESULT, GetRepeats, DWORD*,pdwRepeats) \ STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
ICOM_METHOD1(HRESULT, GetSegment, IDirectMusicSegment**,ppSegment) \ STDMETHOD(GetSegment)(THIS_ IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD1(HRESULT, GetStartTime, MUSIC_TIME*,pmtStart) \ STDMETHOD(GetStartTime)(THIS_ MUSIC_TIME *pmtStart) PURE; \
ICOM_METHOD1(HRESULT, GetSeek, MUSIC_TIME*,pmtSeek) \ STDMETHOD(GetSeek)(THIS_ MUSIC_TIME *pmtSeek) PURE; \
ICOM_METHOD1(HRESULT, GetStartPoint, MUSIC_TIME*,pmtStart) STDMETHOD(GetStartPoint)(THIS_ MUSIC_TIME *pmtStart) PURE;
/*** IDirectMusicSegmentState methods ***/ /*** IDirectMusicSegmentState methods ***/
#define IDirectMusicSegmentState_IMETHODS \ #define IDirectMusicSegmentState_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicSegmentState_METHODS IDirectMusicSegmentState_METHODS
ICOM_DEFINE(IDirectMusicSegmentState,IUnknown) ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSegmentState_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSegmentState_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1110,12 +1110,12 @@ ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSegmentState8 interface * IDirectMusicSegmentState8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSegmentState8 #define INTERFACE IDirectMusicSegmentState8
#define IDirectMusicSegmentState8_METHODS \ #define IDirectMusicSegmentState8_METHODS \
/*** IDirectMusicSegmentState8 methods ***/ \ /*** IDirectMusicSegmentState8 methods ***/ \
ICOM_METHOD5(HRESULT, SetTrackConfig, REFGUID,rguidTrackClassID, DWORD,dwGroupBits, DWORD,dwIndex, DWORD,dwFlagsOn, DWORD,dwFlagsOff) \ STDMETHOD(SetTrackConfig)(THIS_ REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) PURE; \
ICOM_METHOD7(HRESULT, GetObjectInPath, DWORD,dwPChannel, DWORD,dwStage, DWORD,dwBuffer, REFGUID,guidObject, DWORD,dwIndex, REFGUID,iidInterface, void**,ppObject) STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, DWORD dwIndex, REFGUID iidInterface, void **ppObject) PURE;
/*** IDirectMusicSegmentState8 methods ***/ /*** IDirectMusicSegmentState8 methods ***/
#define IDirectMusicSegmentState8_IMETHODS \ #define IDirectMusicSegmentState8_IMETHODS \
@ -1123,7 +1123,7 @@ ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
IDirectMusicSegmentState_METHODS \ IDirectMusicSegmentState_METHODS \
IDirectMusicSegmentState8_METHODS IDirectMusicSegmentState8_METHODS
ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState) ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSegmentState8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSegmentState8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1143,21 +1143,21 @@ ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState)
/***************************************************************************** /*****************************************************************************
* IDirectMusicAudioPath interface * IDirectMusicAudioPath interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicAudioPath #define INTERFACE IDirectMusicAudioPath
#define IDirectMusicAudioPath_METHODS \ #define IDirectMusicAudioPath_METHODS \
/*** IDirectMusicAudioPath methods ***/ \ /*** IDirectMusicAudioPath methods ***/ \
ICOM_METHOD7(HRESULT, GetObjectInPath, DWORD,dwPChannel, DWORD,dwStage, DWORD,dwBuffer, REFGUID,guidObject, WORD,dwIndex, REFGUID,iidInterface, void**,ppObject) \ STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, WORD dwIndex, REFGUID iidInterface, void **ppObject) PURE; \
ICOM_METHOD1(HRESULT, Activate, BOOL,fActivate) \ STDMETHOD(Activate)(THIS_ BOOL fActivate) PURE; \
ICOM_METHOD2(HRESULT, SetVolume, long,lVolume, DWORD,dwDuration) \ STDMETHOD(SetVolume)(THIS_ long lVolume, DWORD dwDuration) PURE; \
ICOM_METHOD2(HRESULT, ConvertPChannel, DWORD,dwPChannelIn, DWORD*,pdwPChannelOut) STDMETHOD(ConvertPChannel)(THIS_ DWORD dwPChannelIn, DWORD *pdwPChannelOut) PURE;
/*** IDirectMusicAudioPath methods ***/ /*** IDirectMusicAudioPath methods ***/
#define IDirectMusicAudioPath_IMETHODS \ #define IDirectMusicAudioPath_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicAudioPath_METHODS IDirectMusicAudioPath_METHODS
ICOM_DEFINE(IDirectMusicAudioPath,IUnknown) ICOM_DEFINE(IDirectMusicAudioPath,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicAudioPath_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicAudioPath_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1173,58 +1173,58 @@ ICOM_DEFINE(IDirectMusicAudioPath,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicPerformance interface * IDirectMusicPerformance interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicPerformance #define INTERFACE IDirectMusicPerformance
#define IDirectMusicPerformance_METHODS \ #define IDirectMusicPerformance_METHODS \
/*** IDirectMusicPerformance methods ***/ \ /*** IDirectMusicPerformance methods ***/ \
ICOM_METHOD3(HRESULT, Init, IDirectMusic**,ppDirectMusic, LPDIRECTSOUND,pDirectSound, HWND,hWnd) \ STDMETHOD(Init)(THIS_ IDirectMusic **ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) PURE; \
ICOM_METHOD4(HRESULT, PlaySegment, IDirectMusicSegment*,pSegment, DWORD,dwFlags, __int64,i64StartTime, IDirectMusicSegmentState**,ppSegmentState) \ STDMETHOD(PlaySegment)(THIS_ IDirectMusicSegment *pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState) PURE; \
ICOM_METHOD4(HRESULT, Stop, IDirectMusicSegment*,pSegment, IDirectMusicSegmentState*,pSegmentState, MUSIC_TIME,mtTime, DWORD,dwFlags) \ STDMETHOD(Stop)(THIS_ IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT, GetSegmentState, IDirectMusicSegmentState**,ppSegmentState, MUSIC_TIME,mtTime) \ STDMETHOD(GetSegmentState)(THIS_ IDirectMusicSegmentState **ppSegmentState, MUSIC_TIME mtTime) PURE; \
ICOM_METHOD1(HRESULT, SetPrepareTime, DWORD,dwMilliSeconds) \ STDMETHOD(SetPrepareTime)(THIS_ DWORD dwMilliSeconds) PURE; \
ICOM_METHOD1(HRESULT, GetPrepareTime, DWORD*,pdwMilliSeconds) \ STDMETHOD(GetPrepareTime)(THIS_ DWORD *pdwMilliSeconds) PURE; \
ICOM_METHOD1(HRESULT, SetBumperLength, DWORD,dwMilliSeconds) \ STDMETHOD(SetBumperLength)(THIS_ DWORD dwMilliSeconds) PURE; \
ICOM_METHOD1(HRESULT, GetBumperLength, DWORD*,pdwMilliSeconds) \ STDMETHOD(GetBumperLength)(THIS_ DWORD *pdwMilliSeconds) PURE; \
ICOM_METHOD1(HRESULT, SendPMsg, DMUS_PMSG*,pPMSG) \ STDMETHOD(SendPMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
ICOM_METHOD2(HRESULT, MusicToReferenceTime, MUSIC_TIME,mtTime, REFERENCE_TIME*,prtTime) \ STDMETHOD(MusicToReferenceTime)(THIS_ MUSIC_TIME mtTime, REFERENCE_TIME *prtTime) PURE; \
ICOM_METHOD2(HRESULT, ReferenceToMusicTime, REFERENCE_TIME,rtTime, MUSIC_TIME*,pmtTime) \ STDMETHOD(ReferenceToMusicTime)(THIS_ REFERENCE_TIME rtTime, MUSIC_TIME *pmtTime) PURE; \
ICOM_METHOD2(HRESULT, IsPlaying, IDirectMusicSegment*,pSegment, IDirectMusicSegmentState*,pSegState) \ STDMETHOD(IsPlaying)(THIS_ IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegState) PURE; \
ICOM_METHOD2(HRESULT, GetTime, REFERENCE_TIME*,prtNow, MUSIC_TIME*,pmtNow) \ STDMETHOD(GetTime)(THIS_ REFERENCE_TIME *prtNow, MUSIC_TIME *pmtNow) PURE; \
ICOM_METHOD2(HRESULT, AllocPMsg, ULONG,cb, DMUS_PMSG**,ppPMSG) \ STDMETHOD(AllocPMsg)(THIS_ ULONG cb, DMUS_PMSG **ppPMSG) PURE; \
ICOM_METHOD1(HRESULT, FreePMsg, DMUS_PMSG*,pPMSG) \ STDMETHOD(FreePMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
ICOM_METHOD1(HRESULT, GetGraph, IDirectMusicGraph**,ppGraph) \ STDMETHOD(GetGraph)(THIS_ IDirectMusicGraph **ppGraph) PURE; \
ICOM_METHOD1(HRESULT, SetGraph, IDirectMusicGraph*,pGraph) \ STDMETHOD(SetGraph)(THIS_ IDirectMusicGraph *pGraph) PURE; \
ICOM_METHOD2(HRESULT, SetNotificationHandle, HANDLE,hNotification, REFERENCE_TIME,rtMinimum) \ STDMETHOD(SetNotificationHandle)(THIS_ HANDLE hNotification, REFERENCE_TIME rtMinimum) PURE; \
ICOM_METHOD1(HRESULT, GetNotificationPMsg, DMUS_NOTIFICATION_PMSG**,ppNotificationPMsg) \ STDMETHOD(GetNotificationPMsg)(THIS_ DMUS_NOTIFICATION_PMSG **ppNotificationPMsg) PURE; \
ICOM_METHOD1(HRESULT, AddNotificationType, REFGUID,rguidNotificationType) \ STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
ICOM_METHOD1(HRESULT, RemoveNotificationType, REFGUID,rguidNotificationType) \ STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
ICOM_METHOD1(HRESULT, AddPort, IDirectMusicPort*,pPort) \ STDMETHOD(AddPort)(THIS_ IDirectMusicPort *pPort) PURE; \
ICOM_METHOD1(HRESULT, RemovePort, IDirectMusicPort*,pPort) \ STDMETHOD(RemovePort)(THIS_ IDirectMusicPort *pPort) PURE; \
ICOM_METHOD3(HRESULT, AssignPChannelBlock, DWORD,dwBlockNum, IDirectMusicPort*,pPort, DWORD,dwGroup) \ STDMETHOD(AssignPChannelBlock)(THIS_ DWORD dwBlockNum, IDirectMusicPort *pPort, DWORD dwGroup) PURE; \
ICOM_METHOD4(HRESULT, AssignPChannel, DWORD,dwPChannel, IDirectMusicPort*,pPort, DWORD,dwGroup, DWORD,dwMChannel) \ STDMETHOD(AssignPChannel)(THIS_ DWORD dwPChannel, IDirectMusicPort *pPort, DWORD dwGroup, DWORD dwMChannel) PURE; \
ICOM_METHOD4(HRESULT, PChannelInfo, DWORD,dwPChannel, IDirectMusicPort**,ppPort, DWORD*,pdwGroup, DWORD*,pdwMChannel) \ STDMETHOD(PChannelInfo)(THIS_ DWORD dwPChannel, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) PURE; \
ICOM_METHOD8(HRESULT, DownloadInstrument, IDirectMusicInstrument*,pInst, DWORD,dwPChannel, IDirectMusicDownloadedInstrument**,ppDownInst, DMUS_NOTERANGE*,pNoteRanges, DWORD,dwNumNoteRanges, IDirectMusicPort**,ppPort, DWORD*,pdwGroup, DWORD*,pdwMChannel) \ STDMETHOD(DownloadInstrument)(THIS_ IDirectMusicInstrument *pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument **ppDownInst, DMUS_NOTERANGE *pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) PURE; \
ICOM_METHOD2(HRESULT, Invalidate, MUSIC_TIME,mtTime, DWORD,dwFlags) \ STDMETHOD(Invalidate)(THIS_ MUSIC_TIME mtTime, DWORD dwFlags) PURE; \
ICOM_METHOD6(HRESULT, GetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \ STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
ICOM_METHOD5(HRESULT, SetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, void*,pParam) \ STDMETHOD(SetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) PURE; \
ICOM_METHOD3(HRESULT, GetGlobalParam, REFGUID,rguidType, void*,pParam, DWORD,dwSize) \ STDMETHOD(GetGlobalParam)(THIS_ REFGUID rguidType, void *pParam, DWORD dwSize) PURE; \
ICOM_METHOD3(HRESULT, SetGlobalParam, REFGUID,rguidType, void*,pParam, DWORD,dwSize) \ STDMETHOD(SetGlobalParam)(THIS_ REFGUID rguidType, void *pParam, DWORD dwSize) PURE; \
ICOM_METHOD1(HRESULT, GetLatencyTime, REFERENCE_TIME*,prtTime) \ STDMETHOD(GetLatencyTime)(THIS_ REFERENCE_TIME *prtTime) PURE; \
ICOM_METHOD1(HRESULT, GetQueueTime, REFERENCE_TIME*,prtTime) \ STDMETHOD(GetQueueTime)(THIS_ REFERENCE_TIME *prtTime) PURE; \
ICOM_METHOD1(HRESULT, AdjustTime, REFERENCE_TIME,rtAmount) \ STDMETHOD(AdjustTime)(THIS_ REFERENCE_TIME rtAmount) PURE; \
ICOM_METHOD (HRESULT, CloseDown) \ STDMETHOD(CloseDown)(THIS) PURE; \
ICOM_METHOD3(HRESULT, GetResolvedTime, REFERENCE_TIME,rtTime, REFERENCE_TIME*,prtResolved, DWORD,dwTimeResolveFlags) \ STDMETHOD(GetResolvedTime)(THIS_ REFERENCE_TIME rtTime, REFERENCE_TIME *prtResolved, DWORD dwTimeResolveFlags) PURE; \
ICOM_METHOD5(HRESULT, MIDIToMusic, BYTE,bMIDIValue, DMUS_CHORD_KEY*,pChord, BYTE,bPlayMode, BYTE,bChordLevel, WORD*,pwMusicValue) \ STDMETHOD(MIDIToMusic)(THIS_ BYTE bMIDIValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, WORD *pwMusicValue) PURE; \
ICOM_METHOD5(HRESULT, MusicToMIDI, WORD,wMusicValue, DMUS_CHORD_KEY*,pChord, BYTE,bPlayMode, BYTE,bChordLevel, BYTE*,pbMIDIValue) \ STDMETHOD(MusicToMIDI)(THIS_ WORD wMusicValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE *pbMIDIValue) PURE; \
ICOM_METHOD6(HRESULT, TimeToRhythm, MUSIC_TIME,mtTime, DMUS_TIMESIGNATURE*,pTimeSig, WORD*,pwMeasure, BYTE*,pbBeat, BYTE*,pbGrid, short*,pnOffset) \ STDMETHOD(TimeToRhythm)(THIS_ MUSIC_TIME mtTime, DMUS_TIMESIGNATURE *pTimeSig, WORD *pwMeasure, BYTE *pbBeat, BYTE *pbGrid, short *pnOffset) PURE; \
ICOM_METHOD6(HRESULT, RhythmToTime, WORD,wMeasure, BYTE,bBeat, BYTE,bGrid, short,nOffset, DMUS_TIMESIGNATURE*,pTimeSig, MUSIC_TIME*,pmtTime) STDMETHOD(RhythmToTime)(THIS_ WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE *pTimeSig, MUSIC_TIME *pmtTime) PURE;
/*** IDirectMusicPerformance methods ***/ /*** IDirectMusicPerformance methods ***/
#define IDirectMusicPerformance_IMETHODS \ #define IDirectMusicPerformance_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicPerformance_METHODS IDirectMusicPerformance_METHODS
ICOM_DEFINE(IDirectMusicPerformance,IUnknown) ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicPerformance_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicPerformance_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1277,19 +1277,19 @@ ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicPerformance8 interface * IDirectMusicPerformance8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicPerformance8 #define INTERFACE IDirectMusicPerformance8
#define IDirectMusicPerformance8_METHODS \ #define IDirectMusicPerformance8_METHODS \
/*** IDirectMusicPerformance8 methods ***/ \ /*** IDirectMusicPerformance8 methods ***/ \
ICOM_METHOD7(HRESULT, InitAudio, IDirectMusic**,ppDirectMusic, IDirectSound**,ppDirectSound, HWND,hWnd, DWORD,dwDefaultPathType, DWORD,dwPChannelCount, DWORD,dwFlags, DMUS_AUDIOPARAMS*,pParams) \ STDMETHOD(InitAudio)(THIS_ IDirectMusic **ppDirectMusic, IDirectSound **ppDirectSound, HWND hWnd, DWORD dwDefaultPathType, DWORD dwPChannelCount, DWORD dwFlags, DMUS_AUDIOPARAMS *pParams) PURE; \
ICOM_METHOD8(HRESULT, PlaySegmentEx, IUnknown*,pSource, WCHAR*,pwzSegmentName, IUnknown*,pTransition, DWORD,dwFlags, __int64,i64StartTime, IDirectMusicSegmentState**,ppSegmentState, IUnknown*,pFrom, IUnknown*,pAudioPath) \ STDMETHOD(PlaySegmentEx)(THIS_ IUnknown *pSource, WCHAR *pwzSegmentName, IUnknown *pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom, IUnknown *pAudioPath) PURE; \
ICOM_METHOD3(HRESULT, StopEx, IUnknown*,pObjectToStop, __int64,i64StopTime, DWORD,dwFlags) \ STDMETHOD(StopEx)(THIS_ IUnknown *pObjectToStop, __int64 i64StopTime, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT, ClonePMsg, DMUS_PMSG*,pSourcePMSG, DMUS_PMSG**,ppCopyPMSG) \ STDMETHOD(ClonePMsg)(THIS_ DMUS_PMSG *pSourcePMSG, DMUS_PMSG **ppCopyPMSG) PURE; \
ICOM_METHOD3(HRESULT, CreateAudioPath, IUnknown*,pSourceConfig, BOOL,fActivate, IDirectMusicAudioPath**,ppNewPath) \ STDMETHOD(CreateAudioPath)(THIS_ IUnknown *pSourceConfig, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) PURE; \
ICOM_METHOD4(HRESULT, CreateStandardAudioPath, DWORD,dwType, DWORD,dwPChannelCount, BOOL,fActivate, IDirectMusicAudioPath**,ppNewPath) \ STDMETHOD(CreateStandardAudioPath)(THIS_ DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) PURE; \
ICOM_METHOD1(HRESULT, SetDefaultAudioPath, IDirectMusicAudioPath*,pAudioPath) \ STDMETHOD(SetDefaultAudioPath)(THIS_ IDirectMusicAudioPath *pAudioPath) PURE; \
ICOM_METHOD1(HRESULT, GetDefaultAudioPath, IDirectMusicAudioPath**,ppAudioPath) \ STDMETHOD(GetDefaultAudioPath)(THIS_ IDirectMusicAudioPath **ppAudioPath) PURE; \
ICOM_METHOD7(HRESULT, GetParamEx, REFGUID,rguidType, DWORD,dwTrackID, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, DWORD dwTrackID, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE;
/*** IDirectMusicPerformance8 methods ***/ /*** IDirectMusicPerformance8 methods ***/
#define IDirectMusicPerformance8_IMETHODS \ #define IDirectMusicPerformance8_IMETHODS \
@ -1297,7 +1297,7 @@ ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
IDirectMusicPerformance_METHODS \ IDirectMusicPerformance_METHODS \
IDirectMusicPerformance8_METHODS IDirectMusicPerformance8_METHODS
ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance) ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicPerformance8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicPerformance8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1360,21 +1360,21 @@ ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance)
/***************************************************************************** /*****************************************************************************
* IDirectMusicGraph interface * IDirectMusicGraph interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicGraph #define INTERFACE IDirectMusicGraph
#define IDirectMusicGraph_METHODS \ #define IDirectMusicGraph_METHODS \
/*** IDirectMusicGraph methods ***/ \ /*** IDirectMusicGraph methods ***/ \
ICOM_METHOD1(HRESULT, StampPMsg, DMUS_PMSG*,pPMSG) \ STDMETHOD(StampPMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
ICOM_METHOD4(HRESULT, InsertTool, IDirectMusicTool*,pTool, DWORD*,pdwPChannels, DWORD,cPChannels, LONG,lIndex) \ STDMETHOD(InsertTool)(THIS_ IDirectMusicTool *pTool, DWORD *pdwPChannels, DWORD cPChannels, LONG lIndex) PURE; \
ICOM_METHOD2(HRESULT, GetTool, DWORD,dwIndex, IDirectMusicTool**,ppTool) \ STDMETHOD(GetTool)(THIS_ DWORD dwIndex, IDirectMusicTool **ppTool) PURE; \
ICOM_METHOD1(HRESULT, RemoveTool, IDirectMusicTool*,pTool) STDMETHOD(RemoveTool)(THIS_ IDirectMusicTool *pTool) PURE;
/*** IDirectMusicGraph methods ***/ /*** IDirectMusicGraph methods ***/
#define IDirectMusicGraph_IMETHODS \ #define IDirectMusicGraph_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicGraph_METHODS IDirectMusicGraph_METHODS
ICOM_DEFINE(IDirectMusicGraph,IUnknown) ICOM_DEFINE(IDirectMusicGraph,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicGraph_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicGraph_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1390,28 +1390,28 @@ ICOM_DEFINE(IDirectMusicGraph,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicStyle interface * IDirectMusicStyle interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicStyle #define INTERFACE IDirectMusicStyle
#define IDirectMusicStyle_METHODS \ #define IDirectMusicStyle_METHODS \
/*** IDirectMusicStyle methods ***/ \ /*** IDirectMusicStyle methods ***/ \
ICOM_METHOD2(HRESULT, GetBand, WCHAR*,pwszName, IDirectMusicBand**,ppBand) \ STDMETHOD(GetBand)(THIS_ WCHAR *pwszName, IDirectMusicBand **ppBand) PURE; \
ICOM_METHOD2(HRESULT, EnumBand, DWORD,dwIndex, WCHAR*,pwszName) \ STDMETHOD(EnumBand)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
ICOM_METHOD1(HRESULT, GetDefaultBand, IDirectMusicBand**,ppBand) \ STDMETHOD(GetDefaultBand)(THIS_ IDirectMusicBand **ppBand) PURE; \
ICOM_METHOD2(HRESULT, EnumMotif, DWORD,dwIndex, WCHAR*,pwszName) \ STDMETHOD(EnumMotif)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
ICOM_METHOD2(HRESULT, GetMotif, WCHAR*,pwszName, IDirectMusicSegment**,ppSegment) \ STDMETHOD(GetMotif)(THIS_ WCHAR *pwszName, IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD1(HRESULT, GetDefaultChordMap, IDirectMusicChordMap**,ppChordMap) \ STDMETHOD(GetDefaultChordMap)(THIS_ IDirectMusicChordMap **ppChordMap) PURE; \
ICOM_METHOD2(HRESULT, EnumChordMap, DWORD,dwIndex, WCHAR*,pwszName) \ STDMETHOD(EnumChordMap)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
ICOM_METHOD2(HRESULT, GetChordMap, WCHAR*,pwszName, IDirectMusicChordMap**,ppChordMap) \ STDMETHOD(GetChordMap)(THIS_ WCHAR *pwszName, IDirectMusicChordMap **ppChordMap) PURE; \
ICOM_METHOD1(HRESULT, GetTimeSignature, DMUS_TIMESIGNATURE*,pTimeSig) \ STDMETHOD(GetTimeSignature)(THIS_ DMUS_TIMESIGNATURE *pTimeSig) PURE; \
ICOM_METHOD4(HRESULT, GetEmbellishmentLength, DWORD,dwType, DWORD,dwLevel, DWORD*,pdwMin, DWORD*,pdwMax) \ STDMETHOD(GetEmbellishmentLength)(THIS_ DWORD dwType, DWORD dwLevel, DWORD *pdwMin, DWORD *pdwMax) PURE; \
ICOM_METHOD1(HRESULT, GetTempo, double*,pTempo) STDMETHOD(GetTempo)(THIS_ double *pTempo) PURE;
/*** IDirectMusicStyle methods ***/ /*** IDirectMusicStyle methods ***/
#define IDirectMusicStyle_IMETHODS \ #define IDirectMusicStyle_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicStyle_METHODS IDirectMusicStyle_METHODS
ICOM_DEFINE(IDirectMusicStyle,IUnknown) ICOM_DEFINE(IDirectMusicStyle,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicStyle_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicStyle_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1434,11 +1434,11 @@ ICOM_DEFINE(IDirectMusicStyle,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicStyle8 interface * IDirectMusicStyle8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicStyle8 #define INTERFACE IDirectMusicStyle8
#define IDirectMusicStyle8_METHODS \ #define IDirectMusicStyle8_METHODS \
/*** IDirectMusicStyle8 methods ***/ \ /*** IDirectMusicStyle8 methods ***/ \
ICOM_METHOD3(HRESULT, EnumPattern, DWORD,dwIndex, DWORD,dwPatternType, WCHAR*,pwszName) STDMETHOD(EnumPattern)(THIS_ DWORD dwIndex, DWORD dwPatternType, WCHAR *pwszName) PURE;
/*** IDirectMusicStyle8 methods ***/ /*** IDirectMusicStyle8 methods ***/
#define IDirectMusicStyle8_IMETHODS \ #define IDirectMusicStyle8_IMETHODS \
@ -1446,7 +1446,7 @@ ICOM_DEFINE(IDirectMusicStyle,IUnknown)
IDirectMusicStyle_METHODS \ IDirectMusicStyle_METHODS \
IDirectMusicStyle8_METHODS IDirectMusicStyle8_METHODS
ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle) ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicStyle8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicStyle8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1471,18 +1471,18 @@ ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle)
/***************************************************************************** /*****************************************************************************
* IDirectMusicChordMap interface * IDirectMusicChordMap interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicChordMap #define INTERFACE IDirectMusicChordMap
#define IDirectMusicChordMap_METHODS \ #define IDirectMusicChordMap_METHODS \
/*** IDirectMusicChordMap methods ***/ \ /*** IDirectMusicChordMap methods ***/ \
ICOM_METHOD1(HRESULT, GetScale, DWORD*,pdwScale) STDMETHOD(GetScale)(THIS_ DWORD *pdwScale) PURE;
/*** IDirectMusicChordMap methods ***/ /*** IDirectMusicChordMap methods ***/
#define IDirectMusicChordMap_IMETHODS \ #define IDirectMusicChordMap_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicChordMap_METHODS IDirectMusicChordMap_METHODS
ICOM_DEFINE(IDirectMusicChordMap,IUnknown) ICOM_DEFINE(IDirectMusicChordMap,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicChordMap_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicChordMap_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1495,23 +1495,23 @@ ICOM_DEFINE(IDirectMusicChordMap,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicComposer interface * IDirectMusicComposer interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicComposer #define INTERFACE IDirectMusicComposer
#define IDirectMusicComposer_METHODS \ #define IDirectMusicComposer_METHODS \
/*** IDirectMusicComposer methods ***/ \ /*** IDirectMusicComposer methods ***/ \
ICOM_METHOD5(HRESULT, ComposeSegmentFromTemplate, IDirectMusicStyle*,pStyle, IDirectMusicSegment*,pTemplate, WORD,wActivity, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppSegment) \ STDMETHOD(ComposeSegmentFromTemplate)(THIS_ IDirectMusicStyle *pStyle, IDirectMusicSegment *pTemplate, WORD wActivity, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD8(HRESULT, ComposeSegmentFromShape, IDirectMusicStyle*,pStyle, WORD,wNumMeasures, WORD,wShape, WORD,wActivity, BOOL,fIntro, BOOL,fEnd, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppSegment) \ STDMETHOD(ComposeSegmentFromShape)(THIS_ IDirectMusicStyle *pStyle, WORD wNumMeasures, WORD wShape, WORD wActivity, BOOL fIntro, BOOL fEnd, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD7(HRESULT, ComposeTransition, IDirectMusicSegment*,pFromSeg, IDirectMusicSegment*,pToSeg, MUSIC_TIME,mtTime, WORD,wCommand, DWORD,dwFlags, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppTransSeg) \ STDMETHOD(ComposeTransition)(THIS_ IDirectMusicSegment *pFromSeg, IDirectMusicSegment *pToSeg, MUSIC_TIME mtTime, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppTransSeg) PURE; \
ICOM_METHOD8(HRESULT, AutoTransition, IDirectMusicPerformance*,pPerformance, IDirectMusicSegment*,pToSeg, WORD,wCommand, DWORD,dwFlags, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppTransSeg, IDirectMusicSegmentState**,ppToSegState, IDirectMusicSegmentState**,ppTransSegState) \ STDMETHOD(AutoTransition)(THIS_ IDirectMusicPerformance *pPerformance, IDirectMusicSegment *pToSeg, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppTransSeg, IDirectMusicSegmentState **ppToSegState, IDirectMusicSegmentState **ppTransSegState) PURE; \
ICOM_METHOD6(HRESULT, ComposeTemplateFromShape, WORD,wNumMeasures, WORD,wShape, BOOL,fIntro, BOOL,fEnd, WORD,wEndLength, IDirectMusicSegment**,ppTemplate) \ STDMETHOD(ComposeTemplateFromShape)(THIS_ WORD wNumMeasures, WORD wShape, BOOL fIntro, BOOL fEnd, WORD wEndLength, IDirectMusicSegment **ppTemplate) PURE; \
ICOM_METHOD3(HRESULT, ChangeChordMap, IDirectMusicSegment*,pSegment, BOOL,fTrackScale, IDirectMusicChordMap*,pChordMap) STDMETHOD(ChangeChordMap)(THIS_ IDirectMusicSegment *pSegment, BOOL fTrackScale, IDirectMusicChordMap *pChordMap) PURE;
/*** IDirectMusicComposer methods ***/ /*** IDirectMusicComposer methods ***/
#define IDirectMusicComposer_IMETHODS \ #define IDirectMusicComposer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicComposer_METHODS IDirectMusicComposer_METHODS
ICOM_DEFINE(IDirectMusicComposer,IUnknown) ICOM_DEFINE(IDirectMusicComposer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicComposer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicComposer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1529,20 +1529,20 @@ ICOM_DEFINE(IDirectMusicComposer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicPatternTrack interface * IDirectMusicPatternTrack interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicPatternTrack #define INTERFACE IDirectMusicPatternTrack
#define IDirectMusicPatternTrack_METHODS \ #define IDirectMusicPatternTrack_METHODS \
/*** IDirectMusicPatternTrack methods ***/ \ /*** IDirectMusicPatternTrack methods ***/ \
ICOM_METHOD2(HRESULT, CreateSegment, IDirectMusicStyle*,pStyle, IDirectMusicSegment**,ppSegment) \ STDMETHOD(CreateSegment)(THIS_ IDirectMusicStyle *pStyle, IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD3(HRESULT, SetVariation, IDirectMusicSegmentState*,pSegState, DWORD,dwVariationFlags, DWORD,dwPart) \ STDMETHOD(SetVariation)(THIS_ IDirectMusicSegmentState *pSegState, DWORD dwVariationFlags, DWORD dwPart) PURE; \
ICOM_METHOD5(HRESULT, SetPatternByName, IDirectMusicSegmentState*,pSegState, WCHAR*,wszName, IDirectMusicStyle*,pStyle, DWORD,dwPatternType, DWORD*,pdwLength) STDMETHOD(SetPatternByName)(THIS_ IDirectMusicSegmentState *pSegState, WCHAR *wszName, IDirectMusicStyle *pStyle, DWORD dwPatternType, DWORD *pdwLength) PURE;
/*** IDirectMusicPatternTrack methods ***/ /*** IDirectMusicPatternTrack methods ***/
#define IDirectMusicPatternTrack_IMETHODS \ #define IDirectMusicPatternTrack_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicPatternTrack_METHODS IDirectMusicPatternTrack_METHODS
ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown) ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicPatternTrack_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicPatternTrack_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1557,27 +1557,27 @@ ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicScript interface * IDirectMusicScript interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicScript #define INTERFACE IDirectMusicScript
#define IDirectMusicScript_METHODS \ #define IDirectMusicScript_METHODS \
/*** IDirectMusicScript methods ***/ \ /*** IDirectMusicScript methods ***/ \
ICOM_METHOD2(HRESULT, Init, IDirectMusicPerformance*,pPerformance, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(Init)(THIS_ IDirectMusicPerformance *pPerformance, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD2(HRESULT, CallRoutine, WCHAR*,pwszRoutineName, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(CallRoutine)(THIS_ WCHAR *pwszRoutineName, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD4(HRESULT, SetVariableVariant, WCHAR*,pwszVariableName, VARIANT,varValue, BOOL,fSetRef, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(SetVariableVariant)(THIS_ WCHAR *pwszVariableName, VARIANT varValue, BOOL fSetRef, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD3(HRESULT, GetVariableVariant, WCHAR*,pwszVariableName, VARIANT*,pvarValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(GetVariableVariant)(THIS_ WCHAR *pwszVariableName, VARIANT *pvarValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD3(HRESULT, SetVariableNumber, WCHAR*,pwszVariableName, LONG,lValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(SetVariableNumber)(THIS_ WCHAR *pwszVariableName, LONG lValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD3(HRESULT, GetVariableNumber, WCHAR*,pwszVariableName, LONG*,plValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(GetVariableNumber)(THIS_ WCHAR *pwszVariableName, LONG *plValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD3(HRESULT, SetVariableObject, WCHAR*,pwszVariableName, IUnknown*,punkValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(SetVariableObject)(THIS_ WCHAR *pwszVariableName, IUnknown *punkValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD4(HRESULT, GetVariableObject, WCHAR*,pwszVariableName, REFIID,riid, LPVOID*,ppv, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \ STDMETHOD(GetVariableObject)(THIS_ WCHAR *pwszVariableName, REFIID riid, LPVOID *ppv, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
ICOM_METHOD2(HRESULT, EnumRoutine, DWORD,dwIndex, WCHAR*,pwszName) \ STDMETHOD(EnumRoutine)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
ICOM_METHOD2(HRESULT, EnumVariable, DWORD,dwIndex, WCHAR*,pwszName) STDMETHOD(EnumVariable)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE;
/*** IDirectMusicScript methods ***/ /*** IDirectMusicScript methods ***/
#define IDirectMusicScript_IMETHODS \ #define IDirectMusicScript_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicScript_METHODS IDirectMusicScript_METHODS
ICOM_DEFINE(IDirectMusicScript,IUnknown) ICOM_DEFINE(IDirectMusicScript,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicScript_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicScript_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1599,18 +1599,18 @@ ICOM_DEFINE(IDirectMusicScript,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicContainer interface * IDirectMusicContainer interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicContainer #define INTERFACE IDirectMusicContainer
#define IDirectMusicContainer_METHODS \ #define IDirectMusicContainer_METHODS \
/*** IDirectMusicContainer methods ***/ \ /*** IDirectMusicContainer methods ***/ \
ICOM_METHOD4(HRESULT, EnumObject, REFGUID,rguidClass, DWORD,dwIndex, LPDMUS_OBJECTDESC,pDesc, WCHAR*,pwszAlias) STDMETHOD(EnumObject)(THIS_ REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc, WCHAR *pwszAlias) PURE;
/*** IDirectMusicContainer methods ***/ /*** IDirectMusicContainer methods ***/
#define IDirectMusicContainer_IMETHODS \ #define IDirectMusicContainer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicContainer_METHODS IDirectMusicContainer_METHODS
ICOM_DEFINE(IDirectMusicContainer,IUnknown) ICOM_DEFINE(IDirectMusicContainer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1623,24 +1623,24 @@ ICOM_DEFINE(IDirectMusicContainer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSong interface * IDirectMusicSong interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSong #define INTERFACE IDirectMusicSong
#define IDirectMusicSong_METHODS \ #define IDirectMusicSong_METHODS \
/*** IDirectMusicSong methods ***/ \ /*** IDirectMusicSong methods ***/ \
ICOM_METHOD (HRESULT, Compose) \ STDMETHOD(Compose)(THIS) PURE; \
ICOM_METHOD6(HRESULT, GetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \ STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
ICOM_METHOD2(HRESULT, GetSegment, WCHAR*,pwzName, IDirectMusicSegment**,ppSegment) \ STDMETHOD(GetSegment)(THIS_ WCHAR *pwzName, IDirectMusicSegment **ppSegment) PURE; \
ICOM_METHOD1(HRESULT, GetAudioPathConfig, IUnknown**,ppAudioPathConfig) \ STDMETHOD(GetAudioPathConfig)(THIS_ IUnknown **ppAudioPathConfig) PURE; \
ICOM_METHOD1(HRESULT, Download, IUnknown*,pAudioPath) \ STDMETHOD(Download)(THIS_ IUnknown *pAudioPath) PURE; \
ICOM_METHOD1(HRESULT, Unload, IUnknown*,pAudioPath) \ STDMETHOD(Unload)(THIS_ IUnknown *pAudioPath) PURE; \
ICOM_METHOD2(HRESULT, EnumSegment, DWORD,dwIndex, IDirectMusicSegment**,ppSegment) STDMETHOD(EnumSegment)(THIS_ DWORD dwIndex, IDirectMusicSegment **ppSegment) PURE;
/*** IDirectMusicSong methods ***/ /*** IDirectMusicSong methods ***/
#define IDirectMusicSong_IMETHODS \ #define IDirectMusicSong_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicSong_METHODS IDirectMusicSong_METHODS
ICOM_DEFINE(IDirectMusicSong,IUnknown) ICOM_DEFINE(IDirectMusicSong,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSong_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSong_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -63,34 +63,34 @@ typedef struct _DMUS_VOICE_STATE
/***************************************************************************** /*****************************************************************************
* IDirectMusicSynth interface * IDirectMusicSynth interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSynth #define INTERFACE IDirectMusicSynth
#define IDirectMusicSynth_METHODS \ #define IDirectMusicSynth_METHODS \
/*** IDirectMusicSynth methods ***/ \ /*** IDirectMusicSynth methods ***/ \
ICOM_METHOD1(HRESULT, Open, LPDMUS_PORTPARAMS,pPortParams) \ STDMETHOD(Open)(THIS_ LPDMUS_PORTPARAMS pPortParams) PURE; \
ICOM_METHOD (HRESULT, Close) \ STDMETHOD(Close)(THIS) PURE; \
ICOM_METHOD1(HRESULT, SetNumChannelGroups, DWORD,dwGroups) \ STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwGroups) PURE; \
ICOM_METHOD3(HRESULT, Download, LPHANDLE,phDownload, LPVOID,pvData, LPBOOL,pbFree) \ STDMETHOD(Download)(THIS_ LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) PURE; \
ICOM_METHOD3(HRESULT, Unload, HANDLE,hDownload, HRESULT,(CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE,hUserData) \ STDMETHOD(Unload)(THIS_ HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) PURE; \
ICOM_METHOD3(HRESULT, PlayBuffer, REFERENCE_TIME,rt, LPBYTE,pbBuffer, DWORD,cbBuffer) \ STDMETHOD(PlayBuffer)(THIS_ REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) PURE; \
ICOM_METHOD1(HRESULT, GetRunningStats, LPDMUS_SYNTHSTATS,pStats) \ STDMETHOD(GetRunningStats)(THIS_ LPDMUS_SYNTHSTATS pStats) PURE; \
ICOM_METHOD1(HRESULT, GetPortCaps, LPDMUS_PORTCAPS,pCaps) \ STDMETHOD(GetPortCaps)(THIS_ LPDMUS_PORTCAPS pCaps) PURE; \
ICOM_METHOD1(HRESULT, SetMasterClock, IReferenceClock*,pClock) \ STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
ICOM_METHOD1(HRESULT, GetLatencyClock, IReferenceClock**,ppClock) \ STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
ICOM_METHOD1(HRESULT, Activate, BOOL,fEnable) \ STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
ICOM_METHOD1(HRESULT, SetSynthSink, IDirectMusicSynthSink*,pSynthSink) \ STDMETHOD(SetSynthSink)(THIS_ IDirectMusicSynthSink *pSynthSink) PURE; \
ICOM_METHOD3(HRESULT, Render, short*,pBuffer, DWORD,dwLength, LONGLONG,llPosition) \ STDMETHOD(Render)(THIS_ short *pBuffer, DWORD dwLength, LONGLONG llPosition) PURE; \
ICOM_METHOD3(HRESULT, SetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, DWORD,dwPriority) \ STDMETHOD(SetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE; \
ICOM_METHOD3(HRESULT, GetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, LPDWORD,pdwPriority) \ STDMETHOD(GetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE; \
ICOM_METHOD2(HRESULT, GetFormat, LPWAVEFORMATEX,pWaveFormatEx, LPDWORD,pdwWaveFormatExSiz) \ STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) PURE; \
ICOM_METHOD1(HRESULT, GetAppend, DWORD*,pdwAppend) STDMETHOD(GetAppend)(THIS_ DWORD *pdwAppend) PURE;
/*** IDirectMusicSynth methods ***/ /*** IDirectMusicSynth methods ***/
#define IDirectMusicSynth_IMETHODS \ #define IDirectMusicSynth_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicSynth_METHODS IDirectMusicSynth_METHODS
ICOM_DEFINE(IDirectMusicSynth,IUnknown) ICOM_DEFINE(IDirectMusicSynth,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSynth_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSynth_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -119,23 +119,23 @@ ICOM_DEFINE(IDirectMusicSynth,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSynth8 interface * IDirectMusicSynth8 interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSynth8 #define INTERFACE IDirectMusicSynth8
#define IDirectMusicSynth8_METHODS \ #define IDirectMusicSynth8_METHODS \
/*** IDirectMusicSynth8 methods ***/ \ /*** IDirectMusicSynth8 methods ***/ \
ICOM_METHOD10(HRESULT, PlayVoice, REFERENCE_TIME,rt, DWORD,dwVoiceId, DWORD,dwChannelGroup, DWORD,dwChannel, DWORD,dwDLId, long,prPitch, long,vrVolume, SAMPLE_TIME,stVoiceStart, SAMPLE_TIME,stLoopStart, SAMPLE_TIME,stLoopEnd) \ STDMETHOD(PlayVoice)(THIS_ REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, long prPitch, long vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd) PURE; \
ICOM_METHOD2(HRESULT, StopVoice, REFERENCE_TIME,rt, DWORD,dwVoiceId) \ STDMETHOD(StopVoice)(THIS_ REFERENCE_TIME rt, DWORD dwVoiceId) PURE; \
ICOM_METHOD3(HRESULT, GetVoiceState, DWORD,dwVoice[], DWORD,cbVoice, DMUS_VOICE_STATE,dwVoiceState[]) \ STDMETHOD(GetVoiceState)(THIS_ DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[]) PURE; \
ICOM_METHOD2(HRESULT, Refresh, DWORD,dwDownloadID, DWORD,dwFlags) \ STDMETHOD(Refresh)(THIS_ DWORD dwDownloadID, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT, AssignChannelToBuses, DWORD,dwChannelGroup, DWORD,dwChannel, LPDWORD,pdwBuses, DWORD,cBuses) STDMETHOD(AssignChannelToBuses)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses) PURE;
/*** IDirectMusicSynth methods ***/ /*** IDirectMusicSynth methods ***/
#define IDirectMusicSynth8_IMETHODS \ #define IDirectMusicSynth8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicSynth_METHODS \ IDirectMusicSynth_METHODS \
IDirectMusicSynth8_METHODS IDirectMusicSynth8_METHODS
ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth) ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSynth8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSynth8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -170,25 +170,25 @@ ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
/***************************************************************************** /*****************************************************************************
* IDirectMusicSynthSink interface * IDirectMusicSynthSink interface
*/ */
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IDirectMusicSynthSink #define INTERFACE IDirectMusicSynthSink
#define IDirectMusicSynthSink_METHODS \ #define IDirectMusicSynthSink_METHODS \
/*** IDirectMusicSynthSink methods ***/ \ /*** IDirectMusicSynthSink methods ***/ \
ICOM_METHOD1(HRESULT, Init, IDirectMusicSynth*,pSynth) \ STDMETHOD(Init)(THIS_ IDirectMusicSynth *pSynth) PURE; \
ICOM_METHOD1(HRESULT, SetMasterClock, IReferenceClock*,pClock) \ STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
ICOM_METHOD1(HRESULT, GetLatencyClock, IReferenceClock**,ppClock) \ STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
ICOM_METHOD1(HRESULT, Activate, BOOL,fEnable) \ STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
ICOM_METHOD2(HRESULT, SampleToRefTime, LONGLONG,llSampleTime, REFERENCE_TIME*,prfTime) \ STDMETHOD(SampleToRefTime)(THIS_ LONGLONG llSampleTime, REFERENCE_TIME *prfTime) PURE; \
ICOM_METHOD2(HRESULT, RefTimeToSample, REFERENCE_TIME,rfTime, LONGLONG*,pllSampleTime) \ STDMETHOD(RefTimeToSample)(THIS_ REFERENCE_TIME rfTime, LONGLONG *pllSampleTime) PURE; \
ICOM_METHOD2(HRESULT, SetDirectSound, LPDIRECTSOUND,pDirectSound, LPDIRECTSOUNDBUFFER,pDirectSoundBuffer) \ STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE; \
ICOM_METHOD1(HRESULT, GetDesiredBufferSize, LPDWORD,pdwBufferSizeInSamples) STDMETHOD(GetDesiredBufferSize)(THIS_ LPDWORD pdwBufferSizeInSamples) PURE;
/*** IDirectMusicSynthSink methods ***/ /*** IDirectMusicSynthSink methods ***/
#define IDirectMusicSynthSink_IMETHODS \ #define IDirectMusicSynthSink_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectMusicSynthSink_METHODS IDirectMusicSynthSink_METHODS
ICOM_DEFINE(IDirectMusicSynthSink,IUnknown) ICOM_DEFINE(IDirectMusicSynthSink,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectMusicSynthSink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectMusicSynthSink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -193,16 +193,16 @@ typedef struct IPrint IPrint, *LPPRINT;
/***************************************************************************** /*****************************************************************************
* IOleDocument interface * IOleDocument interface
*/ */
#define ICOM_INTERFACE IOleDocument #define INTERFACE IOleDocument
#define IOleDocument_METHODS \ #define IOleDocument_METHODS \
ICOM_METHOD4(HRESULT,CreateView, IOleInPlaceSite*,pIPSite, IStream*,pstm, DWORD,dwReserved, IOleDocumentView**,ppView) \ STDMETHOD(CreateView)(THIS_ IOleInPlaceSite *pIPSite, IStream *pstm, DWORD dwReserved, IOleDocumentView **ppView) PURE; \
ICOM_METHOD1(HRESULT,GetDocMiscStatus, DWORD*,pdwStatus) \ STDMETHOD(GetDocMiscStatus)(THIS_ DWORD *pdwStatus) PURE; \
ICOM_METHOD2(HRESULT,EnumViews, IEnumOleDocumentViews**,ppEnum, IOleDocumentView**,ppView) STDMETHOD(EnumViews)(THIS_ IEnumOleDocumentViews **ppEnum, IOleDocumentView **ppView) PURE;
#define IOleDocument_IMETHODS \ #define IOleDocument_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleDocument_METHODS IOleDocument_METHODS
ICOM_DEFINE(IOleDocument,IUnknown) ICOM_DEFINE(IOleDocument,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleDocument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleDocument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -217,14 +217,14 @@ ICOM_DEFINE(IOleDocument,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleDocumentSite interface * IOleDocumentSite interface
*/ */
#define ICOM_INTERFACE IOleDocumentSite #define INTERFACE IOleDocumentSite
#define IOleDocumentSite_METHODS \ #define IOleDocumentSite_METHODS \
ICOM_METHOD1(HRESULT,ActivateMe, IOleDocumentView*,pViewToActivate) STDMETHOD(ActivateMe)(THIS_ IOleDocumentView *pViewToActivate) PURE;
#define IOleDocumentSite_IMETHODS \ #define IOleDocumentSite_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleDocumentSite_METHODS IOleDocumentSite_METHODS
ICOM_DEFINE(IOleDocumentSite,IUnknown) ICOM_DEFINE(IOleDocumentSite,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleDocumentSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleDocumentSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -237,26 +237,26 @@ ICOM_DEFINE(IOleDocumentSite,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleDocumentSite interface * IOleDocumentSite interface
*/ */
#define ICOM_INTERFACE IOleDocumentView #define INTERFACE IOleDocumentView
#define IOleDocumentView_METHODS \ #define IOleDocumentView_METHODS \
ICOM_METHOD1(HRESULT,SetInPlaceSite, IOleInPlaceSite*,pIPSite) \ STDMETHOD(SetInPlaceSite)(THIS_ IOleInPlaceSite *pIPSite) PURE; \
ICOM_METHOD1(HRESULT,GetInPlaceSite, IOleInPlaceSite**,ppIPSite) \ STDMETHOD(GetInPlaceSite)(THIS_ IOleInPlaceSite **ppIPSite) PURE; \
ICOM_METHOD1(HRESULT,GetDocument, IUnknown**,ppunk) \ STDMETHOD(GetDocument)(THIS_ IUnknown **ppunk) PURE; \
ICOM_METHOD1(HRESULT,SetRect, LPRECT,prcView) \ STDMETHOD(SetRect)(THIS_ LPRECT prcView) PURE; \
ICOM_METHOD1(HRESULT,GetRect, LPRECT,prcView) \ STDMETHOD(GetRect)(THIS_ LPRECT prcView) PURE; \
ICOM_METHOD4(HRESULT,SetRectComplex, LPRECT,prcView, LPRECT,prcHScroll, LPRECT,prcVScroll, LPRECT,prcSizeBox) \ STDMETHOD(SetRectComplex)(THIS_ LPRECT prcView, LPRECT prcHScroll, LPRECT prcVScroll, LPRECT prcSizeBox) PURE; \
ICOM_METHOD1(HRESULT,Show, BOOL,fShow) \ STDMETHOD(Show)(THIS_ BOOL fShow) PURE; \
ICOM_METHOD1(HRESULT,UIActivate, BOOL,fUIActivate) \ STDMETHOD(UIActivate)(THIS_ BOOL fUIActivate) PURE; \
ICOM_METHOD (HRESULT,Open) \ STDMETHOD(Open)(THIS) PURE; \
ICOM_METHOD1(HRESULT,CloseView, DWORD,dwReserved) \ STDMETHOD(CloseView)(THIS_ DWORD dwReserved) PURE; \
ICOM_METHOD1(HRESULT,SaveViewState, LPSTREAM,pstm) \ STDMETHOD(SaveViewState)(THIS_ LPSTREAM pstm) PURE; \
ICOM_METHOD1(HRESULT,ApplyViewState,LPSTREAM,pstm) \ STDMETHOD(ApplyViewState)(THIS_ LPSTREAM pstm) PURE; \
ICOM_METHOD2(HRESULT,Clone, IOleInPlaceSite*,pIPSiteNew, IOleDocumentView**,ppViewNew) STDMETHOD(Clone)(THIS_ IOleInPlaceSite *pIPSiteNew, IOleDocumentView **ppViewNew) PURE;
#define IOleDocumentView_IMETHODS \ #define IOleDocumentView_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleDocumentView_METHODS IOleDocumentView_METHODS
ICOM_DEFINE(IOleDocumentView,IUnknown) ICOM_DEFINE(IOleDocumentView,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleDocumentView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleDocumentView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -281,17 +281,17 @@ ICOM_DEFINE(IOleDocumentView,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleDocumentSite interface * IOleDocumentSite interface
*/ */
#define ICOM_INTERFACE IEnumOleDocumentViews #define INTERFACE IEnumOleDocumentViews
#define IEnumOleDocumentViews_METHODS \ #define IEnumOleDocumentViews_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,cViews, IOleDocumentView**,rgpView, ULONG*,pcFetched) \ STDMETHOD(Next)(THIS_ ULONG cViews, IOleDocumentView **rgpView, ULONG *pcFetched) PURE; \
ICOM_METHOD1(HRESULT,Skip, ULONG,cViews) \ STDMETHOD(Skip)(THIS_ ULONG cViews) PURE; \
ICOM_METHOD (HRESULT,Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Clone, IEnumOleDocumentViews**,ppEnum) STDMETHOD(Clone)(THIS_ IEnumOleDocumentViews **ppEnum) PURE;
#define IEnumOleDocumentViews_IMETHODS \ #define IEnumOleDocumentViews_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumOleDocumentViews_METHODS IEnumOleDocumentViews_METHODS
ICOM_DEFINE(IEnumOleDocumentViews,IUnknown) ICOM_DEFINE(IEnumOleDocumentViews,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumOleDocumentViews_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IEnumOleDocumentViews_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -307,15 +307,15 @@ ICOM_DEFINE(IEnumOleDocumentViews,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleCommandTarget interface * IOleCommandTarget interface
*/ */
#define ICOM_INTERFACE IOleCommandTarget #define INTERFACE IOleCommandTarget
#define IOleCommandTarget_METHODS \ #define IOleCommandTarget_METHODS \
ICOM_METHOD4(HRESULT,QueryStatus, const GUID*,pguidCmdGroup, ULONG,cCmds, OLECMD*,prgCmds, OLECMDTEXT*,pCmdText) \ STDMETHOD(QueryStatus)(THIS_ const GUID *pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText) PURE; \
ICOM_METHOD5(HRESULT,Exec, const GUID*,pguidCmdGroup, DWORD,nCmdID, DWORD,nCmdexecopt, VARIANT*,pvaIn, VARIANT*,pvaOut) STDMETHOD(Exec)(THIS_ const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) PURE;
#define IOleCommandTarget_IMETHODS \ #define IOleCommandTarget_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleCommandTarget_METHODS IOleCommandTarget_METHODS
ICOM_DEFINE(IOleCommandTarget,IUnknown) ICOM_DEFINE(IOleCommandTarget,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleCommandTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleCommandTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -329,15 +329,15 @@ ICOM_DEFINE(IOleCommandTarget,IUnknown)
/***************************************************************************** /*****************************************************************************
* IContinueCallback interface * IContinueCallback interface
*/ */
#define ICOM_INTERFACE IContinueCallback #define INTERFACE IContinueCallback
#define IContinueCallback_METHODS \ #define IContinueCallback_METHODS \
ICOM_METHOD (HRESULT,FContinue) \ STDMETHOD(FContinue)(THIS) PURE; \
ICOM_METHOD3(HRESULT,FContinuePrinting, LONG,nCntPrinted, LONG,nCurPage, WCHAR*,pwszPrintStatus) STDMETHOD(FContinuePrinting)(THIS_ LONG nCntPrinted, LONG nCurPage, WCHAR *pwszPrintStatus) PURE;
#define IContinueCallback_IMETHODS \ #define IContinueCallback_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IContinueCallback_METHODS IContinueCallback_METHODS
ICOM_DEFINE(IContinueCallback,IUnknown) ICOM_DEFINE(IContinueCallback,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IContinueCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IContinueCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -351,16 +351,16 @@ ICOM_DEFINE(IContinueCallback,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPrint interface * IPrint interface
*/ */
#define ICOM_INTERFACE IPrint #define INTERFACE IPrint
#define IPrint_METHODS \ #define IPrint_METHODS \
ICOM_METHOD1(HRESULT,SetInitialPageNum, LONG,nFirstPage) \ STDMETHOD(SetInitialPageNum)(THIS_ LONG nFirstPage) PURE; \
ICOM_METHOD2(HRESULT,GetPageInfo, LONG*,pnFirstPage, LONG*,pcPages) \ STDMETHOD(GetPageInfo)(THIS_ LONG *pnFirstPage, LONG *pcPages) PURE; \
ICOM_METHOD8(HRESULT,Print, DWORD,grfFlags, DVTARGETDEVICE**,pptd, PAGESET**,ppPageSet, STGMEDIUM*,pstgmOptions, IContinueCallback*,pcallback, LONG,nFirstPage, LONG*,pcPagesPrinted, LONG*,pnLastPage) STDMETHOD(Print)(THIS_ DWORD grfFlags, DVTARGETDEVICE **pptd, PAGESET **ppPageSet, STGMEDIUM *pstgmOptions, IContinueCallback *pcallback, LONG nFirstPage, LONG *pcPagesPrinted, LONG *pnLastPage) PURE;
#define IPrint_IMETHODS \ #define IPrint_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPrint_METHODS IPrint_METHODS
ICOM_DEFINE(IPrint,IUnknown) ICOM_DEFINE(IPrint,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPrint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPrint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -419,35 +419,35 @@ typedef BOOL (CALLBACK *LPDPENUMSESSIONSCALLBACK2)(
/***************************************************************************** /*****************************************************************************
* IDirectPlay interface * IDirectPlay interface
*/ */
#define ICOM_INTERFACE IDirectPlay #define INTERFACE IDirectPlay
#define IDirectPlay_METHODS \ #define IDirectPlay_METHODS \
ICOM_METHOD2(HRESULT,AddPlayerToGroup, DPID,idGroup, DPID,idPlayer) \ STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
ICOM_METHOD (HRESULT,Close) \ STDMETHOD(Close)(THIS) PURE; \
ICOM_METHOD4(HRESULT,CreatePlayer, LPDPID,lpidPlayer, LPSTR,lpPlayerName, LPSTR,, LPHANDLE,) \ STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPSTR lpPlayerName, LPSTR, LPHANDLE) PURE; \
ICOM_METHOD3(HRESULT,CreateGroup, LPDPID,lpidGroup, LPSTR,lpGroupName, LPSTR,) \ STDMETHOD(CreateGroup)(THIS_ LPDPID lpidGroup, LPSTR lpGroupName, LPSTR) PURE; \
ICOM_METHOD2(HRESULT,DeletePlayerFromGroup, DPID,idGroup, DPID,idPlayer) \ STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
ICOM_METHOD1(HRESULT,DestroyPlayer, DPID,idPlayer) \ STDMETHOD(DestroyPlayer)(THIS_ DPID idPlayer) PURE; \
ICOM_METHOD1(HRESULT,DestroyGroup, DPID,idGroup) \ STDMETHOD(DestroyGroup)(THIS_ DPID idGroup) PURE; \
ICOM_METHOD1(HRESULT,EnableNewPlayers, BOOL,) \ STDMETHOD(EnableNewPlayers)(THIS_ BOOL) PURE; \
ICOM_METHOD4(HRESULT,EnumGroupPlayers, DPID,idGroup, LPDPENUMPLAYERSCALLBACK,lpEnumPlayersCallback, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumGroupPlayers)(THIS_ DPID idGroup, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,EnumGroups, DWORD,, LPDPENUMPLAYERSCALLBACK,lpEnumPlayersCallback, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumGroups)(THIS_ DWORD, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,EnumPlayers, DWORD,, LPDPENUMPLAYERSCALLBACK,lpEnumPlayersCallback, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumPlayers)(THIS_ DWORD, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,EnumSessions, LPDPSESSIONDESC,lpsd, DWORD,dwTimeout, LPDPENUMSESSIONSCALLBACK,lpEnumSessionsCallback, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumSessions)(THIS_ LPDPSESSIONDESC lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK lpEnumSessionsCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDPCAPS,lpDPCaps) \ STDMETHOD(GetCaps)(THIS_ LPDPCAPS lpDPCaps) PURE; \
ICOM_METHOD2(HRESULT,GetMessageCount, DPID,idPlayer, LPDWORD,lpdwCount) \ STDMETHOD(GetMessageCount)(THIS_ DPID idPlayer, LPDWORD lpdwCount) PURE; \
ICOM_METHOD2(HRESULT,GetPlayerCaps, DPID,idPlayer, LPDPCAPS,lpPlayerCaps) \ STDMETHOD(GetPlayerCaps)(THIS_ DPID idPlayer, LPDPCAPS lpPlayerCaps) PURE; \
ICOM_METHOD5(HRESULT,GetPlayerName, DPID,idPlayer, LPSTR,, LPDWORD,, LPSTR,, LPDWORD,) \ STDMETHOD(GetPlayerName)(THIS_ DPID idPlayer, LPSTR, LPDWORD, LPSTR, LPDWORD) PURE; \
ICOM_METHOD1(HRESULT,Initialize, LPGUID,lpGUID) \ STDMETHOD(Initialize)(THIS_ LPGUID lpGUID) PURE; \
ICOM_METHOD1(HRESULT,Open, LPDPSESSIONDESC,lpsd) \ STDMETHOD(Open)(THIS_ LPDPSESSIONDESC lpsd) PURE; \
ICOM_METHOD5(HRESULT,Receive, LPDPID,lpidFrom, LPDPID,lpidTo, DWORD,dwFlags, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(Receive)(THIS_ LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD1(HRESULT,SaveSession, LPSTR,) \ STDMETHOD(SaveSession)(THIS_ LPSTR) PURE; \
ICOM_METHOD5(HRESULT,Send, DPID,idFrom, DPID,idTo, DWORD,dwFlags, LPVOID,lpData, DWORD,dwDataSize) \ STDMETHOD(Send)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize) PURE; \
ICOM_METHOD3(HRESULT,SetPlayerName, DPID,idPlayer, LPSTR,lpPlayerName, LPSTR,) STDMETHOD(SetPlayerName)(THIS_ DPID idPlayer, LPSTR lpPlayerName, LPSTR) PURE;
#define IDirectPlay_IMETHODS \ #define IDirectPlay_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectPlay_METHODS IDirectPlay_METHODS
ICOM_DEFINE(IDirectPlay,IUnknown) ICOM_DEFINE(IDirectPlay,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectPlay_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectPlay_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -481,42 +481,42 @@ ICOM_DEFINE(IDirectPlay,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectPlay2 and IDirectPlay2A interface * IDirectPlay2 and IDirectPlay2A interface
*/ */
#define ICOM_INTERFACE IDirectPlay2 #define INTERFACE IDirectPlay2
#define IDirectPlay2_METHODS \ #define IDirectPlay2_METHODS \
ICOM_METHOD2(HRESULT,AddPlayerToGroup, DPID,idGroup, DPID,idPlayer) \ STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
ICOM_METHOD (HRESULT,Close) \ STDMETHOD(Close)(THIS) PURE; \
ICOM_METHOD5(HRESULT,CreateGroup, LPDPID,lpidGroup, LPDPNAME,lpGroupName, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \ STDMETHOD(CreateGroup)(THIS_ LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD6(HRESULT,CreatePlayer, LPDPID,lpidPlayer, LPDPNAME,lpPlayerName, HANDLE,hEvent, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \ STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPDPNAME lpPlayerName, HANDLE hEvent, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,DeletePlayerFromGroup, DPID,idGroup, DPID,idPlayer) \ STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
ICOM_METHOD1(HRESULT,DestroyGroup, DPID,idGroup) \ STDMETHOD(DestroyGroup)(THIS_ DPID idGroup) PURE; \
ICOM_METHOD1(HRESULT,DestroyPlayer, DPID,idPlayer) \ STDMETHOD(DestroyPlayer)(THIS_ DPID idPlayer) PURE; \
ICOM_METHOD5(HRESULT,EnumGroupPlayers, DPID,idGroup, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumPlayersCallback2, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumGroupPlayers)(THIS_ DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,EnumGroups, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumPlayersCallback2, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumGroups)(THIS_ LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,EnumPlayers, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumPlayersCallback2, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumPlayers)(THIS_ LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,EnumSessions, LPDPSESSIONDESC2,lpsd, DWORD,dwTimeout, LPDPENUMSESSIONSCALLBACK2,lpEnumSessionsCallback2, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumSessions)(THIS_ LPDPSESSIONDESC2 lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumSessionsCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetCaps, LPDPCAPS,lpDPCaps, DWORD,dwFlags) \ STDMETHOD(GetCaps)(THIS_ LPDPCAPS lpDPCaps, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,GetGroupData, DPID,idGroup, LPVOID,lpData, LPDWORD,lpdwDataSize, DWORD,dwFlags) \ STDMETHOD(GetGroupData)(THIS_ DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,GetGroupName, DPID,idGroup, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(GetGroupName)(THIS_ DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD2(HRESULT,GetMessageCount, DPID,idPlayer, LPDWORD,lpdwCount) \ STDMETHOD(GetMessageCount)(THIS_ DPID idPlayer, LPDWORD lpdwCount) PURE; \
ICOM_METHOD3(HRESULT,GetPlayerAddress, DPID,idPlayer, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(GetPlayerAddress)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD3(HRESULT,GetPlayerCaps, DPID,idPlayer, LPDPCAPS,lpPlayerCaps, DWORD,dwFlags) \ STDMETHOD(GetPlayerCaps)(THIS_ DPID idPlayer, LPDPCAPS lpPlayerCaps, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,GetPlayerData, DPID,idPlayer, LPVOID,lpData, LPDWORD,lpdwDataSize, DWORD,dwFlags) \ STDMETHOD(GetPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,GetPlayerName, DPID,idPlayer, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(GetPlayerName)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD2(HRESULT,GetSessionDesc, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(GetSessionDesc)(THIS_ LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD1(HRESULT,Initialize, LPGUID,lpGUID) \ STDMETHOD(Initialize)(THIS_ LPGUID lpGUID) PURE; \
ICOM_METHOD2(HRESULT,Open, LPDPSESSIONDESC2,lpsd, DWORD,dwFlags) \ STDMETHOD(Open)(THIS_ LPDPSESSIONDESC2 lpsd, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,Receive, LPDPID,lpidFrom, LPDPID,lpidTo, DWORD,dwFlags, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(Receive)(THIS_ LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD5(HRESULT,Send, DPID,idFrom, DPID,idTo, DWORD,dwFlags, LPVOID,lpData, DWORD,dwDataSize) \ STDMETHOD(Send)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize) PURE; \
ICOM_METHOD4(HRESULT,SetGroupData, DPID,idGroup, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \ STDMETHOD(SetGroupData)(THIS_ DPID idGroup, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,SetGroupName, DPID,idGroup, LPDPNAME,lpGroupName, DWORD,dwFlags) \ STDMETHOD(SetGroupName)(THIS_ DPID idGroup, LPDPNAME lpGroupName, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,SetPlayerData, DPID,idPlayer, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \ STDMETHOD(SetPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,SetPlayerName, DPID,idPlayer, LPDPNAME,lpPlayerName, DWORD,dwFlags) \ STDMETHOD(SetPlayerName)(THIS_ DPID idPlayer, LPDPNAME lpPlayerName, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,SetSessionDesc, LPDPSESSIONDESC2,lpSessDesc, DWORD,dwFlags) STDMETHOD(SetSessionDesc)(THIS_ LPDPSESSIONDESC2 lpSessDesc, DWORD dwFlags) PURE;
#define IDirectPlay2_IMETHODS \ #define IDirectPlay2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectPlay2_METHODS IDirectPlay2_METHODS
ICOM_DEFINE(IDirectPlay2,IUnknown) ICOM_DEFINE(IDirectPlay2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectPlay2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectPlay2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -557,28 +557,28 @@ ICOM_DEFINE(IDirectPlay2,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectPlay3 and IDirectPlay3A interface * IDirectPlay3 and IDirectPlay3A interface
*/ */
#define ICOM_INTERFACE IDirectPlay3 #define INTERFACE IDirectPlay3
#define IDirectPlay3_METHODS \ #define IDirectPlay3_METHODS \
ICOM_METHOD2(HRESULT,AddGroupToGroup, DPID,idParentGroup, DPID,idGroup) \ STDMETHOD(AddGroupToGroup)(THIS_ DPID idParentGroup, DPID idGroup) PURE; \
ICOM_METHOD6(HRESULT,CreateGroupInGroup, DPID,idParentGroup, LPDPID,lpidGroup, LPDPNAME,lpGroupName, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \ STDMETHOD(CreateGroupInGroup)(THIS_ DPID idParentGroup, LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,DeleteGroupFromGroup, DPID,idParentGroup, DPID,idGroup) \ STDMETHOD(DeleteGroupFromGroup)(THIS_ DPID idParentGroup, DPID idGroup) PURE; \
ICOM_METHOD4(HRESULT,EnumConnections, LPCGUID,lpguidApplication, LPDPENUMCONNECTIONSCALLBACK,lpEnumCallback, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumConnections)(THIS_ LPCGUID lpguidApplication, LPDPENUMCONNECTIONSCALLBACK lpEnumCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD5(HRESULT,EnumGroupsInGroup, DPID,idGroup, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumCallback, LPVOID,lpContext, DWORD,dwFlags) \ STDMETHOD(EnumGroupsInGroup)(THIS_ DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,GetGroupConnectionSettings, DWORD,dwFlags, DPID,idGroup, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(GetGroupConnectionSettings)(THIS_ DWORD dwFlags, DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD2(HRESULT,InitializeConnection, LPVOID,lpConnection, DWORD,dwFlags) \ STDMETHOD(InitializeConnection)(THIS_ LPVOID lpConnection, DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,SecureOpen, LPCDPSESSIONDESC2,lpsd, DWORD,dwFlags, LPCDPSECURITYDESC,lpSecurity, LPCDPCREDENTIALS,lpCredentials) \ STDMETHOD(SecureOpen)(THIS_ LPCDPSESSIONDESC2 lpsd, DWORD dwFlags, LPCDPSECURITYDESC lpSecurity, LPCDPCREDENTIALS lpCredentials) PURE; \
ICOM_METHOD4(HRESULT,SendChatMessage, DPID,idFrom, DPID,idTo, DWORD,dwFlags, LPDPCHAT,lpChatMessage) \ STDMETHOD(SendChatMessage)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPDPCHAT lpChatMessage) PURE; \
ICOM_METHOD3(HRESULT,SetGroupConnectionSettings, DWORD,dwFlags, DPID,idGroup, LPDPLCONNECTION,lpConnection) \ STDMETHOD(SetGroupConnectionSettings)(THIS_ DWORD dwFlags, DPID idGroup, LPDPLCONNECTION lpConnection) PURE; \
ICOM_METHOD2(HRESULT,StartSession, DWORD,dwFlags, DPID,idGroup) \ STDMETHOD(StartSession)(THIS_ DWORD dwFlags, DPID idGroup) PURE; \
ICOM_METHOD2(HRESULT,GetGroupFlags, DPID,idGroup, LPDWORD,lpdwFlags) \ STDMETHOD(GetGroupFlags)(THIS_ DPID idGroup, LPDWORD lpdwFlags) PURE; \
ICOM_METHOD2(HRESULT,GetGroupParent, DPID,idGroup, LPDPID,lpidParent) \ STDMETHOD(GetGroupParent)(THIS_ DPID idGroup, LPDPID lpidParent) PURE; \
ICOM_METHOD4(HRESULT,GetPlayerAccount, DPID,idPlayer, DWORD,dwFlags, LPVOID,lpData, LPDWORD,lpdwDataSize) \ STDMETHOD(GetPlayerAccount)(THIS_ DPID idPlayer, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
ICOM_METHOD2(HRESULT,GetPlayerFlags, DPID,idPlayer, LPDWORD,lpdwFlags) STDMETHOD(GetPlayerFlags)(THIS_ DPID idPlayer, LPDWORD lpdwFlags) PURE;
#define IDirectPlay3_IMETHODS \ #define IDirectPlay3_IMETHODS \
IDirectPlay2_IMETHODS \ IDirectPlay2_IMETHODS \
IDirectPlay3_METHODS IDirectPlay3_METHODS
ICOM_DEFINE(IDirectPlay3,IDirectPlay2) ICOM_DEFINE(IDirectPlay3,IDirectPlay2)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectPlay3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectPlay3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -634,20 +634,20 @@ ICOM_DEFINE(IDirectPlay3,IDirectPlay2)
/***************************************************************************** /*****************************************************************************
* IDirectPlay4 and IDirectPlay4A interface * IDirectPlay4 and IDirectPlay4A interface
*/ */
#define ICOM_INTERFACE IDirectPlay4 #define INTERFACE IDirectPlay4
#define IDirectPlay4_METHODS \ #define IDirectPlay4_METHODS \
ICOM_METHOD2( HRESULT, GetGroupOwner, DPID,, LPDPID, ) \ STDMETHOD(GetGroupOwner)(THIS_ DPID , LPDPID ) PURE; \
ICOM_METHOD2( HRESULT, SetGroupOwner, DPID,, DPID, ) \ STDMETHOD(SetGroupOwner)(THIS_ DPID , DPID ) PURE; \
ICOM_METHOD9( HRESULT, SendEx, DPID,, DPID,, DWORD,, LPVOID,, DWORD,, DWORD,, DWORD,, LPVOID,, LPDWORD, ) \ STDMETHOD(SendEx)(THIS_ DPID , DPID , DWORD , LPVOID , DWORD , DWORD , DWORD , LPVOID , LPDWORD ) PURE; \
ICOM_METHOD5( HRESULT, GetMessageQueue, DPID,, DPID,, DWORD,, LPDWORD,, LPDWORD, ) \ STDMETHOD(GetMessageQueue)(THIS_ DPID , DPID , DWORD , LPDWORD , LPDWORD ) PURE; \
ICOM_METHOD2( HRESULT, CancelMessage, DWORD,, DWORD, ) \ STDMETHOD(CancelMessage)(THIS_ DWORD , DWORD ) PURE; \
ICOM_METHOD3( HRESULT, CancelPriority, DWORD,, DWORD,, DWORD, ) STDMETHOD(CancelPriority)(THIS_ DWORD , DWORD , DWORD ) PURE;
#define IDirectPlay4_IMETHODS \ #define IDirectPlay4_IMETHODS \
IDirectPlay3_IMETHODS \ IDirectPlay3_IMETHODS \
IDirectPlay4_METHODS IDirectPlay4_METHODS
ICOM_DEFINE(IDirectPlay4,IDirectPlay3) ICOM_DEFINE(IDirectPlay4,IDirectPlay3)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectPlayX_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectPlayX_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -368,52 +368,52 @@ typedef BOOL (CALLBACK *LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
/***************************************************************************** /*****************************************************************************
* IDirectPlayLobby and IDirectPlayLobbyA interface * IDirectPlayLobby and IDirectPlayLobbyA interface
*/ */
#define ICOM_INTERFACE IDirectPlayLobby #define INTERFACE IDirectPlayLobby
#define IDirectPlayLobby_METHODS \ #define IDirectPlayLobby_METHODS \
ICOM_METHOD3(HRESULT,Connect, DWORD,, LPDIRECTPLAY2*,, IUnknown*,) \ STDMETHOD(Connect)(THIS_ DWORD, LPDIRECTPLAY2*, IUnknown*) PURE; \
ICOM_METHOD6(HRESULT,CreateAddress, REFGUID,, REFGUID,, LPCVOID,, DWORD,, LPVOID,, LPDWORD,) \ STDMETHOD(CreateAddress)(THIS_ REFGUID, REFGUID, LPCVOID, DWORD, LPVOID, LPDWORD) PURE; \
ICOM_METHOD4(HRESULT,EnumAddress, LPDPENUMADDRESSCALLBACK,, LPCVOID,, DWORD,, LPVOID,) \ STDMETHOD(EnumAddress)(THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID, DWORD, LPVOID) PURE; \
ICOM_METHOD4(HRESULT,EnumAddressTypes, LPDPLENUMADDRESSTYPESCALLBACK,, REFGUID,, LPVOID,, DWORD,) \ STDMETHOD(EnumAddressTypes)(THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID, LPVOID, DWORD) PURE; \
ICOM_METHOD3(HRESULT,EnumLocalApplications, LPDPLENUMLOCALAPPLICATIONSCALLBACK,, LPVOID,, DWORD,) \ STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK, LPVOID, DWORD) PURE; \
ICOM_METHOD3(HRESULT,GetConnectionSettings, DWORD,, LPVOID,, LPDWORD,) \ STDMETHOD(GetConnectionSettings)(THIS_ DWORD, LPVOID, LPDWORD) PURE; \
ICOM_METHOD5(HRESULT,ReceiveLobbyMessage, DWORD,, DWORD,, LPDWORD,, LPVOID,, LPDWORD,) \ STDMETHOD(ReceiveLobbyMessage)(THIS_ DWORD, DWORD, LPDWORD, LPVOID, LPDWORD) PURE; \
ICOM_METHOD4(HRESULT,RunApplication, DWORD,, LPDWORD,, LPDPLCONNECTION,, HANDLE,) \ STDMETHOD(RunApplication)(THIS_ DWORD, LPDWORD, LPDPLCONNECTION, HANDLE) PURE; \
ICOM_METHOD4(HRESULT,SendLobbyMessage, DWORD,, DWORD,, LPVOID,, DWORD,) \ STDMETHOD(SendLobbyMessage)(THIS_ DWORD, DWORD, LPVOID, DWORD) PURE; \
ICOM_METHOD3(HRESULT,SetConnectionSettings, DWORD,, DWORD,, LPDPLCONNECTION,) \ STDMETHOD(SetConnectionSettings)(THIS_ DWORD, DWORD, LPDPLCONNECTION) PURE; \
ICOM_METHOD3(HRESULT,SetLobbyMessageEvent, DWORD,, DWORD,, HANDLE,) STDMETHOD(SetLobbyMessageEvent)(THIS_ DWORD, DWORD, HANDLE) PURE;
#define IDirectPlayLobby_IMETHODS \ #define IDirectPlayLobby_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectPlayLobby_METHODS IDirectPlayLobby_METHODS
ICOM_DEFINE(IDirectPlayLobby,IUnknown) ICOM_DEFINE(IDirectPlayLobby,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/***************************************************************************** /*****************************************************************************
* IDirectPlayLobby2 and IDirectPlayLobby2A interface * IDirectPlayLobby2 and IDirectPlayLobby2A interface
*/ */
#define ICOM_INTERFACE IDirectPlayLobby2 #define INTERFACE IDirectPlayLobby2
#define IDirectPlayLobby2_METHODS \ #define IDirectPlayLobby2_METHODS \
ICOM_METHOD4(HRESULT,CreateCompoundAddress, LPCDPCOMPOUNDADDRESSELEMENT,, DWORD,, LPVOID,, LPDWORD,) STDMETHOD(CreateCompoundAddress)(THIS_ LPCDPCOMPOUNDADDRESSELEMENT, DWORD, LPVOID, LPDWORD) PURE;
#define IDirectPlayLobby2_IMETHODS \ #define IDirectPlayLobby2_IMETHODS \
IDirectPlayLobby_IMETHODS \ IDirectPlayLobby_IMETHODS \
IDirectPlayLobby2_METHODS IDirectPlayLobby2_METHODS
ICOM_DEFINE(IDirectPlayLobby2,IDirectPlayLobby) ICOM_DEFINE(IDirectPlayLobby2,IDirectPlayLobby)
#undef ICOM_INTERFACE #undef INTERFACE
/***************************************************************************** /*****************************************************************************
* IDirectPlayLobby3 and IDirectPlayLobby3A interface * IDirectPlayLobby3 and IDirectPlayLobby3A interface
*/ */
#define ICOM_INTERFACE IDirectPlayLobby3 #define INTERFACE IDirectPlayLobby3
#define IDirectPlayLobby3_METHODS \ #define IDirectPlayLobby3_METHODS \
ICOM_METHOD4( HRESULT, ConnectEx, DWORD,, REFIID,, LPVOID *,, IUnknown *,) \ STDMETHOD(ConnectEx)(THIS_ DWORD, REFIID, LPVOID *, IUnknown *) PURE; \
ICOM_METHOD2( HRESULT, RegisterApplication, DWORD,, LPDPAPPLICATIONDESC, ) \ STDMETHOD(RegisterApplication)(THIS_ DWORD, LPDPAPPLICATIONDESC) PURE; \
ICOM_METHOD2( HRESULT, UnregisterApplication, DWORD,, REFGUID, ) \ STDMETHOD(UnregisterApplication)(THIS_ DWORD, REFGUID) PURE; \
ICOM_METHOD1( HRESULT, WaitForConnectionSettings, DWORD, ) STDMETHOD(WaitForConnectionSettings)(THIS_ DWORD) PURE;
#define IDirectPlayLobby3_IMETHODS \ #define IDirectPlayLobby3_IMETHODS \
IDirectPlayLobby2_IMETHODS \ IDirectPlayLobby2_IMETHODS \
IDirectPlayLobby3_METHODS IDirectPlayLobby3_METHODS
ICOM_DEFINE(IDirectPlayLobby3,IDirectPlayLobby2) ICOM_DEFINE(IDirectPlayLobby3,IDirectPlayLobby2)
#undef ICOM_INTERFACE #undef INTERFACE
#define IDirectPlayLobby_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectPlayLobby_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectPlayLobby_AddRef(p) ICOM_CALL (AddRef,p) #define IDirectPlayLobby_AddRef(p) ICOM_CALL (AddRef,p)

View File

@ -132,19 +132,19 @@ typedef struct _DSCDRIVERCAPS
/***************************************************************************** /*****************************************************************************
* IDsDriver interface * IDsDriver interface
*/ */
#define ICOM_INTERFACE IDsDriver #define INTERFACE IDsDriver
#define IDsDriver_METHODS \ #define IDsDriver_METHODS \
ICOM_METHOD1(HRESULT,GetDriverDesc, PDSDRIVERDESC,pDsDriverDesc) \ STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE; \
ICOM_METHOD (HRESULT,Open) \ STDMETHOD(Open)(THIS) PURE; \
ICOM_METHOD (HRESULT,Close) \ STDMETHOD(Close)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, PDSDRIVERCAPS,pDsDrvCaps) \ STDMETHOD(GetCaps)(THIS_ PDSDRIVERCAPS pDsDrvCaps) PURE; \
ICOM_METHOD6(HRESULT,CreateSoundBuffer, LPWAVEFORMATEX,pwfx,DWORD,dwFlags,DWORD,dwCardAddress,LPDWORD,pdwcbBufferSize,LPBYTE*,ppbBuffer,LPVOID*,ppvObj) \ STDMETHOD(CreateSoundBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE; \
ICOM_METHOD2(HRESULT,DuplicateSoundBuffer, PIDSDRIVERBUFFER,pIDsDriverBuffer,LPVOID*,ppvObj) STDMETHOD(DuplicateSoundBuffer)(THIS_ PIDSDRIVERBUFFER pIDsDriverBuffer,LPVOID *ppvObj) PURE;
#define IDsDriver_IMETHODS \ #define IDsDriver_IMETHODS \
IUnknown_METHODS \ IUnknown_METHODS \
IDsDriver_METHODS IDsDriver_METHODS
ICOM_DEFINE(IDsDriver,IUnknown) ICOM_DEFINE(IDsDriver,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDsDriver_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDsDriver_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -161,22 +161,22 @@ ICOM_DEFINE(IDsDriver,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDsDriverBuffer interface * IDsDriverBuffer interface
*/ */
#define ICOM_INTERFACE IDsDriverBuffer #define INTERFACE IDsDriverBuffer
#define IDsDriverBuffer_METHODS \ #define IDsDriverBuffer_METHODS \
ICOM_METHOD7(HRESULT,Lock, LPVOID*,ppvAudio1,LPDWORD,pdwLen1,LPVOID*,pdwAudio2,LPDWORD,pdwLen2,DWORD,dwWritePosition,DWORD,dwWriteLen,DWORD,dwFlags) \ STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *pdwAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,pvAudio1,DWORD,dwLen1,LPVOID,pvAudio2,DWORD,dwLen2) \ STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE; \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,pwfxToSet) \ STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE; \
ICOM_METHOD1(HRESULT,SetFrequency, DWORD,dwFrequency) \ STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
ICOM_METHOD1(HRESULT,SetVolumePan, PDSVOLUMEPAN,pDsVolumePan) \ STDMETHOD(SetVolumePan)(THIS_ PDSVOLUMEPAN pDsVolumePan) PURE; \
ICOM_METHOD1(HRESULT,SetPosition, DWORD,dwNewPosition) \ STDMETHOD(SetPosition)(THIS_ DWORD dwNewPosition) PURE; \
ICOM_METHOD2(HRESULT,GetPosition, LPDWORD,lpdwCurrentPlayCursor,LPDWORD,lpdwCurrentWriteCursor) \ STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE; \
ICOM_METHOD3(HRESULT,Play, DWORD,dwReserved1,DWORD,dwReserved2,DWORD,dwFlags) \ STDMETHOD(Play)(THIS_ DWORD dwReserved1,DWORD dwReserved2,DWORD dwFlags) PURE; \
ICOM_METHOD (HRESULT,Stop) STDMETHOD(Stop)(THIS) PURE;
#define IDsDriverBuffer_IMETHODS \ #define IDsDriverBuffer_IMETHODS \
IUnknown_METHODS \ IUnknown_METHODS \
IDsDriverBuffer_METHODS IDsDriverBuffer_METHODS
ICOM_DEFINE(IDsDriverBuffer,IUnknown) ICOM_DEFINE(IDsDriverBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDsDriverBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDsDriverBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -196,16 +196,16 @@ ICOM_DEFINE(IDsDriverBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDsDriverPropertySet interface * IDsDriverPropertySet interface
*/ */
#define ICOM_INTERFACE IDsDriverPropertySet #define INTERFACE IDsDriverPropertySet
#define IDsDriverPropertySet_METHODS \ #define IDsDriverPropertySet_METHODS \
ICOM_METHOD6(HRESULT,Get, PDSPROPERTY,pDsProperty,LPVOID,pPropertyParams,ULONG,cbPropertyParams,LPVOID,pPropertyData,ULONG,cbPropertyData,PULONG,pcbReturnedData) \ STDMETHOD(Get)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData,PULONG pcbReturnedData) PURE; \
ICOM_METHOD5(HRESULT,Set, PDSPROPERTY,pDsProperty,LPVOID,pPropertyParams,ULONG,cbPropertyParams,LPVOID,pPropertyData,ULONG,cbPropertyData) \ STDMETHOD(Set)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData) PURE; \
ICOM_METHOD3(HRESULT,QuerySupport, REFGUID,PropertySetId,ULONG,PropertyId,PULONG,pSupport) STDMETHOD(QuerySupport)(THIS_ REFGUID PropertySetId,ULONG PropertyId,PULONG pSupport) PURE;
#define IDsDriverPropertySet_IMETHODS \ #define IDsDriverPropertySet_IMETHODS \
IUnknown_METHODS \ IUnknown_METHODS \
IDsDriverPropertySet_METHODS IDsDriverPropertySet_METHODS
ICOM_DEFINE(IDsDriverPropertySet,IUnknown) ICOM_DEFINE(IDsDriverPropertySet,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDsDriverPropertySet_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDsDriverPropertySet_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -254,14 +254,14 @@ typedef enum
/***************************************************************************** /*****************************************************************************
* IDsDriverNotify interface * IDsDriverNotify interface
*/ */
#define ICOM_INTERFACE IDsDriverNotify #define INTERFACE IDsDriverNotify
#define IDsDriverNotify_METHODS \ #define IDsDriverNotify_METHODS \
ICOM_METHOD2(HRESULT,SetNotificationPositions, DWORD,dwPositionNotifies,LPCDSBPOSITIONNOTIFY,pcPositionNotifies) STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
#define IDsDriverNotify_IMETHODS \ #define IDsDriverNotify_IMETHODS \
IUnknown_METHODS \ IUnknown_METHODS \
IDsDriverNotify_METHODS IDsDriverNotify_METHODS
ICOM_DEFINE(IDsDriverNotify,IUnknown) ICOM_DEFINE(IDsDriverNotify,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDsDriverNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDsDriverNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -273,18 +273,18 @@ ICOM_DEFINE(IDsDriverNotify,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDsCaptureDriver interface * IDsCaptureDriver interface
*/ */
#define ICOM_INTERFACE IDsCaptureDriver #define INTERFACE IDsCaptureDriver
#define IDsCaptureDriver_METHODS \ #define IDsCaptureDriver_METHODS \
ICOM_METHOD1(HRESULT,GetDriverDesc, PDSDRIVERDESC,pDsDriverDesc) \ STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE; \
ICOM_METHOD (HRESULT,Open) \ STDMETHOD(Open)(THIS) PURE; \
ICOM_METHOD (HRESULT,Close) \ STDMETHOD(Close)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, PDSCDRIVERCAPS,pDsDrvCaps) \ STDMETHOD(GetCaps)(THIS_ PDSCDRIVERCAPS pDsDrvCaps) PURE; \
ICOM_METHOD6(HRESULT,CreateCaptureBuffer, LPWAVEFORMATEX,pwfx,DWORD,dwFlags,DWORD,dwCardAddress,LPDWORD,pdwcbBufferSize,LPBYTE*,ppbBuffer,LPVOID*,ppvObj) STDMETHOD(CreateCaptureBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
#define IDsCaptureDriver_IMETHODS \ #define IDsCaptureDriver_IMETHODS \
IUnknown_METHODS \ IUnknown_METHODS \
IDsCaptureDriver_METHODS IDsCaptureDriver_METHODS
ICOM_DEFINE(IDsCaptureDriver,IUnknown) ICOM_DEFINE(IDsCaptureDriver,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDsCaptureDriver_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDsCaptureDriver_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -300,20 +300,20 @@ ICOM_DEFINE(IDsCaptureDriver,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDsCaptureDriverBuffer interface * IDsCaptureDriverBuffer interface
*/ */
#define ICOM_INTERFACE IDsCaptureDriverBuffer #define INTERFACE IDsCaptureDriverBuffer
#define IDsCaptureDriverBuffer_METHODS \ #define IDsCaptureDriverBuffer_METHODS \
ICOM_METHOD7(HRESULT,Lock, LPVOID*,ppvAudio1,LPDWORD,pdwLen1,LPVOID*,ppvAudio2,LPDWORD,pdwLen2,DWORD,dwWritePosition,DWORD,dwWriteLen,DWORD,dwFlags) \ STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *ppvAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE; \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,pvAudio1,DWORD,dwLen1,LPVOID,pvAudio2,DWORD,dwLen2) \ STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE; \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,pwfxToSet) \ STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE; \
ICOM_METHOD2(HRESULT,GetPosition, LPDWORD,lpdwCurrentPlayCursor,LPDWORD,lpdwCurrentWriteCursor) \ STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE; \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \ STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
ICOM_METHOD1(HRESULT,Start, DWORD,dwFlags) \ STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD (HRESULT,Stop) STDMETHOD(Stop)(THIS) PURE;
#define IDsCaptureDriverBuffer_IMETHODS \ #define IDsCaptureDriverBuffer_IMETHODS \
IUnknown_METHODS \ IUnknown_METHODS \
IDsCaptureDriverBuffer_METHODS IDsCaptureDriverBuffer_METHODS
ICOM_DEFINE(IDsCaptureDriverBuffer,IUnknown) ICOM_DEFINE(IDsCaptureDriverBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDsCaptureDriverBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDsCaptureDriverBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -330,21 +330,21 @@ extern HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
/***************************************************************************** /*****************************************************************************
* IDirectSound interface * IDirectSound interface
*/ */
#define ICOM_INTERFACE IDirectSound #define INTERFACE IDirectSound
#define IDirectSound_METHODS \ #define IDirectSound_METHODS \
ICOM_METHOD3(HRESULT,CreateSoundBuffer, LPDSBUFFERDESC,lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER,lplpDirectSoundBuffer, IUnknown*,pUnkOuter) \ STDMETHOD(CreateSoundBuffer)(THIS_ LPDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCAPS,lpDSCaps) \ STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
ICOM_METHOD2(HRESULT,DuplicateSoundBuffer, LPDIRECTSOUNDBUFFER,lpDsbOriginal, LPLPDIRECTSOUNDBUFFER,lplpDsbDuplicate) \ STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE; \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hwnd, DWORD,dwLevel) \ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE; \
ICOM_METHOD (HRESULT,Compact) \ STDMETHOD(Compact)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetSpeakerConfig, LPDWORD,lpdwSpeakerConfig) \ STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE; \
ICOM_METHOD1(HRESULT,SetSpeakerConfig, DWORD,dwSpeakerConfig) \ STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE; \
ICOM_METHOD1(HRESULT,Initialize, LPCGUID,lpcGuid) STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE;
#define IDirectSound_IMETHODS \ #define IDirectSound_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSound_METHODS IDirectSound_METHODS
ICOM_DEFINE(IDirectSound,IUnknown) ICOM_DEFINE(IDirectSound,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSound_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSound_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -364,22 +364,22 @@ ICOM_DEFINE(IDirectSound,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSound8 interface * IDirectSound8 interface
*/ */
#define ICOM_INTERFACE IDirectSound8 #define INTERFACE IDirectSound8
#define IDirectSound8_METHODS \ #define IDirectSound8_METHODS \
ICOM_METHOD3(HRESULT,CreateSoundBuffer, LPDSBUFFERDESC,lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER8,lplpDirectSoundBuffer, IUnknown*,pUnkOuter) \ STDMETHOD(CreateSoundBuffer)(THIS_ LPDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCAPS,lpDSCaps) \ STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
ICOM_METHOD2(HRESULT,DuplicateSoundBuffer, LPDIRECTSOUNDBUFFER8,lpDsbOriginal, LPLPDIRECTSOUNDBUFFER8,lplpDsbDuplicate) \ STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER8 lpDsbOriginal, LPLPDIRECTSOUNDBUFFER8 lplpDsbDuplicate) PURE; \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hwnd, DWORD,dwLevel) \ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE; \
ICOM_METHOD (HRESULT,Compact) \ STDMETHOD(Compact)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetSpeakerConfig, LPDWORD,lpdwSpeakerConfig) \ STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE; \
ICOM_METHOD1(HRESULT,SetSpeakerConfig, DWORD,dwSpeakerConfig) \ STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE; \
ICOM_METHOD1(HRESULT,Initialize, LPCGUID,lpcGuid) \ STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE; \
ICOM_METHOD1(HRESULT,VerifyCertification, LPDWORD,pdwCertified) STDMETHOD(VerifyCertification)(THIS_ LPDWORD pdwCertified) PURE;
#define IDirectSound8_IMETHODS \ #define IDirectSound8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSound8_METHODS IDirectSound8_METHODS
ICOM_DEFINE(IDirectSound8,IUnknown) ICOM_DEFINE(IDirectSound8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSound8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSound8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -401,31 +401,31 @@ ICOM_DEFINE(IDirectSound8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSoundBuffer interface * IDirectSoundBuffer interface
*/ */
#define ICOM_INTERFACE IDirectSoundBuffer #define INTERFACE IDirectSoundBuffer
#define IDirectSoundBuffer_METHODS \ #define IDirectSoundBuffer_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDSBCAPS,lpDSBufferCaps) \ STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
ICOM_METHOD2(HRESULT,GetCurrentPosition, LPDWORD,lpdwCurrentPlayCursor, LPDWORD,lpdwCurrentWriteCursor) \ STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
ICOM_METHOD3(HRESULT,GetFormat, LPWAVEFORMATEX,lpwfxFormat, DWORD,dwSizeAllocated, LPDWORD,lpdwSizeWritten) \ STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
ICOM_METHOD1(HRESULT,GetVolume, LPLONG,lplVolume) \ STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE; \
ICOM_METHOD1(HRESULT,GetPan, LPLONG,lplpan) \ STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE; \
ICOM_METHOD1(HRESULT,GetFrequency, LPDWORD,lpdwFrequency) \ STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \ STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTSOUND,lpDirectSound, LPDSBUFFERDESC,lpcDSBufferDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPDSBUFFERDESC lpcDSBufferDesc) PURE; \
ICOM_METHOD7(HRESULT,Lock, DWORD,dwWriteCursor, DWORD,dwWriteBytes, LPVOID,lplpvAudioPtr1, LPDWORD,lpdwAudioBytes1, LPVOID,lplpvAudioPtr2, LPDWORD,lpdwAudioBytes2, DWORD,dwFlags) \ STDMETHOD(Lock)(THIS_ DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,Play, DWORD,dwReserved1, DWORD,dwReserved2, DWORD,dwFlags) \ STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,SetCurrentPosition, DWORD,dwNewPosition) \ STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE; \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,lpcfxFormat) \ STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX lpcfxFormat) PURE; \
ICOM_METHOD1(HRESULT,SetVolume, LONG,lVolume) \ STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE; \
ICOM_METHOD1(HRESULT,SetPan, LONG,lPan) \ STDMETHOD(SetPan)(THIS_ LONG lPan) PURE; \
ICOM_METHOD1(HRESULT,SetFrequency, DWORD,dwFrequency) \ STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
ICOM_METHOD (HRESULT,Stop) \ STDMETHOD(Stop)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,lpvAudioPtr1, DWORD,dwAudioBytes1, LPVOID,lpvAudioPtr2, DWORD,dwAudioPtr2) \ STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioPtr2) PURE; \
ICOM_METHOD (HRESULT,Restore) STDMETHOD(Restore)(THIS) PURE;
#define IDirectSoundBuffer_IMETHODS \ #define IDirectSoundBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSoundBuffer_METHODS IDirectSoundBuffer_METHODS
ICOM_DEFINE(IDirectSoundBuffer,IUnknown) ICOM_DEFINE(IDirectSoundBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSoundBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -455,34 +455,34 @@ ICOM_DEFINE(IDirectSoundBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSoundBuffer8 interface * IDirectSoundBuffer8 interface
*/ */
#define ICOM_INTERFACE IDirectSoundBuffer8 #define INTERFACE IDirectSoundBuffer8
#define IDirectSoundBuffer8_METHODS \ #define IDirectSoundBuffer8_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDSBCAPS,lpDSBufferCaps) \ STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
ICOM_METHOD2(HRESULT,GetCurrentPosition, LPDWORD,lpdwCurrentPlayCursor, LPDWORD,lpdwCurrentWriteCursor) \ STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
ICOM_METHOD3(HRESULT,GetFormat, LPWAVEFORMATEX,lpwfxFormat, DWORD,dwSizeAllocated, LPDWORD,lpdwSizeWritten) \ STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
ICOM_METHOD1(HRESULT,GetVolume, LPLONG,lplVolume) \ STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE; \
ICOM_METHOD1(HRESULT,GetPan, LPLONG,lplpan) \ STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE; \
ICOM_METHOD1(HRESULT,GetFrequency, LPDWORD,lpdwFrequency) \ STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \ STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTSOUND8,lpDirectSound, LPDSBUFFERDESC,lpcDSBufferDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND8 lpDirectSound, LPDSBUFFERDESC lpcDSBufferDesc) PURE; \
ICOM_METHOD7(HRESULT,Lock, DWORD,dwWriteCursor, DWORD,dwWriteBytes, LPVOID,lplpvAudioPtr1, LPDWORD,lpdwAudioBytes1, LPVOID,lplpvAudioPtr2, LPDWORD,lpdwAudioBytes2, DWORD,dwFlags) \ STDMETHOD(Lock)(THIS_ DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
ICOM_METHOD3(HRESULT,Play, DWORD,dwReserved1, DWORD,dwReserved2, DWORD,dwFlags) \ STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,SetCurrentPosition, DWORD,dwNewPosition) \ STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE; \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,lpcfxFormat) \ STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX lpcfxFormat) PURE; \
ICOM_METHOD1(HRESULT,SetVolume, LONG,lVolume) \ STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE; \
ICOM_METHOD1(HRESULT,SetPan, LONG,lPan) \ STDMETHOD(SetPan)(THIS_ LONG lPan) PURE; \
ICOM_METHOD1(HRESULT,SetFrequency, DWORD,dwFrequency) \ STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
ICOM_METHOD (HRESULT,Stop) \ STDMETHOD(Stop)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,lpvAudioPtr1, DWORD,dwAudioBytes1, LPVOID,lpvAudioPtr2, DWORD,dwAudioPtr2) \ STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioPtr2) PURE; \
ICOM_METHOD (HRESULT,Restore) \ STDMETHOD(Restore)(THIS) PURE; \
ICOM_METHOD3(HRESULT,SetFX, DWORD,dwEffectsCount, LPDSEFFECTDESC,pDSFXDesc, LPDWORD,pdwResultCodes) \ STDMETHOD(SetFX)(THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE; \
ICOM_METHOD3(HRESULT,AcquireResources, DWORD,dwFlags, DWORD,dwEffectsCount, LPDWORD,pdwResultCodes) \ STDMETHOD(AcquireResources)(THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE; \
ICOM_METHOD4(HRESULT,GetObjectInPath, REFGUID,rguidObject, DWORD,dwIndex, REFGUID,rguidInterface, LPVOID*,ppObject) STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
#define IDirectSoundBuffer8_IMETHODS \ #define IDirectSoundBuffer8_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSoundBuffer8_METHODS IDirectSoundBuffer8_METHODS
ICOM_DEFINE(IDirectSoundBuffer8,IUnknown) ICOM_DEFINE(IDirectSoundBuffer8,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSoundBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -516,17 +516,17 @@ ICOM_DEFINE(IDirectSoundBuffer8,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSoundCapture interface * IDirectSoundCapture interface
*/ */
#define ICOM_INTERFACE IDirectSoundCapture #define INTERFACE IDirectSoundCapture
#define IDirectSoundCapture_METHODS \ #define IDirectSoundCapture_METHODS \
ICOM_METHOD3(HRESULT,CreateCaptureBuffer, LPCDSCBUFFERDESC,lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER*,lplpDSCaptureBuffer, LPUNKNOWN,pUnk) \ STDMETHOD(CreateCaptureBuffer)(THIS_ LPCDSCBUFFERDESC lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER *lplpDSCaptureBuffer, LPUNKNOWN pUnk) PURE; \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCCAPS,lpDSCCaps) \ STDMETHOD(GetCaps)(THIS_ LPDSCCAPS lpDSCCaps) PURE; \
ICOM_METHOD1(HRESULT,Initialize, LPCGUID,lpcGUID) STDMETHOD(Initialize)(THIS_ LPCGUID lpcGUID) PURE;
#define IDirectSoundCapture_IMETHODS \ #define IDirectSoundCapture_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSoundCapture_METHODS IDirectSoundCapture_METHODS
ICOM_DEFINE(IDirectSoundCapture,IUnknown) ICOM_DEFINE(IDirectSoundCapture,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IDirectSoundCapture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundCapture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundCapture_AddRef(p) ICOM_CALL (AddRef,p) #define IDirectSoundCapture_AddRef(p) ICOM_CALL (AddRef,p)
@ -538,23 +538,23 @@ ICOM_DEFINE(IDirectSoundCapture,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSoundCaptureBuffer interface * IDirectSoundCaptureBuffer interface
*/ */
#define ICOM_INTERFACE IDirectSoundCaptureBuffer #define INTERFACE IDirectSoundCaptureBuffer
#define IDirectSoundCaptureBuffer_METHODS \ #define IDirectSoundCaptureBuffer_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCBCAPS,lpDSCBCaps) \ STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE; \
ICOM_METHOD2(HRESULT,GetCurrentPosition, LPDWORD,lpdwCapturePosition,LPDWORD,lpdwReadPosition) \ STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE; \
ICOM_METHOD3(HRESULT,GetFormat, LPWAVEFORMATEX,lpwfxFormat, DWORD,dwSizeAllocated, LPDWORD,lpdwSizeWritten) \ STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \ STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTSOUNDCAPTURE,lpDSC, LPCDSCBUFFERDESC,lpcDSCBDesc) \ STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE; \
ICOM_METHOD7(HRESULT,Lock, DWORD,dwReadCusor, DWORD,dwReadBytes, LPVOID*,lplpvAudioPtr1, LPDWORD,lpdwAudioBytes1, LPVOID*,lplpvAudioPtr2, LPDWORD,lpdwAudioBytes2, DWORD,dwFlags) \ STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,Start, DWORD,dwFlags) \ STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD (HRESULT,Stop) \ STDMETHOD(Stop)(THIS) PURE; \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,lpvAudioPtr1, DWORD,dwAudioBytes1, LPVOID,lpvAudioPtr2, DWORD,dwAudioBytes2) STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2) PURE;
#define IDirectSoundCaptureBuffer_IMETHODS \ #define IDirectSoundCaptureBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSoundCaptureBuffer_METHODS IDirectSoundCaptureBuffer_METHODS
ICOM_DEFINE(IDirectSoundCaptureBuffer,IUnknown) ICOM_DEFINE(IDirectSoundCaptureBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundCaptureBuffer_AddRef(p) ICOM_CALL (AddRef,p) #define IDirectSoundCaptureBuffer_AddRef(p) ICOM_CALL (AddRef,p)
@ -572,16 +572,16 @@ ICOM_DEFINE(IDirectSoundCaptureBuffer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSoundCaptureBuffer8 interface * IDirectSoundCaptureBuffer8 interface
*/ */
#define ICOM_INTERFACE IDirectSoundCaptureBuffer8 #define INTERFACE IDirectSoundCaptureBuffer8
#define IDirectSoundCaptureBuffer8_METHODS \ #define IDirectSoundCaptureBuffer8_METHODS \
ICOM_METHOD4(HRESULT,GetObjectInPath, REFGUID,rguidObject, DWORD,dwIndex, REFGUID,rguidInterface, LPVOID*,ppObject) \ STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE; \
ICOM_METHOD2(HRESULT,GetFXStatus, DWORD,dwFXCount, LPDWORD,pdwFXStatus) STDMETHOD(GetFXStatus)(THIS_ DWORD dwFXCount, LPDWORD pdwFXStatus) PURE;
#define IDirectSoundCaptureBuffer8_IMETHODS \ #define IDirectSoundCaptureBuffer8_IMETHODS \
IDirectSoundCaptureBuffer_IMETHODS \ IDirectSoundCaptureBuffer_IMETHODS \
IDirectSoundCaptureBuffer8_METHODS IDirectSoundCaptureBuffer8_METHODS
ICOM_DEFINE(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer) ICOM_DEFINE(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
#undef ICOM_INTERFACE #undef INTERFACE
#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundCaptureBuffer8_AddRef(p) ICOM_CALL (AddRef,p) #define IDirectSoundCaptureBuffer8_AddRef(p) ICOM_CALL (AddRef,p)
@ -605,14 +605,14 @@ ICOM_DEFINE(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
#define DSBPN_OFFSETSTOP -1 #define DSBPN_OFFSETSTOP -1
#define ICOM_INTERFACE IDirectSoundNotify #define INTERFACE IDirectSoundNotify
#define IDirectSoundNotify_METHODS \ #define IDirectSoundNotify_METHODS \
ICOM_METHOD2(HRESULT,SetNotificationPositions, DWORD,cPositionNotifies, LPCDSBPOSITIONNOTIFY,lpcPositionNotifies) STDMETHOD(SetNotificationPositions)(THIS_ DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies) PURE;
#define IDirectSoundNotify_IMETHODS \ #define IDirectSoundNotify_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSoundNotify_METHODS IDirectSoundNotify_METHODS
ICOM_DEFINE(IDirectSoundNotify,IUnknown) ICOM_DEFINE(IDirectSoundNotify,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSoundNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -666,28 +666,28 @@ typedef struct _DS3DLISTENER {
typedef const DS3DLISTENER *LPCDS3DLISTENER; typedef const DS3DLISTENER *LPCDS3DLISTENER;
#define ICOM_INTERFACE IDirectSound3DListener #define INTERFACE IDirectSound3DListener
#define IDirectSound3DListener_METHODS \ #define IDirectSound3DListener_METHODS \
ICOM_METHOD1(HRESULT,GetAllParameters, LPDS3DLISTENER,lpListener) \ STDMETHOD(GetAllParameters)(THIS_ LPDS3DLISTENER lpListener) PURE; \
ICOM_METHOD1(HRESULT,GetDistanceFactor, LPD3DVALUE,lpflDistanceFactor) \ STDMETHOD(GetDistanceFactor)(THIS_ LPD3DVALUE lpflDistanceFactor) PURE; \
ICOM_METHOD1(HRESULT,GetDopplerFactor, LPD3DVALUE,lpflDopplerFactor) \ STDMETHOD(GetDopplerFactor)(THIS_ LPD3DVALUE lpflDopplerFactor) PURE; \
ICOM_METHOD2(HRESULT,GetOrientation, LPD3DVECTOR,lpvOrientFront, LPD3DVECTOR,lpvOrientTop) \ STDMETHOD(GetOrientation)(THIS_ LPD3DVECTOR lpvOrientFront, LPD3DVECTOR lpvOrientTop) PURE; \
ICOM_METHOD1(HRESULT,GetPosition, LPD3DVECTOR,lpvPosition) \ STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE; \
ICOM_METHOD1(HRESULT,GetRolloffFactor, LPD3DVALUE,lpflRolloffFactor) \ STDMETHOD(GetRolloffFactor)(THIS_ LPD3DVALUE lpflRolloffFactor) PURE; \
ICOM_METHOD1(HRESULT,GetVelocity, LPD3DVECTOR,lpvVelocity) \ STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE; \
ICOM_METHOD2(HRESULT,SetAllParameters, LPCDS3DLISTENER,lpcListener, DWORD,dwApply) \ STDMETHOD(SetAllParameters)(THIS_ LPCDS3DLISTENER lpcListener, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetDistanceFactor, D3DVALUE,flDistanceFactor, DWORD,dwApply) \ STDMETHOD(SetDistanceFactor)(THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetDopplerFactor, D3DVALUE,flDopplerFactor, DWORD,dwApply) \ STDMETHOD(SetDopplerFactor)(THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE; \
ICOM_METHOD7(HRESULT,SetOrientation, D3DVALUE,xFront, D3DVALUE,yFront, D3DVALUE,zFront, D3DVALUE,xTop, D3DVALUE,yTop, D3DVALUE,zTop, DWORD,dwApply) \ STDMETHOD(SetOrientation)(THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront, D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE; \
ICOM_METHOD4(HRESULT,SetPosition, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \ STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetRolloffFactor, D3DVALUE,flRolloffFactor, DWORD,dwApply) \ STDMETHOD(SetRolloffFactor)(THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE; \
ICOM_METHOD4(HRESULT,SetVelocity, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \ STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
ICOM_METHOD (HRESULT,CommitDeferredSettings) STDMETHOD(CommitDeferredSettings)(THIS) PURE;
#define IDirectSound3DListener_IMETHODS \ #define IDirectSound3DListener_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSound3DListener_METHODS IDirectSound3DListener_METHODS
ICOM_DEFINE(IDirectSound3DListener,IUnknown) ICOM_DEFINE(IDirectSound3DListener,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSound3DListener_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSound3DListener_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -729,31 +729,31 @@ typedef struct _DS3DBUFFER {
typedef const DS3DBUFFER *LPCDS3DBUFFER; typedef const DS3DBUFFER *LPCDS3DBUFFER;
#define ICOM_INTERFACE IDirectSound3DBuffer #define INTERFACE IDirectSound3DBuffer
#define IDirectSound3DBuffer_METHODS \ #define IDirectSound3DBuffer_METHODS \
ICOM_METHOD1(HRESULT,GetAllParameters, LPDS3DBUFFER,lpDs3dBuffer) \ STDMETHOD(GetAllParameters)(THIS_ LPDS3DBUFFER lpDs3dBuffer) PURE; \
ICOM_METHOD2(HRESULT,GetConeAngles, LPDWORD,lpdwInsideConeAngle, LPDWORD,lpdwOutsideConeAngle) \ STDMETHOD(GetConeAngles)(THIS_ LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle) PURE; \
ICOM_METHOD1(HRESULT,GetConeOrientation, LPD3DVECTOR,lpvOrientation) \ STDMETHOD(GetConeOrientation)(THIS_ LPD3DVECTOR lpvOrientation) PURE; \
ICOM_METHOD1(HRESULT,GetConeOutsideVolume, LPLONG,lplConeOutsideVolume) \ STDMETHOD(GetConeOutsideVolume)(THIS_ LPLONG lplConeOutsideVolume) PURE; \
ICOM_METHOD1(HRESULT,GetMaxDistance, LPD3DVALUE,lpflMaxDistance) \ STDMETHOD(GetMaxDistance)(THIS_ LPD3DVALUE lpflMaxDistance) PURE; \
ICOM_METHOD1(HRESULT,GetMinDistance, LPD3DVALUE,lpflMinDistance) \ STDMETHOD(GetMinDistance)(THIS_ LPD3DVALUE lpflMinDistance) PURE; \
ICOM_METHOD1(HRESULT,GetMode, LPDWORD,lpwdMode) \ STDMETHOD(GetMode)(THIS_ LPDWORD lpwdMode) PURE; \
ICOM_METHOD1(HRESULT,GetPosition, LPD3DVECTOR,lpvPosition) \ STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE; \
ICOM_METHOD1(HRESULT,GetVelocity, LPD3DVECTOR,lpvVelocity) \ STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE; \
ICOM_METHOD2(HRESULT,SetAllParameters, LPCDS3DBUFFER,lpcDs3dBuffer, DWORD,dwApply) \ STDMETHOD(SetAllParameters)(THIS_ LPCDS3DBUFFER lpcDs3dBuffer, DWORD dwApply) PURE; \
ICOM_METHOD3(HRESULT,SetConeAngles, DWORD,dwInsideConeAngle, DWORD,dwOutsideConeAngle, DWORD,dwApply) \ STDMETHOD(SetConeAngles)(THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE; \
ICOM_METHOD4(HRESULT,SetConeOrientation, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \ STDMETHOD(SetConeOrientation)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetConeOutsideVolume, LONG,lConeOutsideVolume, DWORD,dwApply) \ STDMETHOD(SetConeOutsideVolume)(THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetMaxDistance, D3DVALUE,flMaxDistance, DWORD,dwApply) \ STDMETHOD(SetMaxDistance)(THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetMinDistance, D3DVALUE,flMinDistance, DWORD,dwApply) \ STDMETHOD(SetMinDistance)(THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE; \
ICOM_METHOD2(HRESULT,SetMode, DWORD,dwMode, DWORD,dwApply) \ STDMETHOD(SetMode)(THIS_ DWORD dwMode, DWORD dwApply) PURE; \
ICOM_METHOD4(HRESULT,SetPosition, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \ STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
ICOM_METHOD4(HRESULT,SetVelocity, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
#define IDirectSound3DBuffer_IMETHODS \ #define IDirectSound3DBuffer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSound3DBuffer_METHODS IDirectSound3DBuffer_METHODS
ICOM_DEFINE(IDirectSound3DBuffer,IUnknown) ICOM_DEFINE(IDirectSound3DBuffer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDirectSound3DBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSound3DBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -785,16 +785,16 @@ ICOM_DEFINE(IDirectSound3DBuffer,IUnknown)
#define KSPROPERTY_SUPPORT_GET 1 #define KSPROPERTY_SUPPORT_GET 1
#define KSPROPERTY_SUPPORT_SET 2 #define KSPROPERTY_SUPPORT_SET 2
#define ICOM_INTERFACE IKsPropertySet #define INTERFACE IKsPropertySet
#define IKsPropertySet_METHODS \ #define IKsPropertySet_METHODS \
ICOM_METHOD7(HRESULT,Get,REFGUID,rgid,ULONG,x1,LPVOID,p1,ULONG,x2,LPVOID,p2,ULONG,x3,ULONG*,px4)\ STDMETHOD(Get)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3,ULONG *px4) PURE;\
ICOM_METHOD6(HRESULT,Set,REFGUID,rgid,ULONG,x1,LPVOID,p1,ULONG,x2,LPVOID,p2,ULONG,x3)\ STDMETHOD(Set)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3) PURE;\
ICOM_METHOD3(HRESULT,QuerySupport,REFGUID,rgid,ULONG,x1,ULONG*,px2) STDMETHOD(QuerySupport)(THIS_ REFGUID rgid,ULONG x1,ULONG *px2) PURE;
#define IKsPropertySet_IMETHODS \ #define IKsPropertySet_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IKsPropertySet_METHODS IKsPropertySet_METHODS
ICOM_DEFINE(IKsPropertySet,IUnknown) ICOM_DEFINE(IKsPropertySet,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IKsPropertySet_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IKsPropertySet_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IKsPropertySet_AddRef(p) ICOM_CALL (AddRef,p) #define IKsPropertySet_AddRef(p) ICOM_CALL (AddRef,p)
@ -807,14 +807,14 @@ ICOM_DEFINE(IKsPropertySet,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDirectSoundFullDuplex interface * IDirectSoundFullDuplex interface
*/ */
#define ICOM_INTERFACE IDirectSoundFullDuplex #define INTERFACE IDirectSoundFullDuplex
#define IDirectSoundFullDuplex_METHODS \ #define IDirectSoundFullDuplex_METHODS \
ICOM_METHOD8(HRESULT,Initialize,LPCGUID,pCaptureGuid,LPCGUID,pRendererGuid,LPCDSCBUFFERDESC,lpDscBufferDesc,LPCDSBUFFERDESC,lpDsBufferDesc,HWND,hWnd,DWORD,dwLevel,LPLPDIRECTSOUNDCAPTUREBUFFER8,lplpDirectSoundCaptureBuffer8,LPLPDIRECTSOUNDBUFFER8,lplpDirectSoundBuffer8) STDMETHOD(Initialize)(THIS_ LPCGUID pCaptureGuid,LPCGUID pRendererGuid,LPCDSCBUFFERDESC lpDscBufferDesc,LPCDSBUFFERDESC lpDsBufferDesc,HWND hWnd,DWORD dwLevel,LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8,LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8) PURE;
#define IDirectSoundFullDuplex_IMETHODS \ #define IDirectSoundFullDuplex_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDirectSoundFullDuplex_METHODS IDirectSoundFullDuplex_METHODS
ICOM_DEFINE(IDirectSoundFullDuplex,IUnknown) ICOM_DEFINE(IDirectSoundFullDuplex,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IDirectSoundFullDuplex_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDirectSoundFullDuplex_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundFullDuplex_AddRef(p) ICOM_CALL (AddRef,p) #define IDirectSoundFullDuplex_AddRef(p) ICOM_CALL (AddRef,p)

File diff suppressed because it is too large Load Diff

View File

@ -292,19 +292,19 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
* *
* Let's take Direct3D as an example: * Let's take Direct3D as an example:
* *
* #define ICOM_INTERFACE IDirect3D * #define INTERFACE IDirect3D
* #define IDirect3D_METHODS \ * #define IDirect3D_METHODS \
* ICOM_METHOD1(HRESULT,Initialize, REFIID,) \ * STDMETHOD(Initialize)(THIS_ REFIID) PURE; \
* ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,, LPVOID,) \ * STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK, LPVOID) PURE; \
* ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,, IUnknown*,) \ * STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT*, IUnknown*) PURE; \
* ICOM_METHOD2(HRESULT,CreateMaterial,LPDIRECT3DMATERIAL*,, IUnknown*,) \ * STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL*, IUnknown*) PURE; \
* ICOM_METHOD2(HRESULT,CreateViewport,LPDIRECT3DVIEWPORT*,, IUnknown*,) \ * STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT*, IUnknown*) PURE; \
* ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,, LPD3DFINDDEVICERESULT,) * STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT) PURE;
* #define IDirect3D_IMETHODS \ * #define IDirect3D_IMETHODS \
* IUnknown_IMETHODS \ * IUnknown_IMETHODS \
* IDirect3D_METHODS * IDirect3D_METHODS
* ICOM_DEFINE(IDirect3D,IUnknown) * ICOM_DEFINE(IDirect3D,IUnknown)
* #undef ICOM_INTERFACE * #undef INTERFACE
* *
* #ifdef ICOM_CINTERFACE * #ifdef ICOM_CINTERFACE
* // *** IUnknown methods *** // * // *** IUnknown methods *** //
@ -321,10 +321,10 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
* #endif * #endif
* *
* Comments: * Comments:
* - The ICOM_INTERFACE macro is used in the ICOM_METHOD macros to define the type of the 'this' * - The INTERFACE macro is used in the STDMETHOD macros to define the type of the 'this'
* pointer. Defining this macro here saves us the trouble of having to repeat the interface * pointer. Defining this macro here saves us the trouble of having to repeat the interface
* name everywhere. Note however that because of the way macros work, a macro like ICOM_METHOD1 * name everywhere. Note however that because of the way macros work, a macro like STDMETHOD
* cannot use 'ICOM_INTERFACE##_VTABLE' because this would give 'ICOM_INTERFACE_VTABLE' and not * cannot use 'INTERFACE##_VTABLE' because this would give 'INTERFACE_VTABLE' and not
* 'IDirect3D_VTABLE'. * 'IDirect3D_VTABLE'.
* - ICOM_METHODS defines the methods specific to this interface. It is then aggregated with the * - ICOM_METHODS defines the methods specific to this interface. It is then aggregated with the
* inherited methods to form ICOM_IMETHODS. * inherited methods to form ICOM_IMETHODS.
@ -336,18 +336,9 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
* Inherited methods are inherited in C by using the IDirect3D_METHODS macro and the parent's * Inherited methods are inherited in C by using the IDirect3D_METHODS macro and the parent's
* Xxx_IMETHODS macro. In C++ we need only use the IDirect3D_METHODS since method inheritance * Xxx_IMETHODS macro. In C++ we need only use the IDirect3D_METHODS since method inheritance
* is taken care of by the language. * is taken care of by the language.
* - In C++ the ICOM_METHOD macros generate a function prototype and a call to a function pointer * - The 'undef INTERFACE' is here to remind you that using INTERFACE in the following macros
* method. This means using once 't1 p1, t2 p2, ...' and once 'p1, p2' without the types. The * will not work. This time it's because the ICOM_CALL macro expansion is done only once the
* only way I found to handle this is to have one ICOM_METHOD macro per number of parameters and * 'IDirect3D_Xxx' macro is expanded. And by that time INTERFACE will be long gone anyway.
* to have it take only the type information (with const if necessary) as parameters.
* The 'undef ICOM_INTERFACE' is here to remind you that using ICOM_INTERFACE in the following
* macros will not work. This time it's because the ICOM_CALL macro expansion is done only once
* the 'IDirect3D_Xxx' macro is expanded. And by that time ICOM_INTERFACE will be long gone
* anyway.
* - You may have noticed the double commas after each parameter type. This allows you to put the
* name of that parameter which I think is good for documentation. It is not required and since
* I did not know what to put there for this example (I could only find doc about IDirect3D2),
* I left them blank.
* - Finally the set of 'IDirect3D_Xxx' macros is a standard set of macros defined to ease access * - Finally the set of 'IDirect3D_Xxx' macros is a standard set of macros defined to ease access
* to the interface methods in C. Unfortunately I don't see any way to avoid having to duplicate * to the interface methods in C. Unfortunately I don't see any way to avoid having to duplicate
* the inherited method definitions there. This time I could have used a trick to use only one * the inherited method definitions there. This time I could have used a trick to use only one
@ -411,49 +402,18 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
* And in C++ (with gcc's g++): * And in C++ (with gcc's g++):
* *
* typedef struct IDirect3D: public IUnknown { * typedef struct IDirect3D: public IUnknown {
* private: HRESULT (*Initialize)(IDirect3D* me, REFIID a); * virtual HRESULT Initialize(REFIID a) = 0;
* public: inline HRESULT Initialize(REFIID a) { return ((IDirect3D*)t.lpVtbl)->Initialize(this,a); }; * virtual HRESULT EnumDevices(LPD3DENUMDEVICESCALLBACK a, LPVOID b) = 0;
* private: HRESULT (*EnumDevices)(IDirect3D* me, LPD3DENUMDEVICESCALLBACK a, LPVOID b); * virtual HRESULT CreateLight(LPDIRECT3DLIGHT* a, IUnknown* b) = 0;
* public: inline HRESULT EnumDevices(LPD3DENUMDEVICESCALLBACK a, LPVOID b) * virtual HRESULT CreateMaterial(LPDIRECT3DMATERIAL* a, IUnknown* b) = 0;
* { return ((IDirect3D*)t.lpVtbl)->EnumDevices(this,a,b); }; * virtual HRESULT CreateViewport(LPDIRECT3DVIEWPORT* a, IUnknown* b) = 0;
* private: HRESULT (*freateLight)(IDirect3D* me, LPDIRECT3DLIGHT* a, IUnknown* b); * virtual HRESULT FindDevice(LPD3DFINDDEVICESEARCH a, LPD3DFINDDEVICERESULT b) = 0;
* public: inline HRESULT CreateLight(LPDIRECT3DLIGHT* a, IUnknown* b)
* { return ((IDirect3D*)t.lpVtbl)->CreateLight(this,a,b); };
* private: HRESULT (*CreateMaterial)(IDirect3D* me, LPDIRECT3DMATERIAL* a, IUnknown* b);
* public: inline HRESULT CreateMaterial(LPDIRECT3DMATERIAL* a, IUnknown* b)
* { return ((IDirect3D*)t.lpVtbl)->CreateMaterial(this,a,b); };
* private: HRESULT (*CreateViewport)(IDirect3D* me, LPDIRECT3DVIEWPORT* a, IUnknown* b);
* public: inline HRESULT CreateViewport(LPDIRECT3DVIEWPORT* a, IUnknown* b)
* { return ((IDirect3D*)t.lpVtbl)->CreateViewport(this,a,b); };
* private: HRESULT (*FindDevice)(IDirect3D* me, LPD3DFINDDEVICESEARCH a, LPD3DFINDDEVICERESULT b);
* public: inline HRESULT FindDevice(LPD3DFINDDEVICESEARCH a, LPD3DFINDDEVICERESULT b)
* { return ((IDirect3D*)t.lpVtbl)->FindDevice(this,a,b); };
* }; * };
* *
* Comments: * Comments:
* - In C++ IDirect3D does double duty as both the virtual/jump table and as the interface
* definition. The reason for this is to avoid having to duplicate the mehod definitions: once
* to have the function pointers in the jump table and once to have the methods in the interface
* class. Here one macro can generate both. This means though that the first pointer, t.lpVtbl
* defined in IUnknown, must be interpreted as the jump table pointer if we interpret the
* structure as the the interface class, and as the function pointer to the QueryInterface
* method, t.QueryInterface, if we interpret the structure as the jump table. Fortunately this
* gymnastic is entirely taken care of in the header of IUnknown.
* - Of course in C++ we use inheritance so that we don't have to duplicate the method definitions. * - Of course in C++ we use inheritance so that we don't have to duplicate the method definitions.
* - Since IDirect3D does double duty, each ICOM_METHOD macro defines both a function pointer and
* a non-vritual inline method which dereferences it and calls it. This way this method behaves
* just like a virtual method but does not create a true C++ virtual table which would break the
* structure layout. If you look at the implementation of these methods you'll notice that they
* would not work for void functions. We have to return something and fortunately this seems to
* be what all the COM methods do (otherwise we would need another set of macros).
* - Note how the ICOM_METHOD generates both function prototypes mixing types and formal parameter
* names and the method invocation using only the formal parameter name. This is the reason why
* we need different macros to handle different numbers of parameters.
* - Finally there is no IDirect3D_Xxx macro. These are not needed in C++ unless the CINTERFACE * - Finally there is no IDirect3D_Xxx macro. These are not needed in C++ unless the CINTERFACE
* macro is defined in which case we would not be here. * macro is defined in which case we would not be here.
* - This C++ code works well for code that just uses COM interfaces. But it will not work with
* C++ code implement a COM interface. That's because such code assumes the interface methods
* are declared as virtual C++ methods which is not the case here.
* *
* *
* Implementing a COM interface. * Implementing a COM interface.
@ -505,268 +465,81 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
#endif #endif
#ifndef ICOM_CINTERFACE #ifndef ICOM_CINTERFACE
/* C++ interface */ /* C++ interface */
#define ICOM_METHOD(ret,xfn) \ #define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
public: virtual ret CALLBACK (xfn)(void) = 0; #define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
#define ICOM_METHOD1(ret,xfn,ta,na) \ #define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method
public: virtual ret CALLBACK (xfn)(ta a) = 0; #define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method
#define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
public: virtual ret CALLBACK (xfn)(ta a,tb b) = 0;
#define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c) = 0;
#define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d) = 0;
#define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e) = 0;
#define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
#define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
#define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
#define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) = 0;
#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) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) = 0;
#define ICOM_METHOD11(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k) = 0;
#define ICOM_METHOD12(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l) = 0;
#define ICOM_METHOD13(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m) = 0;
#define ICOM_METHOD14(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n) = 0;
#define ICOM_METHOD15(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o) = 0;
#define ICOM_METHOD16(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p) = 0;
#define ICOM_METHOD17(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q) = 0;
#define ICOM_METHOD18(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r) = 0;
#define ICOM_METHOD19(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s) = 0;
#define ICOM_METHOD20(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t) = 0;
#define ICOM_METHOD21(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u) = 0;
#define ICOM_METHOD22(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v) = 0;
#define ICOM_METHOD23(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w) = 0;
#define ICOM_METHOD24(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x) = 0;
#define ICOM_METHOD25(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y) = 0;
#define ICOM_METHOD26(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny,tz,nz) \
public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y,tz z) = 0;
#define PURE = 0
#define THIS_
#define THIS void
#define ICOM_VMETHOD(xfn) \ #define interface struct
public: virtual void CALLBACK (xfn)(void) = 0; #define DECLARE_INTERFACE(iface) interface iface
#define ICOM_VMETHOD1(xfn,ta,na) \ #define DECLARE_INTERFACE_(iface,ibase) interface iface : public ibase
public: virtual void CALLBACK (xfn)(ta a) = 0;
#define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
public: virtual void CALLBACK (xfn)(ta a,tb b) = 0;
#define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c) = 0;
#define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d) = 0;
#define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e) = 0;
#define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
#define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
#define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
#define ICOM_VMETHOD9(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) = 0;
#define ICOM_VMETHOD10(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i, tj j) = 0;
#define ICOM_VMETHOD11(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i, tj j, tk k) = 0;
#define ICOM_VMETHOD12(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l) = 0;
#define ICOM_VMETHOD13(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m) = 0;
#define ICOM_VMETHOD14(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n) = 0;
#define ICOM_VMETHOD15(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o) = 0;
#define ICOM_VMETHOD16(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p) = 0;
#define ICOM_VMETHOD17(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q) = 0;
#define ICOM_VMETHOD18(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r) = 0;
#define ICOM_VMETHOD19(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s) = 0;
#define ICOM_VMETHOD20(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t) = 0;
#define ICOM_VMETHOD21(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u) = 0;
#define ICOM_VMETHOD22(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v) = 0;
#define ICOM_VMETHOD23(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w) = 0;
#define ICOM_VMETHOD24(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x) = 0;
#define ICOM_VMETHOD25(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y) = 0;
#define ICOM_VMETHOD26(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny,tz,nz) \
public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y,tz z) = 0;
#define BEGIN_INTERFACE
#define END_INTERFACE
/* Wine-specific macros */
#define ICOM_DEFINE(iface,ibase) \ #define ICOM_DEFINE(iface,ibase) \
struct iface: public ibase { \ DECLARE_INTERFACE_(iface,ibase) { \
iface##_METHODS \
} ICOM_COM_INTERFACE_ATTRIBUTE;
#define ICOM_DEFINE1(iface) \
struct iface { \
iface##_METHODS \ iface##_METHODS \
} ICOM_COM_INTERFACE_ATTRIBUTE; } ICOM_COM_INTERFACE_ATTRIBUTE;
#define ICOM_VTBL(iface) (iface) #define ICOM_VTBL(iface) (iface)
#else #else /* ICOM_CINTERFACE */
/* C interface */ /* C interface */
#define ICOM_METHOD(ret,xfn) \ #define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE *method)
ret (CALLBACK *xfn)(ICOM_INTERFACE* me); #define STDMETHOD_(type,method) type (STDMETHODCALLTYPE *method)
#define ICOM_METHOD1(ret,xfn,ta,na) \ #define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a); #define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE *method)
#define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b);
#define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
#define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
#define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
#define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
#define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
#define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
ret (CALLBACK *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 *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 *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_METHOD11(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k);
#define ICOM_METHOD12(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l);
#define ICOM_METHOD13(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m);
#define ICOM_METHOD14(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n);
#define ICOM_METHOD15(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o);
#define ICOM_METHOD16(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p);
#define ICOM_METHOD17(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q);
#define ICOM_METHOD18(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r);
#define ICOM_METHOD19(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s);
#define ICOM_METHOD20(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t);
#define ICOM_METHOD21(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u);
#define ICOM_METHOD22(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v);
#define ICOM_METHOD23(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w);
#define ICOM_METHOD24(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x);
#define ICOM_METHOD25(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y);
#define ICOM_METHOD26(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny,tz,nz) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y,tz z);
#define ICOM_VMETHOD(xfn) \ #define PURE
void (CALLBACK *xfn)(ICOM_INTERFACE* me); #define THIS_ INTERFACE *This,
#define ICOM_VMETHOD1(xfn,ta,na) \ #define THIS INTERFACE *This
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a);
#define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b);
#define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
#define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
#define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
#define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
#define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
#define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,nh) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
#define ICOM_VMETHOD9(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ni) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i);
#define ICOM_VMETHOD10(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,nj) \
void (CALLBACK *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_VMETHOD11(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,nk) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k);
#define ICOM_VMETHOD12(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l);
#define ICOM_VMETHOD13(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m);
#define ICOM_VMETHOD14(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n);
#define ICOM_VMETHOD15(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o);
#define ICOM_VMETHOD16(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p);
#define ICOM_VMETHOD17(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q);
#define ICOM_VMETHOD18(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r);
#define ICOM_VMETHOD19(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s);
#define ICOM_VMETHOD20(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t);
#define ICOM_VMETHOD21(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u);
#define ICOM_VMETHOD22(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v);
#define ICOM_VMETHOD23(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w);
#define ICOM_VMETHOD24(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x);
#define ICOM_VMETHOD25(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y);
#define ICOM_VMETHOD26(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj,tk,nk,tl,nl,tm,nm,tn,nn,to,no,tp,np,tq,nq,tr,nr,ts,ns,tt,nt,tu,nu,tv,nv,tw,nw,tx,nx,ty,ny,tz,nz) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j,tk k,tl l,tm m,tn n,to o,tp p,tq q,tr r,ts s,tt t,tu u,tv v,tw w,tx x,ty y,tz z);
#define interface struct
#define ICOM_VTABLE(iface) iface##Vtbl #ifdef CONST_VTABLE
#define ICOM_VFIELD(iface) ICOM_VTABLE(iface)* lpVtbl #undef CONST_VTBL
#define ICOM_VTBL(iface) (iface)->lpVtbl #define CONST_VTBL const
#define DECLARE_INTERFACE(iface) \
/*typedef*/ interface iface { const struct iface##Vtbl *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 *lpVtbl; } /*iface*/; \
typedef struct iface##Vtbl iface##Vtbl; \
struct iface##Vtbl
#endif
#define DECLARE_INTERFACE_(iface,ibase) DECLARE_INTERFACE(iface)
#define BEGIN_INTERFACE
#define END_INTERFACE
/* Wine-specific macros */
#define ICOM_DEFINE(iface,ibase) \ #define ICOM_DEFINE(iface,ibase) \
typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \ DECLARE_INTERFACE_(iface,ibase) { \
struct iface { \
const ICOM_VFIELD(iface); \
}; \
struct ICOM_VTABLE(iface) { \
ICOM_MSVTABLE_COMPAT_FIELDS \ ICOM_MSVTABLE_COMPAT_FIELDS \
ibase##_IMETHODS \ ibase##_IMETHODS \
iface##_METHODS \ iface##_METHODS \
}; };
#define ICOM_DEFINE1(iface) \
typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \ #define ICOM_VTABLE(iface) iface##Vtbl
struct iface { \ #define ICOM_VFIELD(iface) ICOM_VTABLE(iface)* lpVtbl
const ICOM_VFIELD(iface); \ #define ICOM_VTBL(iface) (iface)->lpVtbl
}; \
struct ICOM_VTABLE(iface) { \
ICOM_MSVTABLE_COMPAT_FIELDS \
iface##_METHODS \
};
#define ICOM_THIS(impl,iface) impl* const This=(impl*)(iface) #define ICOM_THIS(impl,iface) impl* const This=(impl*)(iface)
#define ICOM_CTHIS(impl,iface) const impl* const This=(const impl*)(iface) #define ICOM_CTHIS(impl,iface) const impl* const This=(const impl*)(iface)
@ -774,7 +547,7 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
#define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field)) #define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
#define ICOM_CTHIS_MULTI(impl,field,iface) const impl* const This=(const impl*)((char*)(iface) - offsetof(impl,field)) #define ICOM_CTHIS_MULTI(impl,field,iface) const impl* const This=(const impl*)((char*)(iface) - offsetof(impl,field))
#endif /*ICOM_CINTERFACE */ #endif /* ICOM_CINTERFACE */
#define ICOM_CALL(xfn, ptr) ICOM_VTBL(ptr)->xfn(ptr) #define ICOM_CALL(xfn, ptr) ICOM_VTBL(ptr)->xfn(ptr)
#define ICOM_CALL1(xfn, ptr,a) ICOM_VTBL(ptr)->xfn(ptr,a) #define ICOM_CALL1(xfn, ptr,a) ICOM_VTBL(ptr)->xfn(ptr,a)
@ -806,59 +579,13 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
#ifndef __WINESRC__ #ifndef __WINESRC__
/* These macros are msdev's way of defining COM objects.
* They are provided here for use by Winelib developpers.
*/
#define FARSTRUCT #define FARSTRUCT
#define HUGEP #define HUGEP
#define WINOLEAPI STDAPI #define WINOLEAPI STDAPI
#define WINOLEAPI_(type) STDAPI_(type) #define WINOLEAPI_(type) STDAPI_(type)
#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
#define BEGIN_INTERFACE
#define END_INTERFACE
#else
#define interface struct
#define STDMETHOD(method) HRESULT STDMETHODCALLTYPE (*method)
#define STDMETHOD_(type,method) type STDMETHODCALLTYPE (*method)
#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)
#define BEGIN_INTERFACE
#define END_INTERFACE
#endif /* __cplusplus && !CINTERFACE */
#endif /* __WINESRC__ */ #endif /* __WINESRC__ */
#endif /* _OBJBASE_H_ */ #endif /* _OBJBASE_H_ */

File diff suppressed because it is too large Load Diff

View File

@ -640,53 +640,49 @@ DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
/***************************************************************************** /*****************************************************************************
* IOleUILinkContainer interface * IOleUILinkContainer interface
*/ */
#define ICOM_INTERFACE IOleUILinkContainerA #define INTERFACE IOleUILinkContainerA
#define IOleUILinkContainerA_METHODS \ #define IOleUILinkContainerA_METHODS \
ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \ STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \ STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \ STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPSTR,lpszDisplayName, \ STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName, \
ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \ ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \ STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName, \
LPSTR*,lplpszDisplayName, ULONG*,lplenFileName, \ LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType, \
LPSTR*,lplpszFullLinkType, LPSTR*,lplpszShortLinkType, \ BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \ STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \ STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \ STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
BOOL,fErrorMessage, BOOL,fReserved) \
ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
#define IOleUILinkContainerA_IMETHODS \ #define IOleUILinkContainerA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleUILinkContainerA_METHODS IOleUILinkContainerA_METHODS
ICOM_DEFINE(IOleUILinkContainerA, IUnknown) ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IOleUILinkContainerW #define INTERFACE IOleUILinkContainerW
#define IOleUILinkContainerW_METHODS \ #define IOleUILinkContainerW_METHODS \
ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \ STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \ STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \ STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPWSTR,lpszDisplayName, \ STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName, \
ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \ ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \ STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName, \
LPWSTR*,lplpszDisplayName, ULONG*,lplenFileName, \ LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType, \
LPWSTR*,lplpszFullLinkType, LPWSTR*,lplpszShortLinkType, \ BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \ STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \ STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \ STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
BOOL,fErrorMessage, BOOL,fReserved) \
ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
#define IOleUILinkContainerW_IMETHODS \ #define IOleUILinkContainerW_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleUILinkContainerW_METHODS IOleUILinkContainerW_METHODS
ICOM_DEFINE(IOleUILinkContainerW, IUnknown) ICOM_DEFINE(IOleUILinkContainerW, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
DECL_WINELIB_TYPE_AW(IOleUILinkContainer) DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER) DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER) DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
#if ICOM_INTERFACE #if ICOM_CINTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleUILinkContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleUILinkContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IOleUILinkContainer_AddRef(p) ICOM_CALL (AddRef,p) #define IOleUILinkContainer_AddRef(p) ICOM_CALL (AddRef,p)
@ -706,23 +702,23 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
/***************************************************************************** /*****************************************************************************
* IOleUILinkInfo interface * IOleUILinkInfo interface
*/ */
#define ICOM_INTERFACE IOleUILinkInfoA #define INTERFACE IOleUILinkInfoA
#define IOleUILinkInfoA_METHODS \ #define IOleUILinkInfoA_METHODS \
ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate) STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
#define IOleUILinkInfoA_IMETHODS \ #define IOleUILinkInfoA_IMETHODS \
IOleUILinkContainerA_IMETHODS \ IOleUILinkContainerA_IMETHODS \
IOleUILinkInfoA_METHODS IOleUILinkInfoA_METHODS
ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA) ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IOleUILinkInfoW #define INTERFACE IOleUILinkInfoW
#define IOleUILinkInfoW_METHODS \ #define IOleUILinkInfoW_METHODS \
ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate) STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
#define IOleUILinkInfoW_IMETHODS \ #define IOleUILinkInfoW_IMETHODS \
IOleUILinkContainerW_IMETHODS \ IOleUILinkContainerW_IMETHODS \
IOleUILinkInfoW_METHODS IOleUILinkInfoW_METHODS
ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW) ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
#undef ICOM_INTERFACE #undef INTERFACE
DECL_WINELIB_TYPE_AW(IOleUILinkInfo) DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
DECL_WINELIB_TYPE_AW(POLEUILINKINFO) DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
@ -748,41 +744,37 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
/***************************************************************************** /*****************************************************************************
* IOleUIObjInfo interface * IOleUIObjInfo interface
*/ */
#define ICOM_INTERFACE IOleUIObjInfoA #define INTERFACE IOleUIObjInfoA
#define IOleUIObjInfoA_METHODS \ #define IOleUIObjInfoA_METHODS \
ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPSTR*,lplpszLabel, \ STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel, \
LPSTR*,lplpszType, LPSTR*,lplpszShortType, LPSTR*,lplpszLocation) \ LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE; \
ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \ STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \ CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \ STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \ STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \ STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \ INT nCurrentScale, BOOL bRelativeToOrig) PURE;
HGLOBAL,hMetaPict, DWORD,dvAspect, \
INT,nCurrentScale, BOOL,bRelativeToOrig)
#define IOleUIObjInfoA_IMETHODS \ #define IOleUIObjInfoA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleUIObjInfoA_METHODS IOleUIObjInfoA_METHODS
ICOM_DEFINE(IOleUIObjInfoA, IUnknown) ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define ICOM_INTERFACE IOleUIObjInfoW #define INTERFACE IOleUIObjInfoW
#define IOleUIObjInfoW_METHODS \ #define IOleUIObjInfoW_METHODS \
ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPWSTR*,lplpszLabel, \ STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel, \
LPWSTR*,lplpszType, LPWSTR*,lplpszShortType, LPWSTR*,lplpszLocation) \ LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE; \
ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \ STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \ CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \ STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \ STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \ STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \ INT nCurrentScale, BOOL bRelativeToOrig) PURE;
HGLOBAL,hMetaPict, DWORD,dvAspect, \
INT,nCurrentScale, BOOL,bRelativeToOrig)
#define IOleUIObjInfoW_IMETHODS \ #define IOleUIObjInfoW_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleUIObjInfoW_METHODS IOleUIObjInfoW_METHODS
ICOM_DEFINE(IOleUIObjInfoW, IUnknown) ICOM_DEFINE(IOleUIObjInfoW, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
DECL_WINELIB_TYPE_AW(IOleUIObjInfo) DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
DECL_WINELIB_TYPE_AW(POLEUIOBJINFO) DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
@ -839,8 +831,3 @@ UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
#endif /* __WINE_OLEDLG_H */ #endif /* __WINE_OLEDLG_H */

View File

@ -40,14 +40,14 @@ typedef struct IServiceProvider IServiceProvider,*LPSERVICEPROVIDER;
/***************************************************************************** /*****************************************************************************
* IServiceProvider interface * IServiceProvider interface
*/ */
#define ICOM_INTERFACE IServiceProvider #define INTERFACE IServiceProvider
#define IServiceProvider_METHODS \ #define IServiceProvider_METHODS \
ICOM_METHOD3(HRESULT,QueryService, REFGUID,guidService, REFIID,riid, void**,ppvObject) STDMETHOD(QueryService)(THIS_ REFGUID guidService, REFIID riid, void **ppvObject) PURE;
#define IServiceProvider_IMETHODS \ #define IServiceProvider_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IServiceProvider_METHODS IServiceProvider_METHODS
ICOM_DEFINE(IServiceProvider,IUnknown) ICOM_DEFINE(IServiceProvider,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IServiceProvider_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IServiceProvider_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -122,14 +122,14 @@ typedef GUID SHELLVIEWID;
* IShellIcon interface * IShellIcon interface
*/ */
#define ICOM_INTERFACE IShellIcon #define INTERFACE IShellIcon
#define IShellIcon_METHODS \ #define IShellIcon_METHODS \
ICOM_METHOD3(HRESULT, GetIconOf, LPCITEMIDLIST,pidl, UINT,flags, LPINT,lpIconIndex) STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl, UINT flags, LPINT lpIconIndex) PURE;
#define IShellIcon_IMETHODS \ #define IShellIcon_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IShellIcon_METHODS IShellIcon_METHODS
ICOM_DEFINE(IShellIcon, IUnknown) ICOM_DEFINE(IShellIcon, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellIcon_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellIcon_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -243,18 +243,18 @@ typedef enum
typedef struct IQueryAssociations IQueryAssociations,*LPQUERYASSOCIATIONS; typedef struct IQueryAssociations IQueryAssociations,*LPQUERYASSOCIATIONS;
#define ICOM_INTERFACE IQueryAssociations #define INTERFACE IQueryAssociations
#define IQueryAssociations_METHODS \ #define IQueryAssociations_METHODS \
ICOM_METHOD4 (HRESULT, Init, ASSOCF, flags, LPCWSTR, pszAssoc, HKEY, hkProgid, HWND, hwnd) \ STDMETHOD(Init)(THIS_ ASSOCF flags, LPCWSTR pszAssoc, HKEY hkProgid, HWND hwnd) PURE; \
ICOM_METHOD5 (HRESULT, GetString, ASSOCF, flags, ASSOCSTR, str, LPCWSTR, pszExtra, LPWSTR, pszOut, DWORD*, pcchOut) \ STDMETHOD(GetString)(THIS_ ASSOCF flags, ASSOCSTR str, LPCWSTR pszExtra, LPWSTR pszOut, DWORD * pcchOut) PURE; \
ICOM_METHOD4 (HRESULT, GetKey, ASSOCF, flags, ASSOCKEY, key, LPCWSTR, pszExtra, HKEY*, phkeyOut) \ STDMETHOD(GetKey)(THIS_ ASSOCF flags, ASSOCKEY key, LPCWSTR pszExtra, HKEY * phkeyOut) PURE; \
ICOM_METHOD5 (HRESULT, GetData, ASSOCF, flags, ASSOCDATA, data, LPCWSTR, pszExtra, LPVOID, pvOut, DWORD*, pcbOut) \ STDMETHOD(GetData)(THIS_ ASSOCF flags, ASSOCDATA data, LPCWSTR pszExtra, LPVOID pvOut, DWORD * pcbOut) PURE; \
ICOM_METHOD5 (HRESULT, GetEnum, ASSOCF, flags, ASSOCENUM, assocenum, LPCWSTR, pszExtra, REFIID, riid, LPVOID*, ppvOut) STDMETHOD(GetEnum)(THIS_ ASSOCF flags, ASSOCENUM assocenum, LPCWSTR pszExtra, REFIID riid, LPVOID * ppvOut) PURE;
#define IQueryAssociations_IMETHODS \ #define IQueryAssociations_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IQueryAssociations_METHODS IQueryAssociations_METHODS
ICOM_DEFINE(IQueryAssociations,IUnknown) ICOM_DEFINE(IQueryAssociations,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IQueryAssociations_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IQueryAssociations_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IQueryAssociations_AddRef(p) ICOM_CALL(AddRef,p) #define IQueryAssociations_AddRef(p) ICOM_CALL(AddRef,p)

View File

@ -35,14 +35,14 @@ DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
struct IUnknown { struct IUnknown {
virtual HRESULT CALLBACK QueryInterface( virtual HRESULT STDMETHODCALLTYPE QueryInterface(
REFIID riid, REFIID riid,
void** ppvObject) = 0; void** ppvObject) = 0;
virtual ULONG CALLBACK AddRef( virtual ULONG STDMETHODCALLTYPE AddRef(
) = 0; ) = 0;
virtual ULONG CALLBACK Release( virtual ULONG STDMETHODCALLTYPE Release(
) = 0; ) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE; } ICOM_COM_INTERFACE_ATTRIBUTE;
@ -55,23 +55,24 @@ struct IUnknownVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/ /*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)( HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUnknown* This, IUnknown* This,
REFIID riid, REFIID riid,
void** ppvObject); void** ppvObject);
ULONG (CALLBACK *AddRef)( ULONG (STDMETHODCALLTYPE *AddRef)(
IUnknown* This); IUnknown* This);
ULONG (CALLBACK *Release)( ULONG (STDMETHODCALLTYPE *Release)(
IUnknown* This); IUnknown* This);
}; };
#define IUnknown_IMETHODS \ #define IUnknown_IMETHODS \
ICOM_METHOD2 (HRESULT,QueryInterface,REFIID,riid,void**,ppvObject) \ /*** IUnknown methods ***/ \
ICOM_METHOD (ULONG,AddRef) \ HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ICOM_METHOD (ULONG,Release) ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This);
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
@ -114,12 +115,12 @@ DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
struct IClassFactory: IUnknown { struct IClassFactory: IUnknown {
virtual HRESULT CALLBACK CreateInstance( virtual HRESULT STDMETHODCALLTYPE CreateInstance(
IUnknown* pUnkOuter, IUnknown* pUnkOuter,
REFIID riid, REFIID riid,
void** ppvObject) = 0; void** ppvObject) = 0;
virtual HRESULT CALLBACK LockServer( virtual HRESULT STDMETHODCALLTYPE LockServer(
BOOL fLock) = 0; BOOL fLock) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE; } ICOM_COM_INTERFACE_ATTRIBUTE;
@ -132,34 +133,38 @@ struct IClassFactoryVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/ /*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)( HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IClassFactory* This, IClassFactory* This,
REFIID riid, REFIID riid,
void** ppvObject); void** ppvObject);
ULONG (CALLBACK *AddRef)( ULONG (STDMETHODCALLTYPE *AddRef)(
IClassFactory* This); IClassFactory* This);
ULONG (CALLBACK *Release)( ULONG (STDMETHODCALLTYPE *Release)(
IClassFactory* This); IClassFactory* This);
/*** IClassFactory methods ***/ /*** IClassFactory methods ***/
HRESULT (CALLBACK *CreateInstance)( HRESULT (STDMETHODCALLTYPE *CreateInstance)(
IClassFactory* This, IClassFactory* This,
IUnknown* pUnkOuter, IUnknown* pUnkOuter,
REFIID riid, REFIID riid,
void** ppvObject); void** ppvObject);
HRESULT (CALLBACK *LockServer)( HRESULT (STDMETHODCALLTYPE *LockServer)(
IClassFactory* This, IClassFactory* This,
BOOL fLock); BOOL fLock);
}; };
#define IClassFactory_IMETHODS \ #define IClassFactory_IMETHODS \
IUnknown_IMETHODS \ /*** IUnknown methods ***/ \
ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,void**,ppvObject) \ HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ICOM_METHOD1 (HRESULT,LockServer,BOOL,fLock) ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** IClassFactory methods ***/ \
HRESULT (STDMETHODCALLTYPE *CreateInstance)(INTERFACE *This, IUnknown* pUnkOuter, REFIID riid, void** ppvObject); \
HRESULT (STDMETHODCALLTYPE *LockServer)(INTERFACE *This, BOOL fLock);
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)

View File

@ -170,19 +170,19 @@ typedef enum BINDSTATUS {
/***************************************************************************** /*****************************************************************************
* IBinding interface * IBinding interface
*/ */
#define ICOM_INTERFACE IBinding #define INTERFACE IBinding
#define IBinding_METHODS \ #define IBinding_METHODS \
ICOM_METHOD (HRESULT,Abort) \ STDMETHOD(Abort)(THIS) PURE; \
ICOM_METHOD (HRESULT,Suspend) \ STDMETHOD(Suspend)(THIS) PURE; \
ICOM_METHOD (HRESULT,Resume) \ STDMETHOD(Resume)(THIS) PURE; \
ICOM_METHOD1 (HRESULT,SetPriority, LONG,nPriority) \ STDMETHOD(SetPriority)(THIS_ LONG nPriority) PURE; \
ICOM_METHOD1 (HRESULT,GetPriority, LONG*,pnPriority) \ STDMETHOD(GetPriority)(THIS_ LONG *pnPriority) PURE; \
ICOM_METHOD4 (HRESULT,GetBindResult, CLSID*,pclsidProtocol, DWORD*,pdwResult, LPOLESTR*,pszResult, DWORD*,pdwReserved) STDMETHOD(GetBindResult)(THIS_ CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved) PURE;
#define IBinding_IMETHODS \ #define IBinding_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IBinding_METHODS IBinding_METHODS
ICOM_DEFINE(IBinding,IUnknown) ICOM_DEFINE(IBinding,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IBinding_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IBinding_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -199,21 +199,21 @@ ICOM_DEFINE(IBinding,IUnknown)
/***************************************************************************** /*****************************************************************************
* IBindStatusCallback interface * IBindStatusCallback interface
*/ */
#define ICOM_INTERFACE IBindStatusCallback #define INTERFACE IBindStatusCallback
#define IBindStatusCallback_METHODS \ #define IBindStatusCallback_METHODS \
ICOM_METHOD2 (HRESULT,OnStartBinding, DWORD,dwReserved, IBinding*,pib) \ STDMETHOD(OnStartBinding)(THIS_ DWORD dwReserved, IBinding *pib) PURE; \
ICOM_METHOD1 (HRESULT,GetPriority, LONG*,pnPriority) \ STDMETHOD(GetPriority)(THIS_ LONG *pnPriority) PURE; \
ICOM_METHOD (HRESULT,OnLowResource) \ STDMETHOD(OnLowResource)(THIS) PURE; \
ICOM_METHOD4 (HRESULT,OnProgress, ULONG,ulProgress, ULONG,ulProgressMax, ULONG,ulStatusCode, LPCWSTR,szStatusText) \ STDMETHOD(OnProgress)(THIS_ ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) PURE; \
ICOM_METHOD2 (HRESULT,OnStopBinding, HRESULT,hresult, LPCWSTR,szError) \ STDMETHOD(OnStopBinding)(THIS_ HRESULT hresult, LPCWSTR szError) PURE; \
ICOM_METHOD2 (HRESULT,GetBindInfo, DWORD*,grfBINDF, BINDINFO*,pbindinfo) \ STDMETHOD(GetBindInfo)(THIS_ DWORD *grfBINDF, BINDINFO *pbindinfo) PURE; \
ICOM_METHOD4 (HRESULT,OnDataAvailable, DWORD,grfBSCF, DWORD,dwSize, FORMATETC*,pformatetc, STGMEDIUM*,pstgmed) \ STDMETHOD(OnDataAvailable)(THIS_ DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) PURE; \
ICOM_METHOD2 (HRESULT,OnObjectAvailable, REFIID,iid, IUnknown*,punk) STDMETHOD(OnObjectAvailable)(THIS_ REFIID iid, IUnknown *punk) PURE;
#define IBindStatusCallback_IMETHODS \ #define IBindStatusCallback_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IBindStatusCallback_METHODS IBindStatusCallback_METHODS
ICOM_DEFINE(IBindStatusCallback,IUnknown) ICOM_DEFINE(IBindStatusCallback,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IBindStatusCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IBindStatusCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -232,16 +232,16 @@ ICOM_DEFINE(IBindStatusCallback,IUnknown)
/***************************************************************************** /*****************************************************************************
* IBindHost interface * IBindHost interface
*/ */
#define ICOM_INTERFACE IBindHost #define INTERFACE IBindHost
#define IBindHost_METHODS \ #define IBindHost_METHODS \
ICOM_METHOD4 (HRESULT,CreateMoniker, LPOLESTR,szName, IBindCtx*,pBC, IMoniker**,ppmk, DWORD,dwReserved) \ STDMETHOD(CreateMoniker)(THIS_ LPOLESTR szName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved) PURE; \
ICOM_METHOD5 (HRESULT,MonikerBindToStorage, IMoniker*,pMk, IBindCtx*,pBC, IBindStatusCallback*,pBSC, REFIID,riid, LPVOID*,ppvObj) \ STDMETHOD(MonikerBindToStorage)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, LPVOID *ppvObj) PURE; \
ICOM_METHOD5 (HRESULT,MonikerBindToObject, IMoniker*,pMk, IBindCtx*,pBC, IBindStatusCallback*,pBSC, REFIID,riid, LPVOID*,ppvObj) STDMETHOD(MonikerBindToObject)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, LPVOID *ppvObj) PURE;
#define IBindHost_IMETHODS \ #define IBindHost_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IBindHost_METHODS IBindHost_METHODS
ICOM_DEFINE(IBindHost,IUnknown) ICOM_DEFINE(IBindHost,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IBindHost_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IBindHost_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -273,14 +273,14 @@ typedef enum _tagQUERYOPTION {
/***************************************************************************** /*****************************************************************************
* IWinInetInfo interface * IWinInetInfo interface
*/ */
#define ICOM_INTERFACE IWinInetInfo #define INTERFACE IWinInetInfo
#define IWinInetInfo_METHODS \ #define IWinInetInfo_METHODS \
ICOM_METHOD3 (HRESULT,QueryOption, DWORD,dwOption, LPVOID,pBuffer, DWORD*,pcbBuf) STDMETHOD(QueryOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf) PURE;
#define IWinInetInfo_IMETHODS \ #define IWinInetInfo_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IWinInetInfo_METHODS IWinInetInfo_METHODS
ICOM_DEFINE(IWinInetInfo,IUnknown) ICOM_DEFINE(IWinInetInfo,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IWinInetInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IWinInetInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -292,14 +292,14 @@ ICOM_DEFINE(IWinInetInfo,IUnknown)
/***************************************************************************** /*****************************************************************************
* IWinInetHttpInfo interface * IWinInetHttpInfo interface
*/ */
#define ICOM_INTERFACE IWinInetHttpInfo #define INTERFACE IWinInetHttpInfo
#define IWinInetHttpInfo_METHODS \ #define IWinInetHttpInfo_METHODS \
ICOM_METHOD5 (HRESULT,QueryInfo, DWORD,dwOption, LPVOID,pBuffer, DWORD*,pcbBuf, DWORD*,pdwFlags, DWORD*,pdwReserved) STDMETHOD(QueryInfo)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf, DWORD *pdwFlags, DWORD *pdwReserved) PURE;
#define IWinInetHttpInfo_IMETHODS \ #define IWinInetHttpInfo_IMETHODS \
IWinInetInfo_IMETHODS \ IWinInetInfo_IMETHODS \
IWinInetHttpInfo_METHODS IWinInetHttpInfo_METHODS
ICOM_DEFINE(IWinInetHttpInfo,IWinInetInfo) ICOM_DEFINE(IWinInetHttpInfo,IWinInetInfo)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IWinInetHttpInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IWinInetHttpInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -987,24 +987,24 @@ DEFINE_AVIGUID(CLSID_AVIFile, 0x00020000, 0, 0);
/***************************************************************************** /*****************************************************************************
* IAVIStream interface * IAVIStream interface
*/ */
#define ICOM_INTERFACE IAVIStream #define INTERFACE IAVIStream
#define IAVIStream_METHODS \ #define IAVIStream_METHODS \
ICOM_METHOD2(HRESULT,Create, LPARAM,lParam1, LPARAM,lParam2) \ STDMETHOD(Create)(THIS_ LPARAM lParam1, LPARAM lParam2) PURE; \
ICOM_METHOD2(HRESULT,Info, AVISTREAMINFOW*,psi, LONG,lSize) \ STDMETHOD(Info)(THIS_ AVISTREAMINFOW *psi, LONG lSize) PURE; \
ICOM_METHOD2(LONG, FindSample, LONG,lPos, LONG,lFlags) \ STDMETHOD_(LONG,FindSample)(THIS_ LONG lPos, LONG lFlags) PURE; \
ICOM_METHOD3(HRESULT,ReadFormat, LONG,lPos, LPVOID,lpFormat, LONG*,lpcbFormat) \ STDMETHOD(ReadFormat)(THIS_ LONG lPos, LPVOID lpFormat, LONG *lpcbFormat) PURE; \
ICOM_METHOD3(HRESULT,SetFormat, LONG,lPos, LPVOID,lpFormat, LONG,cbFormat) \ STDMETHOD(SetFormat)(THIS_ LONG lPos, LPVOID lpFormat, LONG cbFormat) PURE; \
ICOM_METHOD6(HRESULT,Read, LONG,lStart, LONG,lSamples, LPVOID,lpBuffer, LONG,cbBuffer, LONG*,plBytes, LONG*,plSamples) \ STDMETHOD(Read)(THIS_ LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, LONG *plBytes, LONG *plSamples) PURE; \
ICOM_METHOD7(HRESULT,Write, LONG,lStart, LONG,lSamples, LPVOID,lpBuffer, LONG,cbBuffer, DWORD,dwFlags, LONG*,plSampWritten, LONG*,plBytesWritten) \ STDMETHOD(Write)(THIS_ LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, DWORD dwFlags, LONG *plSampWritten, LONG *plBytesWritten) PURE; \
ICOM_METHOD2(HRESULT,Delete, LONG,lStart, LONG,lSamples) \ STDMETHOD(Delete)(THIS_ LONG lStart, LONG lSamples) PURE; \
ICOM_METHOD3(HRESULT,ReadData, DWORD,fcc, LPVOID,lpBuffer, LONG*,lpcbBuffer) \ STDMETHOD(ReadData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG *lpcbBuffer) PURE; \
ICOM_METHOD3(HRESULT,WriteData, DWORD,fcc, LPVOID,lpBuffer, LONG,cbBuffer) \ STDMETHOD(WriteData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG cbBuffer) PURE; \
ICOM_METHOD2(HRESULT,SetInfo, AVISTREAMINFOW*,plInfo, LONG,cbInfo) STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW *plInfo, LONG cbInfo) PURE;
#define IAVIStream_IMETHODS \ #define IAVIStream_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IAVIStream_METHODS IAVIStream_METHODS
ICOM_DEFINE(IAVIStream, IUnknown) ICOM_DEFINE(IAVIStream, IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IAVIStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IAVIStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1087,20 +1087,20 @@ LONG WINAPI AVIStreamTimeToSample(PAVISTREAM pstream, LONG lTime);
* IAVIFile interface * IAVIFile interface
*/ */
/* In Win32 this interface uses UNICODE only */ /* In Win32 this interface uses UNICODE only */
#define ICOM_INTERFACE IAVIFile #define INTERFACE IAVIFile
#define IAVIFile_METHODS \ #define IAVIFile_METHODS \
ICOM_METHOD2(HRESULT,Info, AVIFILEINFOW*,pfi, LONG,lSize) \ STDMETHOD(Info)(THIS_ AVIFILEINFOW *pfi, LONG lSize) PURE; \
ICOM_METHOD3(HRESULT,GetStream, PAVISTREAM*,ppStream, DWORD,fccType, LONG,lParam) \ STDMETHOD(GetStream)(THIS_ PAVISTREAM *ppStream, DWORD fccType, LONG lParam) PURE; \
ICOM_METHOD2(HRESULT,CreateStream, PAVISTREAM*,ppStream, AVISTREAMINFOW*,psi) \ STDMETHOD(CreateStream)(THIS_ PAVISTREAM *ppStream, AVISTREAMINFOW *psi) PURE; \
ICOM_METHOD3(HRESULT,WriteData, DWORD,fcc, LPVOID,lpBuffer, LONG,cbBuffer) \ STDMETHOD(WriteData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG cbBuffer) PURE; \
ICOM_METHOD3(HRESULT,ReadData, DWORD,fcc, LPVOID,lpBuffer, LONG*,lpcbBuffer) \ STDMETHOD(ReadData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG *lpcbBuffer) PURE; \
ICOM_METHOD (HRESULT,EndRecord) \ STDMETHOD(EndRecord)(THIS) PURE; \
ICOM_METHOD2(HRESULT,DeleteStream, DWORD,fccType, LONG,lParam) STDMETHOD(DeleteStream)(THIS_ DWORD fccType, LONG lParam) PURE;
#define IAVIFile_IMETHODS \ #define IAVIFile_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IAVIFile_METHODS IAVIFile_METHODS
ICOM_DEFINE(IAVIFile,IUnknown) ICOM_DEFINE(IAVIFile,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IAVIFile_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IAVIFile_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1138,17 +1138,17 @@ HRESULT WINAPI AVIFileEndRecord(PAVIFILE pfile);
/***************************************************************************** /*****************************************************************************
* IGetFrame interface * IGetFrame interface
*/ */
#define ICOM_INTERFACE IGetFrame #define INTERFACE IGetFrame
#define IGetFrame_METHODS \ #define IGetFrame_METHODS \
ICOM_METHOD1(LPVOID, GetFrame, LONG,lPos) \ STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG lPos) PURE; \
ICOM_METHOD3(HRESULT,Begin, LONG,lStart, LONG,lEnd, LONG,lRate) \ STDMETHOD(Begin)(THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; \
ICOM_METHOD (HRESULT,End) \ STDMETHOD(End)(THIS) PURE; \
ICOM_METHOD6(HRESULT,SetFormat, LPBITMAPINFOHEADER,lpbi, LPVOID,lpBits, INT,x, INT,y, INT,dx, INT,dy) STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, INT x, INT y, INT dx, INT dy) PURE;
#define IGetFrame_IMETHODS \ #define IGetFrame_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IGetFrame_METHODS IGetFrame_METHODS
ICOM_DEFINE(IGetFrame,IUnknown) ICOM_DEFINE(IGetFrame,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IGetFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IGetFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -48,18 +48,18 @@ typedef struct IOleCacheControl IOleCacheControl, *LPOLECACHECONTROL;
/***************************************************************************** /*****************************************************************************
* IOleCache interface * IOleCache interface
*/ */
#define ICOM_INTERFACE IOleCache #define INTERFACE IOleCache
#define IOleCache_METHODS \ #define IOleCache_METHODS \
ICOM_METHOD3(HRESULT,Cache, FORMATETC*,pformatetc, DWORD,advf, DWORD*, pdwConnection) \ STDMETHOD(Cache)(THIS_ FORMATETC *pformatetc, DWORD advf, DWORD * pdwConnection) PURE; \
ICOM_METHOD1(HRESULT,Uncache, DWORD,dwConnection) \ STDMETHOD(Uncache)(THIS_ DWORD dwConnection) PURE; \
ICOM_METHOD1(HRESULT,EnumCache, IEnumSTATDATA**,ppenumSTATDATA) \ STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA **ppenumSTATDATA) PURE; \
ICOM_METHOD1(HRESULT,InitCache, IDataObject*,pDataObject) \ STDMETHOD(InitCache)(THIS_ IDataObject *pDataObject) PURE; \
ICOM_METHOD3(HRESULT,SetData, FORMATETC*,pformatetc, STGMEDIUM*,pmedium, BOOL,fRelease) STDMETHOD(SetData)(THIS_ FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease) PURE;
#define IOleCache_IMETHODS \ #define IOleCache_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleCache_METHODS IOleCache_METHODS
ICOM_DEFINE(IOleCache,IUnknown) ICOM_DEFINE(IOleCache,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleCache_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleCache_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -76,15 +76,15 @@ ICOM_DEFINE(IOleCache,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleCache2 interface * IOleCache2 interface
*/ */
#define ICOM_INTERFACE IOleCache2 #define INTERFACE IOleCache2
#define IOleCache2_METHODS \ #define IOleCache2_METHODS \
ICOM_METHOD3(HRESULT,UpdateCache, LPDATAOBJECT,pDataObject, DWORD,grfUpdf, LPVOID,pReserved) \ STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
ICOM_METHOD1(HRESULT,DiscardCache, DWORD,dwDiscardOptions) STDMETHOD(DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
#define IOleCache2_IMETHODS \ #define IOleCache2_IMETHODS \
IOleCache_IMETHODS \ IOleCache_IMETHODS \
IOleCache2_METHODS IOleCache2_METHODS
ICOM_DEFINE(IOleCache2,IOleCache) ICOM_DEFINE(IOleCache2,IOleCache)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleCache2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleCache2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -104,15 +104,15 @@ ICOM_DEFINE(IOleCache2,IOleCache)
/***************************************************************************** /*****************************************************************************
* IOleCacheControl interface * IOleCacheControl interface
*/ */
#define ICOM_INTERFACE IOleCacheControl #define INTERFACE IOleCacheControl
#define IOleCacheControl_METHODS \ #define IOleCacheControl_METHODS \
ICOM_METHOD1(HRESULT,OnRun, LPDATAOBJECT,pDataObject) \ STDMETHOD(OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
ICOM_METHOD (HRESULT,OnStop) STDMETHOD(OnStop)(THIS) PURE;
#define IOleCacheControl_IMETHODS \ #define IOleCacheControl_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleCacheControl_METHODS IOleCacheControl_METHODS
ICOM_DEFINE(IOleCacheControl,IUnknown) ICOM_DEFINE(IOleCacheControl,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleCacheControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleCacheControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -128,5 +128,3 @@ ICOM_DEFINE(IOleCacheControl,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_CONTROL_H */ #endif /* __WINE_WINE_OBJ_CONTROL_H */

View File

@ -91,19 +91,19 @@ DEFINE_OLEGUID(CLSID_StdComponentCategoriesMgr, 0x0002E005L, 0, 0);
/***************************************************************************** /*****************************************************************************
* ICatInformation * ICatInformation
*/ */
#define ICOM_INTERFACE ICatInformation #define INTERFACE ICatInformation
#define ICatInformation_METHODS \ #define ICatInformation_METHODS \
ICOM_METHOD2(HRESULT, EnumCategories, LCID, lcid, IEnumCATEGORYINFO**, ppenumCatInfo) \ STDMETHOD(EnumCategories)(THIS_ LCID lcid, IEnumCATEGORYINFO ** ppenumCatInfo) PURE; \
ICOM_METHOD3(HRESULT, GetCategoryDesc, REFCATID, rcatid, LCID, lcid, PWCHAR*, ppszDesc) \ STDMETHOD(GetCategoryDesc)(THIS_ REFCATID rcatid, LCID lcid, PWCHAR * ppszDesc) PURE; \
ICOM_METHOD5(HRESULT, EnumClassesOfCategories, ULONG, cImplemented, CATID*, rgcatidImpl, ULONG, cRequired, CATID*, rgcatidReq, IEnumCLSID**, ppenumCLSID) \ STDMETHOD(EnumClassesOfCategories)(THIS_ ULONG cImplemented, CATID * rgcatidImpl, ULONG cRequired, CATID * rgcatidReq, IEnumCLSID ** ppenumCLSID) PURE; \
ICOM_METHOD5(HRESULT, IsClassOfCategories, REFCLSID, rclsid, ULONG, cImplemented, CATID*, rgcatidImpl, ULONG, cRequired, CATID*, rgcatidReq) \ STDMETHOD(IsClassOfCategories)(THIS_ REFCLSID rclsid, ULONG cImplemented, CATID * rgcatidImpl, ULONG cRequired, CATID * rgcatidReq) PURE; \
ICOM_METHOD2(HRESULT, EnumImplCategoriesOfClass, REFCLSID, rclsid, IEnumCATID**, ppenumCATID) \ STDMETHOD(EnumImplCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumCATID ** ppenumCATID) PURE; \
ICOM_METHOD2(HRESULT, EnumReqCategoriesOfClass, REFCLSID, rclsid, IEnumCATID**, ppenumCATID) STDMETHOD(EnumReqCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumCATID ** ppenumCATID) PURE;
#define ICatInformation_IMETHODS \ #define ICatInformation_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ICatInformation_METHODS ICatInformation_METHODS
ICOM_DEFINE(ICatInformation,IUnknown) ICOM_DEFINE(ICatInformation,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#ifdef ICOM_CINTERFACE #ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
@ -122,19 +122,19 @@ ICOM_DEFINE(ICatInformation,IUnknown)
/***************************************************************************** /*****************************************************************************
* ICatRegister * ICatRegister
*/ */
#define ICOM_INTERFACE ICatRegister #define INTERFACE ICatRegister
#define ICatRegister_METHODS \ #define ICatRegister_METHODS \
ICOM_METHOD2(HRESULT, RegisterCategories, ULONG, cCategories, CATEGORYINFO*, rgCategoryInfo) \ STDMETHOD(RegisterCategories)(THIS_ ULONG cCategories, CATEGORYINFO * rgCategoryInfo) PURE; \
ICOM_METHOD2(HRESULT, UnRegisterCategories, ULONG, cCategories, CATID*, rgcatid) \ STDMETHOD(UnRegisterCategories)(THIS_ ULONG cCategories, CATID * rgcatid) PURE; \
ICOM_METHOD3(HRESULT, RegisterClassImplCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \ STDMETHOD(RegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; \
ICOM_METHOD3(HRESULT, UnRegisterClassImplCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \ STDMETHOD(UnRegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; \
ICOM_METHOD3(HRESULT, RegisterClassReqCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \ STDMETHOD(RegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; \
ICOM_METHOD3(HRESULT, UnRegisterClassReqCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) STDMETHOD(UnRegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE;
#define ICatRegister_IMETHODS \ #define ICatRegister_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ICatRegister_METHODS ICatRegister_METHODS
ICOM_DEFINE(ICatRegister,IUnknown) ICOM_DEFINE(ICatRegister,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#ifdef ICOM_CINTERFACE #ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
@ -153,17 +153,17 @@ ICOM_DEFINE(ICatRegister,IUnknown)
/***************************************************************************** /*****************************************************************************
* IEnumCATEGORYINFO * IEnumCATEGORYINFO
*/ */
#define ICOM_INTERFACE IEnumCATEGORYINFO #define INTERFACE IEnumCATEGORYINFO
#define IEnumCATEGORYINFO_METHODS \ #define IEnumCATEGORYINFO_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, CATEGORYINFO*, rgelt, ULONG*, pceltFetched) \ STDMETHOD(Next)(THIS_ ULONG celt, CATEGORYINFO * rgelt, ULONG * pceltFetched) PURE; \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \ STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
ICOM_METHOD (HRESULT, Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT, Clone, IEnumCATEGORYINFO**, ppenum) STDMETHOD(Clone)(THIS_ IEnumCATEGORYINFO ** ppenum) PURE;
#define IEnumCATEGORYINFO_IMETHODS \ #define IEnumCATEGORYINFO_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumCATEGORYINFO_METHODS IEnumCATEGORYINFO_METHODS
ICOM_DEFINE(IEnumCATEGORYINFO,IUnknown) ICOM_DEFINE(IEnumCATEGORYINFO,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#ifdef ICOM_CINTERFACE #ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/

View File

@ -34,16 +34,16 @@ typedef struct ICommDlgBrowser ICommDlgBrowser, *LPCOMMDLGBROWSER;
#define CDBOSC_RENAME 0x00000003 #define CDBOSC_RENAME 0x00000003
#define ICOM_INTERFACE ICommDlgBrowser #define INTERFACE ICommDlgBrowser
#define ICommDlgBrowser_METHODS \ #define ICommDlgBrowser_METHODS \
ICOM_METHOD1(HRESULT, OnDefaultCommand, IShellView*, IShellView) \ STDMETHOD(OnDefaultCommand)(THIS_ IShellView * IShellView) PURE; \
ICOM_METHOD2(HRESULT, OnStateChange, IShellView*, IShellView, ULONG, uChange) \ STDMETHOD(OnStateChange)(THIS_ IShellView * IShellView, ULONG uChange) PURE; \
ICOM_METHOD2(HRESULT, IncludeObject, IShellView*, IShellView, LPCITEMIDLIST, pidl) STDMETHOD(IncludeObject)(THIS_ IShellView * IShellView, LPCITEMIDLIST pidl) PURE;
#define ICommDlgBrowser_IMETHODS \ #define ICommDlgBrowser_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ICommDlgBrowser_METHODS ICommDlgBrowser_METHODS
ICOM_DEFINE(ICommDlgBrowser,IUnknown) ICOM_DEFINE(ICommDlgBrowser,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define ICommDlgBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define ICommDlgBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define ICommDlgBrowser_AddRef(p) ICOM_CALL(AddRef,p) #define ICommDlgBrowser_AddRef(p) ICOM_CALL(AddRef,p)

View File

@ -55,18 +55,18 @@ typedef struct IEnumConnectionPoints IEnumConnectionPoints, *LPENUMCONNECTIONPOI
/***************************************************************************** /*****************************************************************************
* IConnectionPoint interface * IConnectionPoint interface
*/ */
#define ICOM_INTERFACE IConnectionPoint #define INTERFACE IConnectionPoint
#define IConnectionPoint_METHODS \ #define IConnectionPoint_METHODS \
ICOM_METHOD1(HRESULT,GetConnectionInterface, IID*,pIID) \ STDMETHOD(GetConnectionInterface)(THIS_ IID *pIID) PURE; \
ICOM_METHOD1(HRESULT,GetConnectionPointContainer, IConnectionPointContainer**,ppCPC) \ STDMETHOD(GetConnectionPointContainer)(THIS_ IConnectionPointContainer **ppCPC) PURE; \
ICOM_METHOD2(HRESULT,Advise, IUnknown*,pUnkSink, DWORD*,pdwCookie) \ STDMETHOD(Advise)(THIS_ IUnknown *pUnkSink, DWORD *pdwCookie) PURE; \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwCookie) \ STDMETHOD(Unadvise)(THIS_ DWORD dwCookie) PURE; \
ICOM_METHOD1(HRESULT,EnumConnections, IEnumConnections**,ppEnum) STDMETHOD(EnumConnections)(THIS_ IEnumConnections **ppEnum) PURE;
#define IConnectionPoint_IMETHODS \ #define IConnectionPoint_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IConnectionPoint_METHODS IConnectionPoint_METHODS
ICOM_DEFINE(IConnectionPoint,IUnknown) ICOM_DEFINE(IConnectionPoint,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IConnectionPoint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IConnectionPoint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -83,15 +83,15 @@ ICOM_DEFINE(IConnectionPoint,IUnknown)
/***************************************************************************** /*****************************************************************************
* IConnectionPointContainer interface * IConnectionPointContainer interface
*/ */
#define ICOM_INTERFACE IConnectionPointContainer #define INTERFACE IConnectionPointContainer
#define IConnectionPointContainer_METHODS \ #define IConnectionPointContainer_METHODS \
ICOM_METHOD1(HRESULT,EnumConnectionPoints, IEnumConnectionPoints**,ppEnum) \ STDMETHOD(EnumConnectionPoints)(THIS_ IEnumConnectionPoints **ppEnum) PURE; \
ICOM_METHOD2(HRESULT,FindConnectionPoint, REFIID,riid, IConnectionPoint**,ppCP) STDMETHOD(FindConnectionPoint)(THIS_ REFIID riid, IConnectionPoint **ppCP) PURE;
#define IConnectionPointContainer_IMETHODS \ #define IConnectionPointContainer_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IConnectionPointContainer_METHODS IConnectionPointContainer_METHODS
ICOM_DEFINE(IConnectionPointContainer,IUnknown) ICOM_DEFINE(IConnectionPointContainer,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IConnectionPointContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IConnectionPointContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -105,17 +105,17 @@ ICOM_DEFINE(IConnectionPointContainer,IUnknown)
/***************************************************************************** /*****************************************************************************
* IEnumConnections interface * IEnumConnections interface
*/ */
#define ICOM_INTERFACE IEnumConnections #define INTERFACE IEnumConnections
#define IEnumConnections_METHODS \ #define IEnumConnections_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,cConnections, LPCONNECTDATA,rgcd, ULONG*,pcFectched) \ STDMETHOD(Next)(THIS_ ULONG cConnections, LPCONNECTDATA rgcd, ULONG *pcFectched) PURE; \
ICOM_METHOD1(HRESULT,Skip, ULONG,cConnections) \ STDMETHOD(Skip)(THIS_ ULONG cConnections) PURE; \
ICOM_METHOD (HRESULT,Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Clone, IEnumConnections**,ppEnum) STDMETHOD(Clone)(THIS_ IEnumConnections **ppEnum) PURE;
#define IEnumConnections_IMETHODS \ #define IEnumConnections_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumConnections_METHODS IEnumConnections_METHODS
ICOM_DEFINE(IEnumConnections,IUnknown) ICOM_DEFINE(IEnumConnections,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumConnections_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IEnumConnections_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -130,17 +130,17 @@ ICOM_DEFINE(IEnumConnections,IUnknown)
/***************************************************************************** /*****************************************************************************
* IEnumConnectionPoints interface * IEnumConnectionPoints interface
*/ */
#define ICOM_INTERFACE IEnumConnectionPoints #define INTERFACE IEnumConnectionPoints
#define IEnumConnectionPoints_METHODS \ #define IEnumConnectionPoints_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,cConnections, LPCONNECTIONPOINT*,ppCP, ULONG*,pcFectched) \ STDMETHOD(Next)(THIS_ ULONG cConnections, LPCONNECTIONPOINT *ppCP, ULONG *pcFectched) PURE; \
ICOM_METHOD1(HRESULT,Skip, ULONG,cConnections) \ STDMETHOD(Skip)(THIS_ ULONG cConnections) PURE; \
ICOM_METHOD (HRESULT,Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Clone, IEnumConnections**,ppEnum) STDMETHOD(Clone)(THIS_ IEnumConnections **ppEnum) PURE;
#define IEnumConnectionPoints_IMETHODS \ #define IEnumConnectionPoints_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumConnectionPoints_METHODS IEnumConnectionPoints_METHODS
ICOM_DEFINE(IEnumConnectionPoints,IUnknown) ICOM_DEFINE(IEnumConnectionPoints,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumConnectionPoints_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IEnumConnectionPoints_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -157,5 +157,3 @@ ICOM_DEFINE(IEnumConnectionPoints,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_CONTROL_H */ #endif /* __WINE_WINE_OBJ_CONTROL_H */

View File

@ -123,18 +123,18 @@ typedef struct tagCMInvokeCommandInfoEx
} CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX; } CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
#define ICOM_INTERFACE IContextMenu #define INTERFACE IContextMenu
#define IContextMenu_METHODS \ #define IContextMenu_METHODS \
ICOM_METHOD5(HRESULT, QueryContextMenu, HMENU, hmenu, UINT, indexMenu, UINT, idCmdFirst, UINT, idCmdLast, UINT, uFlags) \ STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
ICOM_METHOD1(HRESULT, InvokeCommand, LPCMINVOKECOMMANDINFO, lpici) \ STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
ICOM_METHOD5(HRESULT, GetCommandString, UINT, idCmd, UINT, uType, UINT*, pwReserved, LPSTR, pszName, UINT, cchMax) \ STDMETHOD(GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT * pwReserved, LPSTR pszName, UINT cchMax) PURE; \
ICOM_METHOD3(HRESULT, HandleMenuMsg, UINT, uMsg, WPARAM, wParam, LPARAM, lParam) \ STDMETHOD(HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
void * guard; /*possibly another nasty entry from ContextMenu3 ?*/ void * guard; /*possibly another nasty entry from ContextMenu3 ?*/
#define IContextMenu_IMETHODS \ #define IContextMenu_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IContextMenu_METHODS IContextMenu_METHODS
ICOM_DEFINE(IContextMenu,IUnknown) ICOM_DEFINE(IContextMenu,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IContextMenu_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IContextMenu_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IContextMenu_AddRef(p) ICOM_CALL(AddRef,p) #define IContextMenu_AddRef(p) ICOM_CALL(AddRef,p)

View File

@ -178,17 +178,17 @@ typedef struct IProvideClassInfo2 IProvideClassInfo2, *LPPROVIDECLASSINFO2;
/***************************************************************************** /*****************************************************************************
* IOleControl interface * IOleControl interface
*/ */
#define ICOM_INTERFACE IOleControl #define INTERFACE IOleControl
#define IOleControl_METHODS \ #define IOleControl_METHODS \
ICOM_METHOD1(HRESULT,GetControlInfo, CONTROLINFO*,pCI) \ STDMETHOD(GetControlInfo)(THIS_ CONTROLINFO *pCI) PURE; \
ICOM_METHOD1(HRESULT,OnMnemonic, struct tagMSG*,pMsg) \ STDMETHOD(OnMnemonic)(THIS_ struct tagMSG *pMsg) PURE; \
ICOM_METHOD1(HRESULT,OnAmbientPropertyChange, DISPID,dispID) \ STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID dispID) PURE; \
ICOM_METHOD1(HRESULT,FreezeEvents, BOOL,bFreeze) STDMETHOD(FreezeEvents)(THIS_ BOOL bFreeze) PURE;
#define IOleControl_IMETHODS \ #define IOleControl_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleControl_METHODS IOleControl_METHODS
ICOM_DEFINE(IOleControl,IUnknown) ICOM_DEFINE(IOleControl,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -204,20 +204,20 @@ ICOM_DEFINE(IOleControl,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleControlSite interface * IOleControlSite interface
*/ */
#define ICOM_INTERFACE IOleControlSite #define INTERFACE IOleControlSite
#define IOleControlSite_METHODS \ #define IOleControlSite_METHODS \
ICOM_METHOD (HRESULT,OnControlInfoChanged) \ STDMETHOD(OnControlInfoChanged)(THIS) PURE; \
ICOM_METHOD1(HRESULT,LockInPlaceActive, BOOL,fLock) \ STDMETHOD(LockInPlaceActive)(THIS_ BOOL fLock) PURE; \
ICOM_METHOD1(HRESULT,GetExtendedControl, IDispatch**,ppDisp) \ STDMETHOD(GetExtendedControl)(THIS_ IDispatch **ppDisp) PURE; \
ICOM_METHOD3(HRESULT,TransformCoords, POINTL*,pPtlHimetric, POINTF*,pPtfContainer, DWORD,dwFlags) \ STDMETHOD(TransformCoords)(THIS_ POINTL *pPtlHimetric, POINTF *pPtfContainer, DWORD dwFlags) PURE; \
ICOM_METHOD2(HRESULT,TranslateAccelerator, struct tagMSG*,pMsg, DWORD,grfModifiers) \ STDMETHOD(TranslateAccelerator)(THIS_ struct tagMSG *pMsg, DWORD grfModifiers) PURE; \
ICOM_METHOD1(HRESULT,OnFocus, BOOL,fGotFocus) \ STDMETHOD(OnFocus)(THIS_ BOOL fGotFocus) PURE; \
ICOM_METHOD (HRESULT,ShowPropertyFrame) STDMETHOD(ShowPropertyFrame)(THIS) PURE;
#define IOleControlSite_IMETHODS \ #define IOleControlSite_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleControlSite_METHODS IOleControlSite_METHODS
ICOM_DEFINE(IOleControlSite,IUnknown) ICOM_DEFINE(IOleControlSite,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleControlSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleControlSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -236,16 +236,16 @@ ICOM_DEFINE(IOleControlSite,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceSiteEx interface * IOleInPlaceSiteEx interface
*/ */
#define ICOM_INTERFACE IOleInPlaceSiteEx #define INTERFACE IOleInPlaceSiteEx
#define IOleInPlaceSiteEx_METHODS \ #define IOleInPlaceSiteEx_METHODS \
ICOM_METHOD2(HRESULT,OnInPlaceActivateEx, BOOL*,pfNoRedraw, DWORD,dwFlags) \ STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL *pfNoRedraw, DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,OnInPlaceDeactivateEx, BOOL,fNoRedraw) \ STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL fNoRedraw) PURE; \
ICOM_METHOD (HRESULT,RequestUIActivate) STDMETHOD(RequestUIActivate)(THIS) PURE;
#define IOleInPlaceSiteEx_IMETHODS \ #define IOleInPlaceSiteEx_IMETHODS \
IOleInPlaceSite_IMETHODS \ IOleInPlaceSite_IMETHODS \
IOleInPlaceSiteEx_METHODS IOleInPlaceSiteEx_METHODS
ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite) ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceSiteEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceSiteEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -274,25 +274,25 @@ ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceSiteWindowless interface * IOleInPlaceSiteWindowless interface
*/ */
#define ICOM_INTERFACE IOleInPlaceSiteWindowless #define INTERFACE IOleInPlaceSiteWindowless
#define IOleInPlaceSiteWindowless_METHODS \ #define IOleInPlaceSiteWindowless_METHODS \
ICOM_METHOD (HRESULT,CanWindowlessActivate) \ STDMETHOD(CanWindowlessActivate)(THIS) PURE; \
ICOM_METHOD (HRESULT,GetCapture) \ STDMETHOD(GetCapture)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetCapture, BOOL,fCapture) \ STDMETHOD(SetCapture)(THIS_ BOOL fCapture) PURE; \
ICOM_METHOD (HRESULT,GetFocus) \ STDMETHOD(GetFocus)(THIS) PURE; \
ICOM_METHOD1(HRESULT,SetFocus, BOOL,fFocus) \ STDMETHOD(SetFocus)(THIS_ BOOL fFocus) PURE; \
ICOM_METHOD3(HRESULT,GetDC, LPCRECT,pRect, DWORD,grfFlags, HDC*,phDC) \ STDMETHOD(GetDC)(THIS_ LPCRECT pRect, DWORD grfFlags, HDC *phDC) PURE; \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
ICOM_METHOD2(HRESULT,InvalidateRect, LPCRECT,pRect, BOOL,fErase) \ STDMETHOD(InvalidateRect)(THIS_ LPCRECT pRect, BOOL fErase) PURE; \
ICOM_METHOD2(HRESULT,InvalidateRgn, HRGN,hRgn, BOOL,fErase) \ STDMETHOD(InvalidateRgn)(THIS_ HRGN hRgn, BOOL fErase) PURE; \
ICOM_METHOD4(HRESULT,ScrollRect, INT,dx, INT,dy, LPCRECT,pRectScroll, LPCRECT,pRectClip) \ STDMETHOD(ScrollRect)(THIS_ INT dx, INT dy, LPCRECT pRectScroll, LPCRECT pRectClip) PURE; \
ICOM_METHOD1(HRESULT,AdjustRect, LPRECT,prc) \ STDMETHOD(AdjustRect)(THIS_ LPRECT prc) PURE; \
ICOM_METHOD4(HRESULT,OnDefWindowMessage, UINT,msg, WPARAM,wParam, LPARAM,lParam, LRESULT*,plResult) STDMETHOD(OnDefWindowMessage)(THIS_ UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) PURE;
#define IOleInPlaceSiteWindowless_IMETHODS \ #define IOleInPlaceSiteWindowless_IMETHODS \
IOleInPlaceSite_IMETHODS \ IOleInPlaceSite_IMETHODS \
IOleInPlaceSiteWindowless_METHODS IOleInPlaceSiteWindowless_METHODS
ICOM_DEFINE(IOleInPlaceSiteWindowless,IOleInPlaceSite) ICOM_DEFINE(IOleInPlaceSiteWindowless,IOleInPlaceSite)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceSiteWindowless_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceSiteWindowless_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -330,15 +330,15 @@ ICOM_DEFINE(IOleInPlaceSiteWindowless,IOleInPlaceSite)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceObjectWindowless interface * IOleInPlaceObjectWindowless interface
*/ */
#define ICOM_INTERFACE IOleInPlaceObjectWindowless #define INTERFACE IOleInPlaceObjectWindowless
#define IOleInPlaceObjectWindowless_METHODS \ #define IOleInPlaceObjectWindowless_METHODS \
ICOM_METHOD4(HRESULT,OnWindowMessage, UINT,msg, WPARAM,wParam, LPARAM,lParam, LRESULT*,plResult) \ STDMETHOD(OnWindowMessage)(THIS_ UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) PURE; \
ICOM_METHOD1(HRESULT,GetDropTarget, IDropTarget**,ppDropTarget) STDMETHOD(GetDropTarget)(THIS_ IDropTarget **ppDropTarget) PURE;
#define IOleInPlaceObjectWindowless_IMETHODS \ #define IOleInPlaceObjectWindowless_IMETHODS \
IOleInPlaceObject_IMETHODS \ IOleInPlaceObject_IMETHODS \
IOleInPlaceObjectWindowless_METHODS IOleInPlaceObjectWindowless_METHODS
ICOM_DEFINE(IOleInPlaceObjectWindowless,IOleInPlaceObject) ICOM_DEFINE(IOleInPlaceObjectWindowless,IOleInPlaceObject)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceObjectWindowless_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceObjectWindowless_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -360,16 +360,16 @@ ICOM_DEFINE(IOleInPlaceObjectWindowless,IOleInPlaceObject)
/***************************************************************************** /*****************************************************************************
* IClassFactory2 interface * IClassFactory2 interface
*/ */
#define ICOM_INTERFACE IClassFactory2 #define INTERFACE IClassFactory2
#define IClassFactory2_METHODS \ #define IClassFactory2_METHODS \
ICOM_METHOD1(HRESULT,GetLicInfo, LICINFO*,pLicInfo) \ STDMETHOD(GetLicInfo)(THIS_ LICINFO *pLicInfo) PURE; \
ICOM_METHOD2(HRESULT,RequestLicKey, DWORD,dwReserved, BSTR*,pBstrKey) \ STDMETHOD(RequestLicKey)(THIS_ DWORD dwReserved, BSTR *pBstrKey) PURE; \
ICOM_METHOD5(HRESULT,CreateInstanceLic, IUnknown*,pUnkOuter, IUnknown*,pUnkReserved, REFIID,riid, BSTR,bstrKey, PVOID*,ppvObj) STDMETHOD(CreateInstanceLic)(THIS_ IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID riid, BSTR bstrKey, PVOID *ppvObj) PURE;
#define IClassFactory2_IMETHODS \ #define IClassFactory2_IMETHODS \
IClassFactory_IMETHODS \ IClassFactory_IMETHODS \
IClassFactory2_METHODS IClassFactory2_METHODS
ICOM_DEFINE(IClassFactory2,IClassFactory) ICOM_DEFINE(IClassFactory2,IClassFactory)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IClassFactory2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IClassFactory2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -387,18 +387,18 @@ ICOM_DEFINE(IClassFactory2,IClassFactory)
/***************************************************************************** /*****************************************************************************
* IViewObject interface * IViewObject interface
*/ */
#define ICOM_INTERFACE IViewObjectEx #define INTERFACE IViewObjectEx
#define IViewObjectEx_METHODS \ #define IViewObjectEx_METHODS \
ICOM_METHOD2(HRESULT,GetRect, DWORD,dwAspect, LPRECTL,pRect) \ STDMETHOD(GetRect)(THIS_ DWORD dwAspect, LPRECTL pRect) PURE; \
ICOM_METHOD1(HRESULT,GetViewStatus, DWORD*,pdwStatus) \ STDMETHOD(GetViewStatus)(THIS_ DWORD *pdwStatus) PURE; \
ICOM_METHOD5(HRESULT,QueryHitPoint, DWORD,dwAspect, LPCRECT,pRectBounds, POINT,ptlLoc, LONG,lCloseHint, DWORD*,pHitResult) \ STDMETHOD(QueryHitPoint)(THIS_ DWORD dwAspect, LPCRECT pRectBounds, POINT ptlLoc, LONG lCloseHint, DWORD *pHitResult) PURE; \
ICOM_METHOD5(HRESULT,QueryHitRect, DWORD,dwAspect, LPCRECT,pRectBounds, LPCRECT,pRectLoc, LONG,lCloseHint, DWORD*,pHitResult) \ STDMETHOD(QueryHitRect)(THIS_ DWORD dwAspect, LPCRECT pRectBounds, LPCRECT pRectLoc, LONG lCloseHint, DWORD *pHitResult) PURE; \
ICOM_METHOD6(HRESULT,GetNaturalExtent, DWORD,dwAspect, LONG,lindex, DVTARGETDEVICE*,ptd, HDC,hicTargetDev, DVEXTENTINFO*,pExtentInfo, LPSIZEL,pSizel) STDMETHOD(GetNaturalExtent)(THIS_ DWORD dwAspect, LONG lindex, DVTARGETDEVICE *ptd, HDC hicTargetDev, DVEXTENTINFO *pExtentInfo, LPSIZEL pSizel) PURE;
#define IViewObjectEx_IMETHODS \ #define IViewObjectEx_IMETHODS \
IViewObject2_IMETHODS \ IViewObject2_IMETHODS \
IViewObjectEx_METHODS IViewObjectEx_METHODS
ICOM_DEFINE(IViewObjectEx,IViewObject2) ICOM_DEFINE(IViewObjectEx,IViewObject2)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IViewObjectEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IViewObjectEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -428,14 +428,14 @@ ICOM_DEFINE(IViewObjectEx,IViewObject2)
#undef GetClassInfo #undef GetClassInfo
#endif #endif
#define ICOM_INTERFACE IProvideClassInfo #define INTERFACE IProvideClassInfo
#define IProvideClassInfo_METHODS \ #define IProvideClassInfo_METHODS \
ICOM_METHOD1(HRESULT,GetClassInfo, ITypeInfo**,ppTI) STDMETHOD(GetClassInfo)(THIS_ ITypeInfo **ppTI) PURE;
#define IProvideClassInfo_IMETHODS \ #define IProvideClassInfo_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IProvideClassInfo_METHODS IProvideClassInfo_METHODS
ICOM_DEFINE(IProvideClassInfo,IUnknown) ICOM_DEFINE(IProvideClassInfo,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IProvideClassInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IProvideClassInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -449,14 +449,14 @@ ICOM_DEFINE(IProvideClassInfo,IUnknown)
/***************************************************************************** /*****************************************************************************
* IProvideClassInfo2 interface * IProvideClassInfo2 interface
*/ */
#define ICOM_INTERFACE IProvideClassInfo2 #define INTERFACE IProvideClassInfo2
#define IProvideClassInfo2_METHODS \ #define IProvideClassInfo2_METHODS \
ICOM_METHOD2(HRESULT,GetGUID, DWORD,dwGuidKind, GUID*,pGUID) STDMETHOD(GetGUID)(THIS_ DWORD dwGuidKind, GUID *pGUID) PURE;
#define IProvideClassInfo2_IMETHODS \ #define IProvideClassInfo2_IMETHODS \
IProvideClassInfo_IMETHODS \ IProvideClassInfo_IMETHODS \
IProvideClassInfo2_METHODS IProvideClassInfo2_METHODS
ICOM_DEFINE(IProvideClassInfo2,IProvideClassInfo) ICOM_DEFINE(IProvideClassInfo2,IProvideClassInfo)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IProvideClassInfo2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IProvideClassInfo2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -32,16 +32,16 @@ DEFINE_GUID (IID_IDockingWindowFrame, 0x47D2657AL, 0x7B27, 0x11D0, 0x8C, 0xA9, 0
#define DWFRF_DELETECONFIGDATA 0x0001 #define DWFRF_DELETECONFIGDATA 0x0001
#define DWFAF_HIDDEN 0x0001 /* add tolbar*/ #define DWFAF_HIDDEN 0x0001 /* add tolbar*/
#define ICOM_INTERFACE IDockingWindowFrame #define INTERFACE IDockingWindowFrame
#define IDockingWindowFrame_METHODS \ #define IDockingWindowFrame_METHODS \
ICOM_METHOD3(HRESULT, AddToolbar, IUnknown*, punkSrc, LPCWSTR, pwszItem, DWORD, dwAddFlags) \ STDMETHOD(AddToolbar)(THIS_ IUnknown * punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
ICOM_METHOD2(HRESULT, RemoveToolbar, IUnknown*, punkSrc, DWORD, dwRemoveFlags) \ STDMETHOD(RemoveToolbar)(THIS_ IUnknown * punkSrc, DWORD dwRemoveFlags) PURE; \
ICOM_METHOD3(HRESULT, FindToolbar, LPCWSTR, pwszItem, REFIID, riid, LPVOID*, ppvObj) STDMETHOD(FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID * ppvObj) PURE;
#define IDockingWindowFrame_IMETHODS \ #define IDockingWindowFrame_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IDockingWindowFrame_METHODS IDockingWindowFrame_METHODS
ICOM_DEFINE(IDockingWindowFrame,IOleWindow) ICOM_DEFINE(IDockingWindowFrame,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDockingWindowFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDockingWindowFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -52,15 +52,15 @@ typedef struct IDropTarget IDropTarget,*LPDROPTARGET;
/***************************************************************************** /*****************************************************************************
* IDropSource interface * IDropSource interface
*/ */
#define ICOM_INTERFACE IDropSource #define INTERFACE IDropSource
#define IDropSource_METHODS \ #define IDropSource_METHODS \
ICOM_METHOD2(HRESULT, QueryContinueDrag, BOOL, fEscapePressed, DWORD, grfKeyState) \ STDMETHOD(QueryContinueDrag)(THIS_ BOOL fEscapePressed, DWORD grfKeyState) PURE; \
ICOM_METHOD1(HRESULT, GiveFeedback, DWORD, dwEffect) STDMETHOD(GiveFeedback)(THIS_ DWORD dwEffect) PURE;
#define IDropSource_IMETHODS \ #define IDropSource_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDropSource_METHODS IDropSource_METHODS
ICOM_DEFINE(IDropSource,IUnknown) ICOM_DEFINE(IDropSource,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDropSource_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDropSource_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -73,17 +73,17 @@ ICOM_DEFINE(IDropSource,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDropTarget interface * IDropTarget interface
*/ */
#define ICOM_INTERFACE IDropTarget #define INTERFACE IDropTarget
#define IDropTarget_METHODS \ #define IDropTarget_METHODS \
ICOM_METHOD4(HRESULT, DragEnter, IDataObject*, pDataObject, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) \ STDMETHOD(DragEnter)(THIS_ IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) PURE; \
ICOM_METHOD3(HRESULT, DragOver, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) \ STDMETHOD(DragOver)(THIS_ DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) PURE; \
ICOM_METHOD(HRESULT, DragLeave) \ STDMETHOD(DragLeave)(THIS) PURE; \
ICOM_METHOD4(HRESULT, Drop, IDataObject*, pDataObject, DWORD, grfKeyState, POINTL, pt, DWORD*, pdwEffect) STDMETHOD(Drop)(THIS_ IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect) PURE;
#define IDropTarget_IMETHODS \ #define IDropTarget_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDropTarget_METHODS IDropTarget_METHODS
ICOM_DEFINE(IDropTarget,IUnknown) ICOM_DEFINE(IDropTarget,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDropTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDropTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -100,8 +100,3 @@ ICOM_DEFINE(IDropTarget,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_DRAGDROP_H */ #endif /* __WINE_WINE_OBJ_DRAGDROP_H */

View File

@ -46,15 +46,15 @@ typedef struct {
} SHDRAGIMAGE, *LPSHDRAGIMAGE; } SHDRAGIMAGE, *LPSHDRAGIMAGE;
#define ICOM_INTERFACE IDragSourceHelper #define INTERFACE IDragSourceHelper
#define IDragSourceHelper_METHODS \ #define IDragSourceHelper_METHODS \
ICOM_METHOD2(HRESULT, InitializeFromBitmap, LPSHDRAGIMAGE, pshdi, IDataObject*, pDataObject) \ STDMETHOD(InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject * pDataObject) PURE; \
ICOM_METHOD3(HRESULT, InitializeFromWindow, HWND, hwnd, POINT*, ppt, IDataObject*, pDataObject) STDMETHOD(InitializeFromWindow)(THIS_ HWND hwnd, POINT * ppt, IDataObject * pDataObject) PURE;
#define IDragSourceHelper_IMETHODS \ #define IDragSourceHelper_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDragSourceHelper_METHODS IDragSourceHelper_METHODS
ICOM_DEFINE(IDragSourceHelper,IUnknown) ICOM_DEFINE(IDragSourceHelper,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDragSourceHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDragSourceHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -68,18 +68,18 @@ ICOM_DEFINE(IDragSourceHelper,IUnknown)
/***************************************************************************** /*****************************************************************************
* IDropTargetHelper interface * IDropTargetHelper interface
*/ */
#define ICOM_INTERFACE IDropTargetHelper #define INTERFACE IDropTargetHelper
#define IDropTargetHelper_METHODS \ #define IDropTargetHelper_METHODS \
ICOM_METHOD4(HRESULT,DragEnter, HWND, hwndTarget, IDataObject*, pDataObject, POINT*, ppt, DWORD, dwEffect) \ STDMETHOD(DragEnter)(THIS_ HWND hwndTarget, IDataObject * pDataObject, POINT * ppt, DWORD dwEffect) PURE; \
ICOM_METHOD (HRESULT,DragLeave) \ STDMETHOD(DragLeave)(THIS) PURE; \
ICOM_METHOD2(HRESULT,DragOver, POINT*, ppt, DWORD, dwEffect) \ STDMETHOD(DragOver)(THIS_ POINT * ppt, DWORD dwEffect) PURE; \
ICOM_METHOD3(HRESULT,Drop, IDataObject*, pDataObject, POINT*, ppt,DWORD, dwEffect) \ STDMETHOD(Drop)(THIS_ IDataObject * pDataObject, POINT * ppt,DWORD dwEffect) PURE; \
ICOM_METHOD1(HRESULT,Show, BOOL, fShow) STDMETHOD(Show)(THIS_ BOOL fShow) PURE;
#define IDropTargetHelper_IMETHODS \ #define IDropTargetHelper_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IDropTargetHelper_METHODS IDropTargetHelper_METHODS
ICOM_DEFINE(IDropTargetHelper,IUnknown) ICOM_DEFINE(IDropTargetHelper,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IDropTargetHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IDropTargetHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -36,17 +36,17 @@ typedef struct IEnumGUID IEnumGUID, *LPENUMGUID;
/***************************************************************************** /*****************************************************************************
* IEnumGUID * IEnumGUID
*/ */
#define ICOM_INTERFACE IEnumGUID #define INTERFACE IEnumGUID
#define IEnumGUID_METHODS \ #define IEnumGUID_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, GUID*, rgelt, ULONG*, pceltFetched) \ STDMETHOD(Next)(THIS_ ULONG celt, GUID * rgelt, ULONG * pceltFetched) PURE; \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \ STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
ICOM_METHOD (HRESULT, Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT, Clone, IEnumGUID**, ppenum) STDMETHOD(Clone)(THIS_ IEnumGUID ** ppenum) PURE;
#define IEnumGUID_IMETHODS \ #define IEnumGUID_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumGUID_METHODS IEnumGUID_METHODS
ICOM_DEFINE(IEnumGUID,IUnknown) ICOM_DEFINE(IEnumGUID,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#ifdef ICOM_CINTERFACE #ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/

View File

@ -32,17 +32,17 @@ extern "C" {
*/ */
typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST; typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
#define ICOM_INTERFACE IEnumIDList #define INTERFACE IEnumIDList
#define IEnumIDList_METHODS \ #define IEnumIDList_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, LPITEMIDLIST*, rgelt, ULONG*, pceltFetched) \ STDMETHOD(Next)(THIS_ ULONG celt, LPITEMIDLIST * rgelt, ULONG * pceltFetched) PURE; \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \ STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
ICOM_METHOD (HRESULT, Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT, Clone, IEnumIDList**, ppenum) STDMETHOD(Clone)(THIS_ IEnumIDList ** ppenum) PURE;
#define IEnumIDList_IMETHODS \ #define IEnumIDList_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumIDList_METHODS IEnumIDList_METHODS
ICOM_DEFINE(IEnumIDList,IUnknown) ICOM_DEFINE(IEnumIDList,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -44,15 +44,15 @@ typedef struct IExtractIconW IExtractIconW,*LPEXTRACTICONW;
#define GIL_DONTCACHE 0x0010 /* this icon should not be cached */ #define GIL_DONTCACHE 0x0010 /* this icon should not be cached */
#define ICOM_INTERFACE IExtractIconA #define INTERFACE IExtractIconA
#define IExtractIconA_METHODS \ #define IExtractIconA_METHODS \
ICOM_METHOD5(HRESULT, GetIconLocation, UINT, uFlags, LPSTR, szIconFile, UINT, cchMax, INT*, piIndex, UINT *, pwFlags) \ STDMETHOD(GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT * piIndex, UINT * pwFlags) PURE; \
ICOM_METHOD5(HRESULT, Extract, LPCSTR, pszFile, UINT, nIconIndex, HICON*, phiconLarge, HICON*, phiconSmall, UINT, nIconSize) STDMETHOD(Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIconSize) PURE;
#define IExtractIconA_IMETHODS \ #define IExtractIconA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IExtractIconA_METHODS IExtractIconA_METHODS
ICOM_DEFINE(IExtractIconA,IUnknown) ICOM_DEFINE(IExtractIconA,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IExtractIconA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IExtractIconA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IExtractIconA_AddRef(p) ICOM_CALL(AddRef,p) #define IExtractIconA_AddRef(p) ICOM_CALL(AddRef,p)
@ -61,15 +61,15 @@ ICOM_DEFINE(IExtractIconA,IUnknown)
#define IExtractIconA_Extract(p,a,b,c,d,e) ICOM_CALL5(Extract,p,a,b,c,d,e) #define IExtractIconA_Extract(p,a,b,c,d,e) ICOM_CALL5(Extract,p,a,b,c,d,e)
#define ICOM_INTERFACE IExtractIconW #define INTERFACE IExtractIconW
#define IExtractIconW_METHODS \ #define IExtractIconW_METHODS \
ICOM_METHOD5(HRESULT, GetIconLocation, UINT, uFlags, LPWSTR, szIconFile, UINT, cchMax, INT*, piIndex, UINT *, pwFlags) \ STDMETHOD(GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT * piIndex, UINT * pwFlags) PURE; \
ICOM_METHOD5(HRESULT, Extract, LPCWSTR, pszFile, UINT, nIconIndex, HICON*, phiconLarge, HICON*, phiconSmall, UINT, nIconSize) STDMETHOD(Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIconSize) PURE;
#define IExtractIconW_IMETHODS \ #define IExtractIconW_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IExtractIconW_METHODS IExtractIconW_METHODS
ICOM_DEFINE(IExtractIconW,IUnknown) ICOM_DEFINE(IExtractIconW,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
#define IExtractIconW_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IExtractIconW_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IExtractIconW_AddRef(p) ICOM_CALL(AddRef,p) #define IExtractIconW_AddRef(p) ICOM_CALL(AddRef,p)

View File

@ -163,15 +163,15 @@ typedef struct IOleLink IOleLink, *LPOLELINK;
/***************************************************************************** /*****************************************************************************
* IOleWindow interface * IOleWindow interface
*/ */
#define ICOM_INTERFACE IOleWindow #define INTERFACE IOleWindow
#define IOleWindow_METHODS \ #define IOleWindow_METHODS \
ICOM_METHOD1(HRESULT,GetWindow, HWND*,phwnd) \ STDMETHOD(GetWindow)(THIS_ HWND *phwnd) PURE; \
ICOM_METHOD1(HRESULT,ContextSensitiveHelp, BOOL,fEnterMode) STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE;
#define IOleWindow_IMETHODS \ #define IOleWindow_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleWindow_METHODS IOleWindow_METHODS
ICOM_DEFINE(IOleWindow,IUnknown) ICOM_DEFINE(IOleWindow,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleWindow_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleWindow_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -185,17 +185,17 @@ ICOM_DEFINE(IOleWindow,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceObject interface * IOleInPlaceObject interface
*/ */
#define ICOM_INTERFACE IOleInPlaceObject #define INTERFACE IOleInPlaceObject
#define IOleInPlaceObject_METHODS \ #define IOleInPlaceObject_METHODS \
ICOM_METHOD (HRESULT,InPlaceDeactivate) \ STDMETHOD(InPlaceDeactivate)(THIS) PURE; \
ICOM_METHOD (HRESULT,UIDeactivate) \ STDMETHOD(UIDeactivate)(THIS) PURE; \
ICOM_METHOD2(HRESULT,SetObjectRects, LPCRECT,lprcPosRect, LPCRECT,lprcClipRect) \ STDMETHOD(SetObjectRects)(THIS_ LPCRECT lprcPosRect, LPCRECT lprcClipRect) PURE; \
ICOM_METHOD (HRESULT,ReactivateAndUndo) STDMETHOD(ReactivateAndUndo)(THIS) PURE;
#define IOleInPlaceObject_IMETHODS \ #define IOleInPlaceObject_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IOleInPlaceObject_METHODS IOleInPlaceObject_METHODS
ICOM_DEFINE(IOleInPlaceObject,IOleWindow) ICOM_DEFINE(IOleInPlaceObject,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -213,18 +213,18 @@ ICOM_DEFINE(IOleInPlaceObject,IOleWindow)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceActiveObject interface * IOleInPlaceActiveObject interface
*/ */
#define ICOM_INTERFACE IOleInPlaceActiveObject #define INTERFACE IOleInPlaceActiveObject
#define IOleInPlaceActiveObject_METHODS \ #define IOleInPlaceActiveObject_METHODS \
ICOM_METHOD1(HRESULT,TranslateAccelerator, struct tagMSG*,lpmsg) \ STDMETHOD(TranslateAccelerator)(THIS_ struct tagMSG *lpmsg) PURE; \
ICOM_METHOD1(HRESULT,OnFrameWindowActivate, BOOL,fActivate) \ STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
ICOM_METHOD1(HRESULT,OnDocWindowActivate, BOOL,fActivate) \ STDMETHOD(OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
ICOM_METHOD3(HRESULT,ResizeBorder, LPCRECT,prcBorder, IOleInPlaceUIWindow*,pUIWindow, BOOL,fWindowFrame) \ STDMETHOD(ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fWindowFrame) PURE; \
ICOM_METHOD1(HRESULT,EnableModeless, BOOL,fEnable) STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE;
#define IOleInPlaceActiveObject_IMETHODS \ #define IOleInPlaceActiveObject_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IOleInPlaceActiveObject_METHODS IOleInPlaceActiveObject_METHODS
ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow) ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceActiveObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceActiveObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -243,17 +243,17 @@ ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceUIWindow interface * IOleInPlaceUIWindow interface
*/ */
#define ICOM_INTERFACE IOleInPlaceUIWindow #define INTERFACE IOleInPlaceUIWindow
#define IOleInPlaceUIWindow_METHODS \ #define IOleInPlaceUIWindow_METHODS \
ICOM_METHOD1(HRESULT,GetBorder, LPRECT,lprectBorder) \ STDMETHOD(GetBorder)(THIS_ LPRECT lprectBorder) PURE; \
ICOM_METHOD1(HRESULT,RequestBorderSpace, LPCBORDERWIDTHS,pborderwidths) \ STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
ICOM_METHOD1(HRESULT,SetBorderSpace, LPCBORDERWIDTHS,pborderwidths) \ STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS pborderwidths) PURE; \
ICOM_METHOD2(HRESULT,SetActiveObject, IOleInPlaceActiveObject*,pActiveObject, LPCOLESTR,pszObjName) STDMETHOD(SetActiveObject)(THIS_ IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName) PURE;
#define IOleInPlaceUIWindow_IMETHODS \ #define IOleInPlaceUIWindow_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IOleInPlaceUIWindow_METHODS IOleInPlaceUIWindow_METHODS
ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow) ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceUIWindow_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceUIWindow_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -272,19 +272,19 @@ ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceFrame interface * IOleInPlaceFrame interface
*/ */
#define ICOM_INTERFACE IOleInPlaceFrame #define INTERFACE IOleInPlaceFrame
#define IOleInPlaceFrame_METHODS \ #define IOleInPlaceFrame_METHODS \
ICOM_METHOD2 (HRESULT,InsertMenus, HMENU,hemnuShared, LPOLEMENUGROUPWIDTHS,lpMenuWidths) \ STDMETHOD(InsertMenus)(THIS_ HMENU hemnuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
ICOM_METHOD3 (HRESULT,SetMenu, HMENU,hemnuShared, HOLEMENU,holemenu, HWND,hwndActiveObject) \ STDMETHOD(SetMenu)(THIS_ HMENU hemnuShared, HOLEMENU holemenu, HWND hwndActiveObject) PURE; \
ICOM_METHOD1 (HRESULT,RemoveMenus, HMENU,hemnuShared) \ STDMETHOD(RemoveMenus)(THIS_ HMENU hemnuShared) PURE; \
ICOM_METHOD1 (HRESULT,SetStatusText, LPCOLESTR,pszStatusText) \ STDMETHOD(SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
ICOM_METHOD1 (HRESULT,EnableModeless, BOOL,fEnable) \ STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE; \
ICOM_METHOD2 (HRESULT,TranslateAccelerator, struct tagMSG*,lpmsg, WORD,wID) STDMETHOD(TranslateAccelerator)(THIS_ struct tagMSG *lpmsg, WORD wID) PURE;
#define IOleInPlaceFrame_IMETHODS \ #define IOleInPlaceFrame_IMETHODS \
IOleInPlaceUIWindow_IMETHODS \ IOleInPlaceUIWindow_IMETHODS \
IOleInPlaceFrame_METHODS IOleInPlaceFrame_METHODS
ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow) ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -310,23 +310,23 @@ ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
/***************************************************************************** /*****************************************************************************
* IOleInPlaceSite interface * IOleInPlaceSite interface
*/ */
#define ICOM_INTERFACE IOleInPlaceSite #define INTERFACE IOleInPlaceSite
#define IOleInPlaceSite_METHODS \ #define IOleInPlaceSite_METHODS \
ICOM_METHOD (HRESULT,CanInPlaceActivate) \ STDMETHOD(CanInPlaceActivate)(THIS) PURE; \
ICOM_METHOD (HRESULT,OnInPlaceActivate) \ STDMETHOD(OnInPlaceActivate)(THIS) PURE; \
ICOM_METHOD (HRESULT,OnUIActivate) \ STDMETHOD(OnUIActivate)(THIS) PURE; \
ICOM_METHOD5(HRESULT,GetWindowContext, IOleInPlaceFrame**,ppFrame, IOleInPlaceUIWindow**,ppDoc, LPRECT,lprcPosRect, LPRECT,lprcClipRect, LPOLEINPLACEFRAMEINFO,lpFrameInfo) \ STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE; \
ICOM_METHOD1(HRESULT,Scroll, SIZE,scrollExtant) \ STDMETHOD(Scroll)(THIS_ SIZE scrollExtant) PURE; \
ICOM_METHOD1(HRESULT,OnUIDeactivate, BOOL,fUndoable) \ STDMETHOD(OnUIDeactivate)(THIS_ BOOL fUndoable) PURE; \
ICOM_METHOD (HRESULT,OnInPlaceDeactivate) \ STDMETHOD(OnInPlaceDeactivate)(THIS) PURE; \
ICOM_METHOD (HRESULT,DiscardUndoState) \ STDMETHOD(DiscardUndoState)(THIS) PURE; \
ICOM_METHOD (HRESULT,DeactivateAndUndo) \ STDMETHOD(DeactivateAndUndo)(THIS) PURE; \
ICOM_METHOD1(HRESULT,OnPosRectChange, LPCRECT,lprcPosRect) STDMETHOD(OnPosRectChange)(THIS_ LPCRECT lprcPosRect) PURE;
#define IOleInPlaceSite_IMETHODS \ #define IOleInPlaceSite_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IOleInPlaceSite_METHODS IOleInPlaceSite_METHODS
ICOM_DEFINE(IOleInPlaceSite,IOleWindow) ICOM_DEFINE(IOleInPlaceSite,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleInPlaceSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleInPlaceSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -351,19 +351,19 @@ ICOM_DEFINE(IOleInPlaceSite,IOleWindow)
/***************************************************************************** /*****************************************************************************
* IOleClientSite interface * IOleClientSite interface
*/ */
#define ICOM_INTERFACE IOleClientSite #define INTERFACE IOleClientSite
#define IOleClientSite_METHODS \ #define IOleClientSite_METHODS \
ICOM_METHOD (HRESULT,SaveObject) \ STDMETHOD(SaveObject)(THIS) PURE; \
ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk) \ STDMETHOD(GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) PURE; \
ICOM_METHOD1(HRESULT,GetContainer, IOleContainer**,ppContainer) \ STDMETHOD(GetContainer)(THIS_ IOleContainer **ppContainer) PURE; \
ICOM_METHOD (HRESULT,ShowObject) \ STDMETHOD(ShowObject)(THIS) PURE; \
ICOM_METHOD1(HRESULT,OnShowWindow, BOOL,fShow) \ STDMETHOD(OnShowWindow)(THIS_ BOOL fShow) PURE; \
ICOM_METHOD (HRESULT,RequestNewObjectLayout) STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
#define IOleClientSite_IMETHODS \ #define IOleClientSite_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleClientSite_METHODS IOleClientSite_METHODS
ICOM_DEFINE(IOleClientSite,IUnknown) ICOM_DEFINE(IOleClientSite,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleClientSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleClientSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -381,14 +381,14 @@ ICOM_DEFINE(IOleClientSite,IUnknown)
/***************************************************************************** /*****************************************************************************
* IParseDisplayName interface * IParseDisplayName interface
*/ */
#define ICOM_INTERFACE IParseDisplayName #define INTERFACE IParseDisplayName
#define IParseDisplayName_METHODS \ #define IParseDisplayName_METHODS \
ICOM_METHOD4(HRESULT,ParseDisplayName, IBindCtx*,pbc, LPOLESTR,pszDisplayName, ULONG*,pchEaten, IMoniker**,ppmkOut) STDMETHOD(ParseDisplayName)(THIS_ IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut) PURE;
#define IParseDisplayName_IMETHODS \ #define IParseDisplayName_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IParseDisplayName_METHODS IParseDisplayName_METHODS
ICOM_DEFINE(IParseDisplayName,IUnknown) ICOM_DEFINE(IParseDisplayName,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IParseDisplayName_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IParseDisplayName_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -401,15 +401,15 @@ ICOM_DEFINE(IParseDisplayName,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleContainer interface * IOleContainer interface
*/ */
#define ICOM_INTERFACE IOleContainer #define INTERFACE IOleContainer
#define IOleContainer_METHODS \ #define IOleContainer_METHODS \
ICOM_METHOD2(HRESULT,EnumObjects, DWORD,grfFlags, IEnumUnknown**,ppenum) \ STDMETHOD(EnumObjects)(THIS_ DWORD grfFlags, IEnumUnknown **ppenum) PURE; \
ICOM_METHOD1(HRESULT,LockContainer, BOOL,fLock) STDMETHOD(LockContainer)(THIS_ BOOL fLock) PURE;
#define IOleContainer_IMETHODS \ #define IOleContainer_IMETHODS \
IParseDisplayName_IMETHODS \ IParseDisplayName_IMETHODS \
IOleContainer_METHODS IOleContainer_METHODS
ICOM_DEFINE(IOleContainer,IParseDisplayName) ICOM_DEFINE(IOleContainer,IParseDisplayName)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -429,16 +429,16 @@ ICOM_DEFINE(IOleContainer,IParseDisplayName)
#undef GetObject #undef GetObject
#endif #endif
#define ICOM_INTERFACE IOleItemContainer #define INTERFACE IOleItemContainer
#define IOleItemContainer_METHODS \ #define IOleItemContainer_METHODS \
ICOM_METHOD5(HRESULT,GetObject, LPOLESTR,pszItem, DWORD,dwSpeedNeeded, IBindCtx*,pbc, REFIID,riid, void**,ppvObject) \ STDMETHOD(GetObject)(THIS_ LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx *pbc, REFIID riid, void **ppvObject) PURE; \
ICOM_METHOD4(HRESULT,GetObjectStorage, LPOLESTR,pszItem, IBindCtx*,pbc, REFIID,riid, void**,ppvStorage) \ STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR pszItem, IBindCtx *pbc, REFIID riid, void **ppvStorage) PURE; \
ICOM_METHOD1(HRESULT,IsRunning, LPOLESTR,pszItem) STDMETHOD(IsRunning)(THIS_ LPOLESTR pszItem) PURE;
#define IOleItemContainer_IMETHODS \ #define IOleItemContainer_IMETHODS \
IOleContainer_IMETHODS \ IOleContainer_IMETHODS \
IOleItemContainer_METHODS IOleItemContainer_METHODS
ICOM_DEFINE(IOleItemContainer,IOleContainer) ICOM_DEFINE(IOleItemContainer,IOleContainer)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleItemContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleItemContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -453,24 +453,24 @@ ICOM_DEFINE(IOleItemContainer,IOleContainer)
/***************************************************************************** /*****************************************************************************
* IOleItemContainer interface * IOleItemContainer interface
*/ */
#define ICOM_INTERFACE IOleLink #define INTERFACE IOleLink
#define IOleLink_METHODS \ #define IOleLink_METHODS \
ICOM_METHOD1(HRESULT,SetUpdateOptions, DWORD,dwUpdateOpt) \ STDMETHOD(SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
ICOM_METHOD1(HRESULT,GetUpdateOptions, DWORD*,pdwUpdateOpt) \ STDMETHOD(GetUpdateOptions)(THIS_ DWORD *pdwUpdateOpt) PURE; \
ICOM_METHOD2(HRESULT,SetSourceMoniker, IMoniker*,pmk, REFCLSID,rclsid) \ STDMETHOD(SetSourceMoniker)(THIS_ IMoniker *pmk, REFCLSID rclsid) PURE; \
ICOM_METHOD1(HRESULT,GetSourceMoniker, IMoniker**,ppmk) \ STDMETHOD(GetSourceMoniker)(THIS_ IMoniker **ppmk) PURE; \
ICOM_METHOD1(HRESULT,SetSourceDisplayName, LPCOLESTR,pszStatusText) \ STDMETHOD(SetSourceDisplayName)(THIS_ LPCOLESTR pszStatusText) PURE; \
ICOM_METHOD1(HRESULT,GetSourceDisplayName, LPOLESTR*,ppszDisplayName) \ STDMETHOD(GetSourceDisplayName)(THIS_ LPOLESTR *ppszDisplayName) PURE; \
ICOM_METHOD2(HRESULT,BindToSource, DWORD,bindflags, IBindCtx*,pbc) \ STDMETHOD(BindToSource)(THIS_ DWORD bindflags, IBindCtx *pbc) PURE; \
ICOM_METHOD (HRESULT,BindIfRunning) \ STDMETHOD(BindIfRunning)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetBoundSource, IUnknown**,ppunk) \ STDMETHOD(GetBoundSource)(THIS_ IUnknown **ppunk) PURE; \
ICOM_METHOD (HRESULT,UnBindSource) \ STDMETHOD(UnBindSource)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Update, IBindCtx*,pbc) STDMETHOD(Update)(THIS_ IBindCtx *pbc) PURE;
#define IOleLink_IMETHODS \ #define IOleLink_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleLink_METHODS IOleLink_METHODS
ICOM_DEFINE(IOleLink,IUnknown) ICOM_DEFINE(IOleLink,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleLink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleLink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -494,5 +494,3 @@ ICOM_DEFINE(IOleLink,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_INPLACE_H */ #endif /* __WINE_WINE_OBJ_INPLACE_H */

View File

@ -41,37 +41,37 @@ typedef TEXTMETRICW TEXTMETRICOLE;
/***************************************************************************** /*****************************************************************************
* IFont interface * IFont interface
*/ */
#define ICOM_INTERFACE IFont #define INTERFACE IFont
#define IFont_METHODS \ #define IFont_METHODS \
ICOM_METHOD1(HRESULT, get_Name, BSTR*, pname) \ STDMETHOD(get_Name)(THIS_ BSTR * pname) PURE; \
ICOM_METHOD1(HRESULT, put_Name, BSTR, name) \ STDMETHOD(put_Name)(THIS_ BSTR name) PURE; \
ICOM_METHOD1(HRESULT, get_Size, CY*, psize) \ STDMETHOD(get_Size)(THIS_ CY * psize) PURE; \
ICOM_METHOD1(HRESULT, put_Size, CY, size) \ STDMETHOD(put_Size)(THIS_ CY size) PURE; \
ICOM_METHOD1(HRESULT, get_Bold, BOOL*, pbold) \ STDMETHOD(get_Bold)(THIS_ BOOL * pbold) PURE; \
ICOM_METHOD1(HRESULT, put_Bold, BOOL, bold) \ STDMETHOD(put_Bold)(THIS_ BOOL bold) PURE; \
ICOM_METHOD1(HRESULT, get_Italic, BOOL*, pitalic) \ STDMETHOD(get_Italic)(THIS_ BOOL * pitalic) PURE; \
ICOM_METHOD1(HRESULT, put_Italic, BOOL, italic) \ STDMETHOD(put_Italic)(THIS_ BOOL italic) PURE; \
ICOM_METHOD1(HRESULT, get_Underline, BOOL*, punderline) \ STDMETHOD(get_Underline)(THIS_ BOOL * punderline) PURE; \
ICOM_METHOD1(HRESULT, put_Underline, BOOL, underline) \ STDMETHOD(put_Underline)(THIS_ BOOL underline) PURE; \
ICOM_METHOD1(HRESULT, get_Strikethrough, BOOL*, pstrikethrough) \ STDMETHOD(get_Strikethrough)(THIS_ BOOL * pstrikethrough) PURE; \
ICOM_METHOD1(HRESULT, put_Strikethrough, BOOL, strikethrough) \ STDMETHOD(put_Strikethrough)(THIS_ BOOL strikethrough) PURE; \
ICOM_METHOD1(HRESULT, get_Weight, short*, pweight) \ STDMETHOD(get_Weight)(THIS_ short * pweight) PURE; \
ICOM_METHOD1(HRESULT, put_Weight, short, weight) \ STDMETHOD(put_Weight)(THIS_ short weight) PURE; \
ICOM_METHOD1(HRESULT, get_Charset, short*, pcharset) \ STDMETHOD(get_Charset)(THIS_ short * pcharset) PURE; \
ICOM_METHOD1(HRESULT, put_Charset, short, charset) \ STDMETHOD(put_Charset)(THIS_ short charset) PURE; \
ICOM_METHOD1(HRESULT, get_hFont, HFONT*, phfont) \ STDMETHOD(get_hFont)(THIS_ HFONT * phfont) PURE; \
ICOM_METHOD1(HRESULT, Clone, IFont**, ppfont) \ STDMETHOD(Clone)(THIS_ IFont ** ppfont) PURE; \
ICOM_METHOD1(HRESULT, IsEqual, IFont*, pFontOther) \ STDMETHOD(IsEqual)(THIS_ IFont * pFontOther) PURE; \
ICOM_METHOD2(HRESULT, SetRatio, long, cyLogical, long, cyHimetric) \ STDMETHOD(SetRatio)(THIS_ long cyLogical, long cyHimetric) PURE; \
ICOM_METHOD1(HRESULT, QueryTextMetrics, TEXTMETRICOLE*, ptm) \ STDMETHOD(QueryTextMetrics)(THIS_ TEXTMETRICOLE * ptm) PURE; \
ICOM_METHOD1(HRESULT, AddRefHfont, HFONT, hfont) \ STDMETHOD(AddRefHfont)(THIS_ HFONT hfont) PURE; \
ICOM_METHOD1(HRESULT, ReleaseHfont, HFONT, hfont) \ STDMETHOD(ReleaseHfont)(THIS_ HFONT hfont) PURE; \
ICOM_METHOD1(HRESULT, SetHdc, HDC, hdc) STDMETHOD(SetHdc)(THIS_ HDC hdc) PURE;
#define IFont_IMETHODS \ #define IFont_IMETHODS \
IUnknown_IMEHTODS \ IUnknown_IMEHTODS \
IFont_METHODS IFont_METHODS
ICOM_DEFINE(IFont,IUnknown) ICOM_DEFINE(IFont,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -107,13 +107,13 @@ ICOM_DEFINE(IFont,IUnknown)
/***************************************************************************** /*****************************************************************************
* IFont interface * IFont interface
*/ */
#define ICOM_INTERFACE IFontDisp #define INTERFACE IFontDisp
#define IFontDisp_METHODS #define IFontDisp_METHODS
#define IFontDisp_IMETHODS \ #define IFontDisp_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IFontDisp_METHODS IFontDisp_METHODS
ICOM_DEFINE(IFontDisp,IDispatch) ICOM_DEFINE(IFontDisp,IDispatch)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IFontDisp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IFontDisp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -92,34 +92,34 @@ typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB;
/***************************************************************************** /*****************************************************************************
* IOleObject interface * IOleObject interface
*/ */
#define ICOM_INTERFACE IOleObject #define INTERFACE IOleObject
#define IOleObject_METHODS \ #define IOleObject_METHODS \
ICOM_METHOD1(HRESULT,SetClientSite, IOleClientSite*,pClientSite) \ STDMETHOD(SetClientSite)(THIS_ IOleClientSite *pClientSite) PURE; \
ICOM_METHOD1(HRESULT,GetClientSite, IOleClientSite**,ppClientSite) \ STDMETHOD(GetClientSite)(THIS_ IOleClientSite **ppClientSite) PURE; \
ICOM_METHOD2(HRESULT,SetHostNames, LPCOLESTR,szContainerApp, LPCOLESTR,szContainerObj) \ STDMETHOD(SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
ICOM_METHOD1(HRESULT,Close, DWORD,dwSaveOption) \ STDMETHOD(Close)(THIS_ DWORD dwSaveOption) PURE; \
ICOM_METHOD2(HRESULT,SetMoniker, DWORD,dwWhichMoniker, IMoniker*,pmk) \ STDMETHOD(SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker *pmk) PURE; \
ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk) \ STDMETHOD(GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) PURE; \
ICOM_METHOD3(HRESULT,InitFromData, IDataObject*,pDataObject, BOOL,fCreation, DWORD,dwReserved) \ STDMETHOD(InitFromData)(THIS_ IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
ICOM_METHOD2(HRESULT,GetClipboardData, DWORD,dwReserved, IDataObject**,ppDataObject) \ STDMETHOD(GetClipboardData)(THIS_ DWORD dwReserved, IDataObject **ppDataObject) PURE; \
ICOM_METHOD6(HRESULT,DoVerb, LONG,iVerb, struct tagMSG*,lpmsg, IOleClientSite*,pActiveSite, LONG,lindex, HWND,hwndParent, LPCRECT,lprcPosRect) \ STDMETHOD(DoVerb)(THIS_ LONG iVerb, struct tagMSG *lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
ICOM_METHOD1(HRESULT,EnumVerbs, IEnumOLEVERB**,ppEnumOleVerb) \ STDMETHOD(EnumVerbs)(THIS_ IEnumOLEVERB **ppEnumOleVerb) PURE; \
ICOM_METHOD (HRESULT,Update) \ STDMETHOD(Update)(THIS) PURE; \
ICOM_METHOD (HRESULT,IsUpToDate) \ STDMETHOD(IsUpToDate)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetUserClassID, CLSID*,pClsid) \ STDMETHOD(GetUserClassID)(THIS_ CLSID *pClsid) PURE; \
ICOM_METHOD2(HRESULT,GetUserType, DWORD,dwFormOfType, LPOLESTR*,pszUserType) \ STDMETHOD(GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR *pszUserType) PURE; \
ICOM_METHOD2(HRESULT,SetExtent, DWORD,dwDrawAspect, SIZEL*,psizel) \ STDMETHOD(SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL *psizel) PURE; \
ICOM_METHOD2(HRESULT,GetExtent, DWORD,dwDrawAspect, SIZEL*,psizel) \ STDMETHOD(GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL *psizel) PURE; \
ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvSink, DWORD*,pdwConnection) \ STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvSink, DWORD *pdwConnection) PURE; \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \ STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE; \
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \ STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA **ppenumAdvise) PURE; \
ICOM_METHOD2(HRESULT,GetMiscStatus, DWORD,dwAspect, DWORD*,pdwStatus) \ STDMETHOD(GetMiscStatus)(THIS_ DWORD dwAspect, DWORD *pdwStatus) PURE; \
ICOM_METHOD1(HRESULT,SetColorScheme, struct tagLOGPALETTE*,pLogpal) STDMETHOD(SetColorScheme)(THIS_ struct tagLOGPALETTE *pLogpal) PURE;
#define IOleObject_IMETHODS \ #define IOleObject_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleObject_METHODS IOleObject_METHODS
ICOM_DEFINE(IOleObject,IUnknown) ICOM_DEFINE(IOleObject,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -152,19 +152,19 @@ ICOM_DEFINE(IOleObject,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleAdviseHolder interface * IOleAdviseHolder interface
*/ */
#define ICOM_INTERFACE IOleAdviseHolder #define INTERFACE IOleAdviseHolder
#define IOleAdviseHolder_METHODS \ #define IOleAdviseHolder_METHODS \
ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvise, DWORD*,pdwConnection) \ STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvise, DWORD *pdwConnection) PURE; \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \ STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE; \
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \ STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA **ppenumAdvise) PURE; \
ICOM_METHOD1(HRESULT,SendOnRename, IMoniker*,pmk) \ STDMETHOD(SendOnRename)(THIS_ IMoniker *pmk) PURE; \
ICOM_METHOD (HRESULT,SendOnSave) \ STDMETHOD(SendOnSave)(THIS) PURE; \
ICOM_METHOD (HRESULT,SendOnClose) STDMETHOD(SendOnClose)(THIS) PURE;
#define IOleAdviseHolder_IMETHODS \ #define IOleAdviseHolder_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleAdviseHolder_METHODS IOleAdviseHolder_METHODS
ICOM_DEFINE(IOleAdviseHolder,IUnknown) ICOM_DEFINE(IOleAdviseHolder,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleAdviseHolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleAdviseHolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -182,17 +182,17 @@ ICOM_DEFINE(IOleAdviseHolder,IUnknown)
/***************************************************************************** /*****************************************************************************
* IEnumOLEVERB interface * IEnumOLEVERB interface
*/ */
#define ICOM_INTERFACE IEnumOLEVERB #define INTERFACE IEnumOLEVERB
#define IEnumOLEVERB_METHODS \ #define IEnumOLEVERB_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, LPOLEVERB,rgelt, ULONG*,pceltFetched) \ STDMETHOD(Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched) PURE; \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \ STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
ICOM_METHOD (HRESULT,Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Clone, IEnumOLEVERB**,ppenum) STDMETHOD(Clone)(THIS_ IEnumOLEVERB **ppenum) PURE;
#define IEnumOLEVERB_IMETHODS \ #define IEnumOLEVERB_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumOLEVERB_METHODS IEnumOLEVERB_METHODS
ICOM_DEFINE(IEnumOLEVERB,IUnknown) ICOM_DEFINE(IEnumOLEVERB,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumOLEVERB_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b) #define IEnumOLEVERB_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
@ -209,4 +209,3 @@ ICOM_DEFINE(IEnumOLEVERB,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_OLEOBJ_H */ #endif /* __WINE_WINE_OBJ_OLEOBJ_H */

View File

@ -99,16 +99,16 @@ typedef struct tagQACONTAINER
/***************************************************************************** /*****************************************************************************
* IQuickActivate interface * IQuickActivate interface
*/ */
#define ICOM_INTERFACE IQuickActivate #define INTERFACE IQuickActivate
#define IQuickActivate_METHODS \ #define IQuickActivate_METHODS \
ICOM_METHOD2(HRESULT,QuickActivate, QACONTAINER*,pQaContainer, QACONTROL*,pQaControl) \ STDMETHOD(QuickActivate)(THIS_ QACONTAINER *pQaContainer, QACONTROL *pQaControl) PURE; \
ICOM_METHOD1(HRESULT,SetContentExtent, LPSIZEL,pSizel) \ STDMETHOD(SetContentExtent)(THIS_ LPSIZEL pSizel) PURE; \
ICOM_METHOD1(HRESULT,GetContentExtent, LPSIZEL,pSizel) STDMETHOD(GetContentExtent)(THIS_ LPSIZEL pSizel) PURE;
#define IQuickActivate_IMETHODS \ #define IQuickActivate_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IQuickActivate_METHODS IQuickActivate_METHODS
ICOM_DEFINE(IQuickActivate,IUnknown) ICOM_DEFINE(IQuickActivate,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IQuickActivate_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IQuickActivate_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -123,16 +123,16 @@ ICOM_DEFINE(IQuickActivate,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPointerInactive interface * IPointerInactive interface
*/ */
#define ICOM_INTERFACE IPointerInactive #define INTERFACE IPointerInactive
#define IPointerInactive_METHODS \ #define IPointerInactive_METHODS \
ICOM_METHOD1(HRESULT,GetActivationPolicy, DWORD*,pdwPolicy) \ STDMETHOD(GetActivationPolicy)(THIS_ DWORD *pdwPolicy) PURE; \
ICOM_METHOD4(HRESULT,OnInactiveMouseMove, LPCRECT,pRectBounds, LONG,x, LONG,y, DWORD,grfKeyState) \ STDMETHOD(OnInactiveMouseMove)(THIS_ LPCRECT pRectBounds, LONG x, LONG y, DWORD grfKeyState) PURE; \
ICOM_METHOD5(HRESULT,OnInactiveSetCursor, LPCRECT,pRectBounds, LONG,x, LONG,y, DWORD,dwMouseMsg, BOOL,fSetAlways) STDMETHOD(OnInactiveSetCursor)(THIS_ LPCRECT pRectBounds, LONG x, LONG y, DWORD dwMouseMsg, BOOL fSetAlways) PURE;
#define IPointerInactive_IMETHODS \ #define IPointerInactive_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPointerInactive_METHODS IPointerInactive_METHODS
ICOM_DEFINE(IPointerInactive,IUnknown) ICOM_DEFINE(IPointerInactive,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPointerInactive_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPointerInactive_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -147,14 +147,14 @@ ICOM_DEFINE(IPointerInactive,IUnknown)
/***************************************************************************** /*****************************************************************************
* IAdviseSinkEx interface * IAdviseSinkEx interface
*/ */
#define ICOM_INTERFACE IAdviseSinkEx #define INTERFACE IAdviseSinkEx
#define IAdviseSinkEx_METHODS \ #define IAdviseSinkEx_METHODS \
ICOM_METHOD1(HRESULT,OnViewStatusChange, DWORD,dwViewStatus) STDMETHOD(OnViewStatusChange)(THIS_ DWORD dwViewStatus) PURE;
#define IAdviseSinkEx_IMETHODS \ #define IAdviseSinkEx_IMETHODS \
IAdviseSink_IMETHODS \ IAdviseSink_IMETHODS \
IAdviseSinkEx_METHODS IAdviseSinkEx_METHODS
ICOM_DEFINE(IAdviseSinkEx,IAdviseSink) ICOM_DEFINE(IAdviseSinkEx,IAdviseSink)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IAdviseSinkEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IAdviseSinkEx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -173,25 +173,25 @@ ICOM_DEFINE(IAdviseSinkEx,IAdviseSink)
/***************************************************************************** /*****************************************************************************
* IOleUndoManager interface * IOleUndoManager interface
*/ */
#define ICOM_INTERFACE IOleUndoManager #define INTERFACE IOleUndoManager
#define IOleUndoManager_METHODS \ #define IOleUndoManager_METHODS \
ICOM_METHOD1(HRESULT,Open, IOleParentUndoUnit*,pPUU) \ STDMETHOD(Open)(THIS_ IOleParentUndoUnit *pPUU) PURE; \
ICOM_METHOD2(HRESULT,Close, IOleParentUndoUnit*,pPUU, BOOL,fCommit) \ STDMETHOD(Close)(THIS_ IOleParentUndoUnit *pPUU, BOOL fCommit) PURE; \
ICOM_METHOD1(HRESULT,Add, IOleUndoUnit*,pUU) \ STDMETHOD(Add)(THIS_ IOleUndoUnit *pUU) PURE; \
ICOM_METHOD1(HRESULT,GetOpenParentState, DWORD*,pdwState) \ STDMETHOD(GetOpenParentState)(THIS_ DWORD *pdwState) PURE; \
ICOM_METHOD1(HRESULT,DiscardFrom, IOleUndoUnit*,pUU) \ STDMETHOD(DiscardFrom)(THIS_ IOleUndoUnit *pUU) PURE; \
ICOM_METHOD1(HRESULT,UndoTo, IOleUndoUnit*,pUU) \ STDMETHOD(UndoTo)(THIS_ IOleUndoUnit *pUU) PURE; \
ICOM_METHOD1(HRESULT,RedoTo, IOleUndoUnit*,pUU) \ STDMETHOD(RedoTo)(THIS_ IOleUndoUnit *pUU) PURE; \
ICOM_METHOD1(HRESULT,EnumUndoable, IEnumOleUndoUnits**,ppEnum) \ STDMETHOD(EnumUndoable)(THIS_ IEnumOleUndoUnits **ppEnum) PURE; \
ICOM_METHOD1(HRESULT,EnumRedoable, IEnumOleUndoUnits**,ppEnum) \ STDMETHOD(EnumRedoable)(THIS_ IEnumOleUndoUnits **ppEnum) PURE; \
ICOM_METHOD1(HRESULT,GetLastUndoDescription, BSTR*,pBstr) \ STDMETHOD(GetLastUndoDescription)(THIS_ BSTR *pBstr) PURE; \
ICOM_METHOD1(HRESULT,GetLastRedoDescription, BSTR*,pBstr) \ STDMETHOD(GetLastRedoDescription)(THIS_ BSTR *pBstr) PURE; \
ICOM_METHOD1(HRESULT,Enable, BOOL,fEnable) STDMETHOD(Enable)(THIS_ BOOL fEnable) PURE;
#define IOleUndoManager_IMETHODS \ #define IOleUndoManager_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleUndoManager_METHODS IOleUndoManager_METHODS
ICOM_DEFINE(IOleUndoManager,IUnknown) ICOM_DEFINE(IOleUndoManager,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleUndoManager_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleUndoManager_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -215,17 +215,17 @@ ICOM_DEFINE(IOleUndoManager,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleUndoUnit interface * IOleUndoUnit interface
*/ */
#define ICOM_INTERFACE IOleUndoUnit #define INTERFACE IOleUndoUnit
#define IOleUndoUnit_METHODS \ #define IOleUndoUnit_METHODS \
ICOM_METHOD1(HRESULT,Do, IOleUndoManager*,pUndoManager) \ STDMETHOD(Do)(THIS_ IOleUndoManager *pUndoManager) PURE; \
ICOM_METHOD1(HRESULT,GetDescription, BSTR*,pBstr) \ STDMETHOD(GetDescription)(THIS_ BSTR *pBstr) PURE; \
ICOM_METHOD2(HRESULT,GetUnitType, CLSID*,pClsid, LONG*,plID) \ STDMETHOD(GetUnitType)(THIS_ CLSID *pClsid, LONG *plID) PURE; \
ICOM_METHOD (HRESULT,OnNextAdd) STDMETHOD(OnNextAdd)(THIS) PURE;
#define IOleUndoUnit_IMETHODS \ #define IOleUndoUnit_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IOleUndoUnit_METHODS IOleUndoUnit_METHODS
ICOM_DEFINE(IOleUndoUnit,IUnknown) ICOM_DEFINE(IOleUndoUnit,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleUndoUnit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleUndoUnit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -242,18 +242,18 @@ ICOM_DEFINE(IOleUndoUnit,IUnknown)
/***************************************************************************** /*****************************************************************************
* IOleUndoUnit interface * IOleUndoUnit interface
*/ */
#define ICOM_INTERFACE IOleParentUndoUnit #define INTERFACE IOleParentUndoUnit
#define IOleParentUndoUnit_METHODS \ #define IOleParentUndoUnit_METHODS \
ICOM_METHOD1(HRESULT,Open, IOleParentUndoUnit*,pPUU) \ STDMETHOD(Open)(THIS_ IOleParentUndoUnit *pPUU) PURE; \
ICOM_METHOD2(HRESULT,Close, IOleParentUndoUnit*,pPUU, BOOL,fCommit) \ STDMETHOD(Close)(THIS_ IOleParentUndoUnit *pPUU, BOOL fCommit) PURE; \
ICOM_METHOD1(HRESULT,Add, IOleUndoUnit*,pUU) \ STDMETHOD(Add)(THIS_ IOleUndoUnit *pUU) PURE; \
ICOM_METHOD1(HRESULT,FindUnit, IOleUndoUnit*,pUU) \ STDMETHOD(FindUnit)(THIS_ IOleUndoUnit *pUU) PURE; \
ICOM_METHOD1(HRESULT,GetParentState, DWORD*,pdwState) STDMETHOD(GetParentState)(THIS_ DWORD *pdwState) PURE;
#define IOleParentUndoUnit_IMETHODS \ #define IOleParentUndoUnit_IMETHODS \
IOleUndoUnit_IMETHODS \ IOleUndoUnit_IMETHODS \
IOleParentUndoUnit_METHODS IOleParentUndoUnit_METHODS
ICOM_DEFINE(IOleParentUndoUnit,IOleUndoUnit) ICOM_DEFINE(IOleParentUndoUnit,IOleUndoUnit)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IOleParentUndoUnit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IOleParentUndoUnit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -275,17 +275,17 @@ ICOM_DEFINE(IOleParentUndoUnit,IOleUndoUnit)
/***************************************************************************** /*****************************************************************************
* IEnumOleUndoUnits interface * IEnumOleUndoUnits interface
*/ */
#define ICOM_INTERFACE IEnumOleUndoUnits #define INTERFACE IEnumOleUndoUnits
#define IEnumOleUndoUnits_METHODS \ #define IEnumOleUndoUnits_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,cElt, IOleUndoUnit**,rgElt, ULONG*,pcEltFetched) \ STDMETHOD(Next)(THIS_ ULONG cElt, IOleUndoUnit **rgElt, ULONG *pcEltFetched) PURE; \
ICOM_METHOD1(HRESULT,Skip, ULONG,cElt) \ STDMETHOD(Skip)(THIS_ ULONG cElt) PURE; \
ICOM_METHOD (HRESULT,Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Clone, IEnumOleUndoUnits**,ppEnum) STDMETHOD(Clone)(THIS_ IEnumOleUndoUnits **ppEnum) PURE;
#define IEnumOleUndoUnits_IMETHODS \ #define IEnumOleUndoUnits_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumOleUndoUnits_METHODS IEnumOleUndoUnits_METHODS
ICOM_DEFINE(IEnumOleUndoUnits,IUnknown) ICOM_DEFINE(IEnumOleUndoUnits,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumOleUndoUnits_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IEnumOleUndoUnits_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -302,4 +302,3 @@ ICOM_DEFINE(IEnumOleUndoUnits,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_OLEUNDO_H */ #endif /* __WINE_WINE_OBJ_OLEUNDO_H */

View File

@ -47,19 +47,19 @@ typedef struct IViewObject2 IViewObject2, *LPVIEWOBJECT2;
*/ */
typedef BOOL (CALLBACK *IVO_ContCallback)(DWORD); typedef BOOL (CALLBACK *IVO_ContCallback)(DWORD);
#define ICOM_INTERFACE IViewObject #define INTERFACE IViewObject
#define IViewObject_METHODS \ #define IViewObject_METHODS \
ICOM_METHOD10(HRESULT,Draw, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DVTARGETDEVICE*,ptd, HDC,hdcTargetDev, HDC,hdcDraw, LPCRECTL,lprcBounds, LPCRECTL,lprcWBounds, IVO_ContCallback, pfnContinue, DWORD,dwContinue) \ STDMETHOD(Draw)(THIS_ DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, IVO_ContCallback pfnContinue, DWORD dwContinue) PURE; \
ICOM_METHOD6(HRESULT,GetColorSet, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DVTARGETDEVICE*,ptd, HDC,hicTargetDevice, struct tagLOGPALETTE**,ppColorSet) \ STDMETHOD(GetColorSet)(THIS_ DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDevice, struct tagLOGPALETTE **ppColorSet) PURE; \
ICOM_METHOD4(HRESULT,Freeze, DWORD,dwDrawAspect, LONG,lindex, void*,pvAspect, DWORD*,pdwFreeze) \ STDMETHOD(Freeze)(THIS_ DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze) PURE; \
ICOM_METHOD1(HRESULT,Unfreeze, DWORD,dwFreeze) \ STDMETHOD(Unfreeze)(THIS_ DWORD dwFreeze) PURE; \
ICOM_METHOD3(HRESULT,SetAdvise, DWORD,aspects, DWORD,advf, IAdviseSink*,pAdvSink) \ STDMETHOD(SetAdvise)(THIS_ DWORD aspects, DWORD advf, IAdviseSink *pAdvSink) PURE; \
ICOM_METHOD3(HRESULT,GetAdvise, DWORD*,pAspects, DWORD*,pAdvf, IAdviseSink**,ppAdvSink) STDMETHOD(GetAdvise)(THIS_ DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink) PURE;
#define IViewObject_IMETHODS \ #define IViewObject_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IViewObject_METHODS IViewObject_METHODS
ICOM_DEFINE(IViewObject,IUnknown) ICOM_DEFINE(IViewObject,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IViewObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IViewObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -78,14 +78,14 @@ ICOM_DEFINE(IViewObject,IUnknown)
/***************************************************************************** /*****************************************************************************
* IViewObject2 interface * IViewObject2 interface
*/ */
#define ICOM_INTERFACE IViewObject2 #define INTERFACE IViewObject2
#define IViewObject2_METHODS \ #define IViewObject2_METHODS \
ICOM_METHOD4(HRESULT,GetExtent, DWORD,dwDrawAspect, LONG,lindex, DVTARGETDEVICE*,ptd, LPSIZEL,lpsizel) STDMETHOD(GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE *ptd, LPSIZEL lpsizel) PURE;
#define IViewObject2_IMETHODS \ #define IViewObject2_IMETHODS \
IViewObject_IMETHODS \ IViewObject_IMETHODS \
IViewObject2_METHODS IViewObject2_METHODS
ICOM_DEFINE(IViewObject2,IViewObject) ICOM_DEFINE(IViewObject2,IViewObject)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IViewObject2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IViewObject2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -106,4 +106,3 @@ ICOM_DEFINE(IViewObject2,IViewObject)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_OLEVIEW_H */ #endif /* __WINE_WINE_OBJ_OLEVIEW_H */

View File

@ -53,27 +53,27 @@ typedef struct IPictureDisp IPictureDisp, *LPPICTUREDISP;
/***************************************************************************** /*****************************************************************************
* IPicture interface * IPicture interface
*/ */
#define ICOM_INTERFACE IPicture #define INTERFACE IPicture
#define IPicture_METHODS \ #define IPicture_METHODS \
ICOM_METHOD1(HRESULT,get_Handle, OLE_HANDLE*,pHandle) \ STDMETHOD(get_Handle)(THIS_ OLE_HANDLE *pHandle) PURE; \
ICOM_METHOD1(HRESULT,get_hPal, OLE_HANDLE*,phPal) \ STDMETHOD(get_hPal)(THIS_ OLE_HANDLE *phPal) PURE; \
ICOM_METHOD1(HRESULT,get_Type, SHORT*,pType) \ STDMETHOD(get_Type)(THIS_ SHORT *pType) PURE; \
ICOM_METHOD1(HRESULT,get_Width, OLE_XSIZE_HIMETRIC*,pWidth) \ STDMETHOD(get_Width)(THIS_ OLE_XSIZE_HIMETRIC *pWidth) PURE; \
ICOM_METHOD1(HRESULT,get_Height, OLE_YSIZE_HIMETRIC*,pHeight) \ STDMETHOD(get_Height)(THIS_ OLE_YSIZE_HIMETRIC *pHeight) PURE; \
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) \ STDMETHOD(Render)(THIS_ 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) PURE; \
ICOM_METHOD1(HRESULT,set_hPal, OLE_HANDLE,hPal) \ STDMETHOD(set_hPal)(THIS_ OLE_HANDLE hPal) PURE; \
ICOM_METHOD1(HRESULT,get_CurDC, HDC*,phDC) \ STDMETHOD(get_CurDC)(THIS_ HDC *phDC) PURE; \
ICOM_METHOD3(HRESULT,SelectPicture, HDC,hDCIn, HDC*,phDCOut, OLE_HANDLE*,phBmpOut) \ STDMETHOD(SelectPicture)(THIS_ HDC hDCIn, HDC *phDCOut, OLE_HANDLE *phBmpOut) PURE; \
ICOM_METHOD1(HRESULT,get_KeepOriginalFormat, BOOL*,pKeep) \ STDMETHOD(get_KeepOriginalFormat)(THIS_ BOOL *pKeep) PURE; \
ICOM_METHOD1(HRESULT,put_KeepOriginalFormat, BOOL,Keep) \ STDMETHOD(put_KeepOriginalFormat)(THIS_ BOOL Keep) PURE; \
ICOM_METHOD (HRESULT,PictureChanged) \ STDMETHOD(PictureChanged)(THIS) PURE; \
ICOM_METHOD3(HRESULT,SaveAsFile, LPSTREAM,pStream, BOOL,fSaveMemCopy, LONG*,pCbSize) \ STDMETHOD(SaveAsFile)(THIS_ LPSTREAM pStream, BOOL fSaveMemCopy, LONG *pCbSize) PURE; \
ICOM_METHOD1(HRESULT,get_Attributes, DWORD*,pDwAttr) STDMETHOD(get_Attributes)(THIS_ DWORD *pDwAttr) PURE;
#define IPicture_IMETHODS \ #define IPicture_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPicture_METHODS IPicture_METHODS
ICOM_DEFINE(IPicture,IUnknown) ICOM_DEFINE(IPicture,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPicture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPicture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -99,13 +99,13 @@ ICOM_DEFINE(IPicture,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPictureDisp interface * IPictureDisp interface
*/ */
#define ICOM_INTERFACE IPictureDisp #define INTERFACE IPictureDisp
#define IPictureDisp_METHODS #define IPictureDisp_METHODS
#define IPictureDisp_IMETHODS \ #define IPictureDisp_IMETHODS \
IDispatch_IMETHODS \ IDispatch_IMETHODS \
IPictureDisp_METHODS IPictureDisp_METHODS
ICOM_DEFINE(IPictureDisp,IDispatch) ICOM_DEFINE(IPictureDisp,IDispatch)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPictureDisp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPictureDisp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -123,5 +123,3 @@ ICOM_DEFINE(IPictureDisp,IDispatch)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_PICTURE_H */ #endif /* __WINE_WINE_OBJ_PICTURE_H */

View File

@ -136,24 +136,24 @@ typedef struct IPerPropertyBrowsing IPerPropertyBrowsing,*LPPERPROPERTYBROWSING;
/***************************************************************************** /*****************************************************************************
* IPropertPage interface * IPropertPage interface
*/ */
#define ICOM_INTERFACE IPropertyPage #define INTERFACE IPropertyPage
#define IPropertyPage_METHODS \ #define IPropertyPage_METHODS \
ICOM_METHOD1(HRESULT,SetPageSite, IPropertyPageSite*,pPageSite) \ STDMETHOD(SetPageSite)(THIS_ IPropertyPageSite *pPageSite) PURE; \
ICOM_METHOD3(HRESULT,Activate, HWND,hWndParent, LPCRECT,pRect, BOOL,bModal) \ STDMETHOD(Activate)(THIS_ HWND hWndParent, LPCRECT pRect, BOOL bModal) PURE; \
ICOM_METHOD (HRESULT,Deactivate) \ STDMETHOD(Deactivate)(THIS) PURE; \
ICOM_METHOD1(HRESULT,GetPageInfo, PROPPAGEINFO*,pPageInfo) \ STDMETHOD(GetPageInfo)(THIS_ PROPPAGEINFO *pPageInfo) PURE; \
ICOM_METHOD2(HRESULT,SetObjects, ULONG,cObjects, IUnknown**,ppUnk) \ STDMETHOD(SetObjects)(THIS_ ULONG cObjects, IUnknown **ppUnk) PURE; \
ICOM_METHOD1(HRESULT,Show, UINT,nCmdShow) \ STDMETHOD(Show)(THIS_ UINT nCmdShow) PURE; \
ICOM_METHOD1(HRESULT,Move, LPCRECT,pRect) \ STDMETHOD(Move)(THIS_ LPCRECT pRect) PURE; \
ICOM_METHOD (HRESULT,IsPageDirty) \ STDMETHOD(IsPageDirty)(THIS) PURE; \
ICOM_METHOD (HRESULT,Apply) \ STDMETHOD(Apply)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Help, LPCOLESTR,pszHelpDir) \ STDMETHOD(Help)(THIS_ LPCOLESTR pszHelpDir) PURE; \
ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg) STDMETHOD(TranslateAccelerator)(THIS_ MSG *pMsg) PURE;
#define IPropertyPage_IMETHODS \ #define IPropertyPage_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPropertyPage_METHODS IPropertyPage_METHODS
ICOM_DEFINE(IPropertyPage,IUnknown) ICOM_DEFINE(IPropertyPage,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPropertyPage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPropertyPage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -176,14 +176,14 @@ ICOM_DEFINE(IPropertyPage,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPropertPage2 interface * IPropertPage2 interface
*/ */
#define ICOM_INTERFACE IPropertyPage2 #define INTERFACE IPropertyPage2
#define IPropertyPage2_METHODS \ #define IPropertyPage2_METHODS \
ICOM_METHOD1(HRESULT,EditProperty, DISPID,dispID) STDMETHOD(EditProperty)(THIS_ DISPID dispID) PURE;
#define IPropertyPage2_IMETHODS \ #define IPropertyPage2_IMETHODS \
IPropertyPage_IMETHODS \ IPropertyPage_IMETHODS \
IPropertyPage2_METHODS IPropertyPage2_METHODS
ICOM_DEFINE(IPropertyPage2,IPropertyPage) ICOM_DEFINE(IPropertyPage2,IPropertyPage)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPropertyPage2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPropertyPage2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -208,17 +208,17 @@ ICOM_DEFINE(IPropertyPage2,IPropertyPage)
/***************************************************************************** /*****************************************************************************
* IPropertPageSite interface * IPropertPageSite interface
*/ */
#define ICOM_INTERFACE IPropertyPageSite #define INTERFACE IPropertyPageSite
#define IPropertyPageSite_METHODS \ #define IPropertyPageSite_METHODS \
ICOM_METHOD1(HRESULT,OnStatusChange, DWORD,dwFlags) \ STDMETHOD(OnStatusChange)(THIS_ DWORD dwFlags) PURE; \
ICOM_METHOD1(HRESULT,GetLocaleID, LCID*,pLocaleID) \ STDMETHOD(GetLocaleID)(THIS_ LCID *pLocaleID) PURE; \
ICOM_METHOD1(HRESULT,GetPageContainer, IUnknown**,ppUnk) \ STDMETHOD(GetPageContainer)(THIS_ IUnknown **ppUnk) PURE; \
ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg) STDMETHOD(TranslateAccelerator)(THIS_ MSG *pMsg) PURE;
#define IPropertyPageSite_IMETHODS \ #define IPropertyPageSite_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPropertyPageSite_METHODS IPropertyPageSite_METHODS
ICOM_DEFINE(IPropertyPageSite,IUnknown) ICOM_DEFINE(IPropertyPageSite,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPropertyPageSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPropertyPageSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -234,15 +234,15 @@ ICOM_DEFINE(IPropertyPageSite,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPropertyNotifySink interface * IPropertyNotifySink interface
*/ */
#define ICOM_INTERFACE IPropertyNotifySink #define INTERFACE IPropertyNotifySink
#define IPropertyNotifySink_METHODS \ #define IPropertyNotifySink_METHODS \
ICOM_METHOD1(HRESULT,OnChanged, DISPID,dispID) \ STDMETHOD(OnChanged)(THIS_ DISPID dispID) PURE; \
ICOM_METHOD1(HRESULT,OnRequestEdit, DISPID,dispID) STDMETHOD(OnRequestEdit)(THIS_ DISPID dispID) PURE;
#define IPropertyNotifySink_IMETHODS \ #define IPropertyNotifySink_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPropertyNotifySink_METHODS IPropertyNotifySink_METHODS
ICOM_DEFINE(IPropertyNotifySink,IUnknown) ICOM_DEFINE(IPropertyNotifySink,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPropertyNotifySink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPropertyNotifySink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -256,15 +256,15 @@ ICOM_DEFINE(IPropertyNotifySink,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPropertyNotifySink interface * IPropertyNotifySink interface
*/ */
#define ICOM_INTERFACE ISimpleFrameSite #define INTERFACE ISimpleFrameSite
#define ISimpleFrameSite_METHODS \ #define ISimpleFrameSite_METHODS \
ICOM_METHOD6(HRESULT,PreMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD*,pwdCookie) \ STDMETHOD(PreMessageFilter)(THIS_ HWND hWnd, UINT msg, WPARAM wp, LPARAM lp, LRESULT *plResult, DWORD *pwdCookie) PURE; \
ICOM_METHOD6(HRESULT,PostMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD,pwdCookie) STDMETHOD(PostMessageFilter)(THIS_ HWND hWnd, UINT msg, WPARAM wp, LPARAM lp, LRESULT *plResult, DWORD pwdCookie) PURE;
#define ISimpleFrameSite_IMETHODS \ #define ISimpleFrameSite_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ISimpleFrameSite_METHODS ISimpleFrameSite_METHODS
ICOM_DEFINE(ISimpleFrameSite,IUnknown) ICOM_DEFINE(ISimpleFrameSite,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define ISimpleFrameSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define ISimpleFrameSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -278,18 +278,18 @@ ICOM_DEFINE(ISimpleFrameSite,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPersistStreamInit interface * IPersistStreamInit interface
*/ */
#define ICOM_INTERFACE IPersistStreamInit #define INTERFACE IPersistStreamInit
#define IPersistStreamInit_METHODS \ #define IPersistStreamInit_METHODS \
ICOM_METHOD (HRESULT,IsDirty) \ STDMETHOD(IsDirty)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Load, LPSTREAM,pStm) \ STDMETHOD(Load)(THIS_ LPSTREAM pStm) PURE; \
ICOM_METHOD2(HRESULT,Save, LPSTREAM,pStm, BOOL,fClearDirty) \ STDMETHOD(Save)(THIS_ LPSTREAM pStm, BOOL fClearDirty) PURE; \
ICOM_METHOD1(HRESULT,GetSizeMax, ULARGE_INTEGER*,pcbSize) \ STDMETHOD(GetSizeMax)(THIS_ ULARGE_INTEGER *pcbSize) PURE; \
ICOM_METHOD (HRESULT,InitNew) STDMETHOD(InitNew)(THIS) PURE;
#define IPersistStreamInit_IMETHODS \ #define IPersistStreamInit_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistStreamInit_METHODS IPersistStreamInit_METHODS
ICOM_DEFINE(IPersistStreamInit,IPersist) ICOM_DEFINE(IPersistStreamInit,IPersist)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistStreamInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistStreamInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -308,18 +308,18 @@ ICOM_DEFINE(IPersistStreamInit,IPersist)
/***************************************************************************** /*****************************************************************************
* IPersistMemory interface * IPersistMemory interface
*/ */
#define ICOM_INTERFACE IPersistMemory #define INTERFACE IPersistMemory
#define IPersistMemory_METHODS \ #define IPersistMemory_METHODS \
ICOM_METHOD (HRESULT,IsDirty) \ STDMETHOD(IsDirty)(THIS) PURE; \
ICOM_METHOD2(HRESULT,Load, LPVOID,pMem, ULONG,cbSize) \ STDMETHOD(Load)(THIS_ LPVOID pMem, ULONG cbSize) PURE; \
ICOM_METHOD3(HRESULT,Save, LPVOID,pMem, BOOL,fClearDirty, ULONG,cbSize) \ STDMETHOD(Save)(THIS_ LPVOID pMem, BOOL fClearDirty, ULONG cbSize) PURE; \
ICOM_METHOD1(HRESULT,GetSizeMax, ULONG*,pCbSize) \ STDMETHOD(GetSizeMax)(THIS_ ULONG *pCbSize) PURE; \
ICOM_METHOD (HRESULT,InitNew) STDMETHOD(InitNew)(THIS) PURE;
#define IPersistMemory_IMETHODS \ #define IPersistMemory_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistMemory_METHODS IPersistMemory_METHODS
ICOM_DEFINE(IPersistMemory,IPersist) ICOM_DEFINE(IPersistMemory,IPersist)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistMemory_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistMemory_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -338,16 +338,16 @@ ICOM_DEFINE(IPersistMemory,IPersist)
/***************************************************************************** /*****************************************************************************
* IPersistPropertyBag interface * IPersistPropertyBag interface
*/ */
#define ICOM_INTERFACE IPersistPropertyBag #define INTERFACE IPersistPropertyBag
#define IPersistPropertyBag_METHODS \ #define IPersistPropertyBag_METHODS \
ICOM_METHOD (HRESULT,InitNew) \ STDMETHOD(InitNew)(THIS) PURE; \
ICOM_METHOD2(HRESULT,Load, IPropertyBag*,pPropBag, IErrorLog*,pErrorLog) \ STDMETHOD(Load)(THIS_ IPropertyBag *pPropBag, IErrorLog *pErrorLog) PURE; \
ICOM_METHOD3(HRESULT,Save, IPropertyBag*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties) STDMETHOD(Save)(THIS_ IPropertyBag *pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) PURE;
#define IPersistPropertyBag_IMETHODS \ #define IPersistPropertyBag_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistPropertyBag_METHODS IPersistPropertyBag_METHODS
ICOM_DEFINE(IPersistPropertyBag,IPersist) ICOM_DEFINE(IPersistPropertyBag,IPersist)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -364,17 +364,17 @@ ICOM_DEFINE(IPersistPropertyBag,IPersist)
/***************************************************************************** /*****************************************************************************
* IPersistPropertyBag2 interface * IPersistPropertyBag2 interface
*/ */
#define ICOM_INTERFACE IPersistPropertyBag2 #define INTERFACE IPersistPropertyBag2
#define IPersistPropertyBag2_METHODS \ #define IPersistPropertyBag2_METHODS \
ICOM_METHOD (HRESULT,InitNew) \ STDMETHOD(InitNew)(THIS) PURE; \
ICOM_METHOD2(HRESULT,Load, IPropertyBag2*,pPropBag, IErrorLog*,pErrorLog) \ STDMETHOD(Load)(THIS_ IPropertyBag2 *pPropBag, IErrorLog *pErrorLog) PURE; \
ICOM_METHOD3(HRESULT,Save, IPropertyBag2*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties) \ STDMETHOD(Save)(THIS_ IPropertyBag2 *pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) PURE; \
ICOM_METHOD (HRESULT,IsDirty) STDMETHOD(IsDirty)(THIS) PURE;
#define IPersistPropertyBag2_IMETHODS \ #define IPersistPropertyBag2_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistPropertyBag2_METHODS IPersistPropertyBag2_METHODS
ICOM_DEFINE(IPersistPropertyBag2,IPersist) ICOM_DEFINE(IPersistPropertyBag2,IPersist)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -392,14 +392,14 @@ ICOM_DEFINE(IPersistPropertyBag2,IPersist)
/***************************************************************************** /*****************************************************************************
* IErrorLog interface * IErrorLog interface
*/ */
#define ICOM_INTERFACE IErrorLog #define INTERFACE IErrorLog
#define IErrorLog_METHODS \ #define IErrorLog_METHODS \
ICOM_METHOD2(HRESULT,AddError, LPCOLESTR,pszPropName, EXCEPINFO*,pExcepInfo) STDMETHOD(AddError)(THIS_ LPCOLESTR pszPropName, EXCEPINFO *pExcepInfo) PURE;
#define IErrorLog_IMETHODS \ #define IErrorLog_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IErrorLog_METHODS IErrorLog_METHODS
ICOM_DEFINE(IErrorLog,IUnknown) ICOM_DEFINE(IErrorLog,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IErrorLog_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IErrorLog_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -412,15 +412,15 @@ ICOM_DEFINE(IErrorLog,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPropertyBag interface * IPropertyBag interface
*/ */
#define ICOM_INTERFACE IPropertyBag #define INTERFACE IPropertyBag
#define IPropertyBag_METHODS \ #define IPropertyBag_METHODS \
ICOM_METHOD3(HRESULT,Read, LPCOLESTR,pszPropName, VARIANT*,pVar, IErrorLog*,pErrorLog) \ STDMETHOD(Read)(THIS_ LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog) PURE; \
ICOM_METHOD2(HRESULT,Write, LPCOLESTR,pszPropName, VARIANT*,pVar) STDMETHOD(Write)(THIS_ LPCOLESTR pszPropName, VARIANT *pVar) PURE;
#define IPropertyBag_IMETHODS \ #define IPropertyBag_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPropertyBag_METHODS IPropertyBag_METHODS
ICOM_DEFINE(IPropertyBag,IUnknown) ICOM_DEFINE(IPropertyBag,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -434,18 +434,18 @@ ICOM_DEFINE(IPropertyBag,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPropertyBag2 interface * IPropertyBag2 interface
*/ */
#define ICOM_INTERFACE IPropertyBag2 #define INTERFACE IPropertyBag2
#define IPropertyBag2_METHODS \ #define IPropertyBag2_METHODS \
ICOM_METHOD5(HRESULT,Read, ULONG,cProperties, PROPBAG2*,pPropBag, IErrorLog*,pErrLog, VARIANT*,pvarValue, HRESULT*,phrError) \ STDMETHOD(Read)(THIS_ ULONG cProperties, PROPBAG2 *pPropBag, IErrorLog *pErrLog, VARIANT *pvarValue, HRESULT *phrError) PURE; \
ICOM_METHOD3(HRESULT,Write, ULONG,cProperties, PROPBAG2*,pPropBag, VARIANT*,pvarValue) \ STDMETHOD(Write)(THIS_ ULONG cProperties, PROPBAG2 *pPropBag, VARIANT *pvarValue) PURE; \
ICOM_METHOD1(HRESULT,CountProperties, ULONG*,pcProperties) \ STDMETHOD(CountProperties)(THIS_ ULONG *pcProperties) PURE; \
ICOM_METHOD4(HRESULT,GetPropertyInfo, ULONG,iProperty, ULONG,cProperties, PROPBAG2*,pPropBag, ULONG*,pcProperties) \ STDMETHOD(GetPropertyInfo)(THIS_ ULONG iProperty, ULONG cProperties, PROPBAG2 *pPropBag, ULONG *pcProperties) PURE; \
ICOM_METHOD4(HRESULT,LoadObject, LPCOLESTR,pstrName, DWORD,dwHint, IUnknown*,pUnkObject, IErrorLog*,pErrLog) STDMETHOD(LoadObject)(THIS_ LPCOLESTR pstrName, DWORD dwHint, IUnknown *pUnkObject, IErrorLog *pErrLog) PURE;
#define IPropertyBag2_IMETHODS \ #define IPropertyBag2_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPropertyBag2_METHODS IPropertyBag2_METHODS
ICOM_DEFINE(IPropertyBag2,IUnknown) ICOM_DEFINE(IPropertyBag2,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -462,14 +462,14 @@ ICOM_DEFINE(IPropertyBag2,IUnknown)
/***************************************************************************** /*****************************************************************************
* ISpecifyPropertyPages interface * ISpecifyPropertyPages interface
*/ */
#define ICOM_INTERFACE ISpecifyPropertyPages #define INTERFACE ISpecifyPropertyPages
#define ISpecifyPropertyPages_METHODS \ #define ISpecifyPropertyPages_METHODS \
ICOM_METHOD1(HRESULT,GetPages, CAUUID*,pPages) STDMETHOD(GetPages)(THIS_ CAUUID *pPages) PURE;
#define ISpecifyPropertyPages_IMETHODS \ #define ISpecifyPropertyPages_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
ISpecifyPropertyPages_METHODS ISpecifyPropertyPages_METHODS
ICOM_DEFINE(ISpecifyPropertyPages,IUnknown) ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define ISpecifyPropertyPages_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define ISpecifyPropertyPages_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -482,17 +482,17 @@ ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
/***************************************************************************** /*****************************************************************************
* IPerPropertyBrowsing interface * IPerPropertyBrowsing interface
*/ */
#define ICOM_INTERFACE IPerPropertyBrowsing #define INTERFACE IPerPropertyBrowsing
#define IPerPropertyBrowsing_METHODS \ #define IPerPropertyBrowsing_METHODS \
ICOM_METHOD2(HRESULT,GetDisplayString, DISPID,dispID, BSTR*,pBstr) \ STDMETHOD(GetDisplayString)(THIS_ DISPID dispID, BSTR *pBstr) PURE; \
ICOM_METHOD2(HRESULT,MapPropertyToPage, DISPID,dispID, CLSID*,pClsid) \ STDMETHOD(MapPropertyToPage)(THIS_ DISPID dispID, CLSID *pClsid) PURE; \
ICOM_METHOD3(HRESULT,GetPredefinedStrings, DISPID,dispID, CALPOLESTR*,pCaStringsOut, CADWORD*,pCaCookiesOut) \ STDMETHOD(GetPredefinedStrings)(THIS_ DISPID dispID, CALPOLESTR *pCaStringsOut, CADWORD *pCaCookiesOut) PURE; \
ICOM_METHOD3(HRESULT,GetPredefinedValue, DISPID,dispID, DWORD,dwCookie, VARIANT*,pVarOut) STDMETHOD(GetPredefinedValue)(THIS_ DISPID dispID, DWORD dwCookie, VARIANT *pVarOut) PURE;
#define IPerPropertyBrowsing_IMETHODS \ #define IPerPropertyBrowsing_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IPerPropertyBrowsing_METHODS IPerPropertyBrowsing_METHODS
ICOM_DEFINE(IPerPropertyBrowsing,IUnknown) ICOM_DEFINE(IPerPropertyBrowsing,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPerPropertyBrowsing_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPerPropertyBrowsing_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -509,4 +509,3 @@ ICOM_DEFINE(IPerPropertyBrowsing,IUnknown)
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_PROPERTY_H */ #endif /* __WINE_WINE_OBJ_PROPERTY_H */

View File

@ -40,14 +40,14 @@ typedef struct IServiceProvider IServiceProvider, *LPSERVICEPROVIDER;
/***************************************************************************** /*****************************************************************************
* IServiceProvider interface * IServiceProvider interface
*/ */
#define ICOM_INTERFACE IServiceProvider #define INTERFACE IServiceProvider
#define IServiceProvider_METHODS \ #define IServiceProvider_METHODS \
ICOM_METHOD3( HRESULT, QueryService, REFGUID, guidService, REFIID, riid, void**, ppv) STDMETHOD(QueryService)(THIS_ REFGUID guidService, REFIID riid, void ** ppv) PURE;
#define IServiceProvider_IMETHODS \ #define IServiceProvider_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IServiceProvider_METHODS IServiceProvider_METHODS
ICOM_DEFINE(IServiceProvider,IUnknown) ICOM_DEFINE(IServiceProvider,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IServiceProvider_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IServiceProvider_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -66,26 +66,26 @@ DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00,
#define FCT_CONFIGABLE 0x0002 #define FCT_CONFIGABLE 0x0002
#define FCT_ADDTOEND 0x0004 #define FCT_ADDTOEND 0x0004
#define ICOM_INTERFACE IShellBrowser #define INTERFACE IShellBrowser
#define IShellBrowser_METHODS \ #define IShellBrowser_METHODS \
ICOM_METHOD2(HRESULT, InsertMenusSB, HMENU, hmenuShared, LPOLEMENUGROUPWIDTHS, lpMenuWidths) \ STDMETHOD(InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
ICOM_METHOD3(HRESULT, SetMenuSB, HMENU, hmenuShared, HOLEMENU, holemenuReserved, HWND, hwndActiveObject) \ STDMETHOD(SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
ICOM_METHOD1(HRESULT, RemoveMenusSB, HMENU, hmenuShared) \ STDMETHOD(RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
ICOM_METHOD1(HRESULT, SetStatusTextSB, LPCOLESTR, lpszStatusText) \ STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR lpszStatusText) PURE; \
ICOM_METHOD1(HRESULT, EnableModelessSB, BOOL, fEnable) \ STDMETHOD(EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
ICOM_METHOD2(HRESULT, TranslateAcceleratorSB, LPMSG, lpmsg, WORD, wID) \ STDMETHOD(TranslateAcceleratorSB)(THIS_ LPMSG lpmsg, WORD wID) PURE; \
ICOM_METHOD2(HRESULT, BrowseObject, LPCITEMIDLIST, pidl, UINT, wFlags) \ STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
ICOM_METHOD2(HRESULT, GetViewStateStream, DWORD, grfMode, LPSTREAM*, ppStrm) \ STDMETHOD(GetViewStateStream)(THIS_ DWORD grfMode, LPSTREAM * ppStrm) PURE; \
ICOM_METHOD2(HRESULT, GetControlWindow, UINT, id, HWND*, lphwnd) \ STDMETHOD(GetControlWindow)(THIS_ UINT id, HWND * lphwnd) PURE; \
ICOM_METHOD5(HRESULT, SendControlMsg, UINT, id, UINT, uMsg, WPARAM, wParam, LPARAM, lParam, LRESULT*, pret) \ STDMETHOD(SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT * pret) PURE; \
ICOM_METHOD1(HRESULT, QueryActiveShellView, IShellView**, IShellView) \ STDMETHOD(QueryActiveShellView)(THIS_ IShellView ** IShellView) PURE; \
ICOM_METHOD1(HRESULT, OnViewWindowActive, IShellView*, IShellView) \ STDMETHOD(OnViewWindowActive)(THIS_ IShellView * IShellView) PURE; \
ICOM_METHOD3(HRESULT, SetToolbarItems, LPTBBUTTON, lpButtons, UINT, nButtons, UINT, uFlags) STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) PURE;
#define IShellBrowser_IMETHODS \ #define IShellBrowser_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IShellBrowser_METHODS IShellBrowser_METHODS
ICOM_DEFINE(IShellBrowser,IOleWindow) ICOM_DEFINE(IShellBrowser,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -27,14 +27,14 @@ extern "C" {
typedef struct IShellExtInit IShellExtInit, *LPSHELLEXTINIT; typedef struct IShellExtInit IShellExtInit, *LPSHELLEXTINIT;
#define ICOM_INTERFACE IShellExtInit #define INTERFACE IShellExtInit
#define IShellExtInit_METHODS \ #define IShellExtInit_METHODS \
ICOM_METHOD3(HRESULT, Initialize, LPCITEMIDLIST, pidlFolder, LPDATAOBJECT, lpdobj, HKEY, hkeyProgID) STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY hkeyProgID) PURE;
#define IShellExtInit_IMETHODS \ #define IShellExtInit_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IShellExtInit_METHODS IShellExtInit_METHODS
ICOM_DEFINE(IShellExtInit,IUnknown) ICOM_DEFINE(IShellExtInit,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellExtInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellExtInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -78,17 +78,17 @@ typedef struct
WCHAR wszClrIcon[MAX_PATH+10]; WCHAR wszClrIcon[MAX_PATH+10];
} EXTRASEARCH,* LPEXTRASEARCH; } EXTRASEARCH,* LPEXTRASEARCH;
#define ICOM_INTERFACE IEnumExtraSearch #define INTERFACE IEnumExtraSearch
#define IEnumExtraSearch_METHODS \ #define IEnumExtraSearch_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, LPEXTRASEARCH*, rgelt, ULONG*, pceltFetched) \ STDMETHOD(Next)(THIS_ ULONG celt, LPEXTRASEARCH * rgelt, ULONG * pceltFetched) PURE; \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \ STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
ICOM_METHOD (HRESULT, Reset) \ STDMETHOD(Reset)(THIS) PURE; \
ICOM_METHOD1(HRESULT, Clone, IEnumExtraSearch**, ppenum) STDMETHOD(Clone)(THIS_ IEnumExtraSearch ** ppenum) PURE;
#define IEnumExtraSearch_IMETHODS \ #define IEnumExtraSearch_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IEnumExtraSearch_METHODS IEnumExtraSearch_METHODS
ICOM_DEFINE(IEnumExtraSearch,IUnknown) ICOM_DEFINE(IEnumExtraSearch,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -196,23 +196,23 @@ DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
/***************************************************************************** /*****************************************************************************
* IShellFolder interface * IShellFolder interface
*/ */
#define ICOM_INTERFACE IShellFolder #define INTERFACE IShellFolder
#define IShellFolder_METHODS \ #define IShellFolder_METHODS \
ICOM_METHOD6( HRESULT, ParseDisplayName, HWND, hwndOwner,LPBC, pbcReserved, LPOLESTR, lpszDisplayName, ULONG *, pchEaten, LPITEMIDLIST *, ppidl, ULONG *, pdwAttributes) \ STDMETHOD(ParseDisplayName)(THIS_ HWND hwndOwner,LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG * pchEaten, LPITEMIDLIST * ppidl, ULONG * pdwAttributes) PURE; \
ICOM_METHOD3( HRESULT, EnumObjects, HWND, hwndOwner, DWORD, grfFlags, LPENUMIDLIST *, ppenumIDList)\ STDMETHOD(EnumObjects)(THIS_ HWND hwndOwner, DWORD grfFlags, LPENUMIDLIST * ppenumIDList) PURE;\
ICOM_METHOD4( HRESULT, BindToObject, LPCITEMIDLIST, pidl, LPBC, pbcReserved, REFIID, riid, LPVOID *, ppvOut)\ STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut) PURE;\
ICOM_METHOD4( HRESULT, BindToStorage, LPCITEMIDLIST, pidl, LPBC, pbcReserved, REFIID, riid, LPVOID *, ppvObj)\ STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvObj) PURE;\
ICOM_METHOD3( HRESULT, CompareIDs, LPARAM, lParam, LPCITEMIDLIST, pidl1, LPCITEMIDLIST, pidl2)\ STDMETHOD(CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE;\
ICOM_METHOD3( HRESULT, CreateViewObject, HWND, hwndOwner, REFIID, riid, LPVOID *, ppvOut)\ STDMETHOD(CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, LPVOID * ppvOut) PURE;\
ICOM_METHOD3( HRESULT, GetAttributesOf, UINT, cidl, LPCITEMIDLIST *, apidl, ULONG *, rgfInOut)\ STDMETHOD(GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST * apidl, ULONG * rgfInOut) PURE;\
ICOM_METHOD6( HRESULT, GetUIObjectOf, HWND, hwndOwner, UINT, cidl, LPCITEMIDLIST *, apidl, REFIID, riid, UINT *, prgfInOut, LPVOID *, ppvOut)\ STDMETHOD(GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut) PURE;\
ICOM_METHOD3( HRESULT, GetDisplayNameOf, LPCITEMIDLIST, pidl, DWORD, uFlags, LPSTRRET, lpName)\ STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, DWORD uFlags, LPSTRRET lpName) PURE;\
ICOM_METHOD5( HRESULT, SetNameOf, HWND, hwndOwner, LPCITEMIDLIST, pidl,LPCOLESTR, lpszName, DWORD, uFlags,LPITEMIDLIST *, ppidlOut) STDMETHOD(SetNameOf)(THIS_ HWND hwndOwner, LPCITEMIDLIST pidl,LPCOLESTR lpszName, DWORD uFlags,LPITEMIDLIST * ppidlOut) PURE;
#define IShellFolder_IMETHODS \ #define IShellFolder_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IShellFolder_METHODS IShellFolder_METHODS
ICOM_DEFINE(IShellFolder,IUnknown) ICOM_DEFINE(IShellFolder,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellFolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellFolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -268,20 +268,20 @@ typedef struct
STRRET str; STRRET str;
} SHELLDETAILS, *LPSHELLDETAILS; } SHELLDETAILS, *LPSHELLDETAILS;
#define ICOM_INTERFACE IShellFolder2 #define INTERFACE IShellFolder2
#define IShellFolder2_METHODS \ #define IShellFolder2_METHODS \
ICOM_METHOD1( HRESULT, GetDefaultSearchGUID, LPGUID, lpguid)\ STDMETHOD(GetDefaultSearchGUID)(THIS_ LPGUID lpguid) PURE;\
ICOM_METHOD1( HRESULT, EnumSearches, LPENUMEXTRASEARCH *, ppEnum) \ STDMETHOD(EnumSearches)(THIS_ LPENUMEXTRASEARCH * ppEnum) PURE; \
ICOM_METHOD3( HRESULT, GetDefaultColumn, DWORD, dwReserved, ULONG *, pSort, ULONG *, pDisplay)\ STDMETHOD(GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG * pSort, ULONG * pDisplay) PURE;\
ICOM_METHOD2( HRESULT, GetDefaultColumnState, UINT, iColumn, DWORD *, pcsFlags)\ STDMETHOD(GetDefaultColumnState)(THIS_ UINT iColumn, DWORD * pcsFlags) PURE;\
ICOM_METHOD3( HRESULT, GetDetailsEx, LPCITEMIDLIST, pidl, const SHCOLUMNID *, pscid, VARIANT *, pv)\ STDMETHOD(GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID * pscid, VARIANT * pv) PURE;\
ICOM_METHOD3( HRESULT, GetDetailsOf, LPCITEMIDLIST, pidl, UINT, iColumn, LPSHELLDETAILS, pDetails)\ STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, LPSHELLDETAILS pDetails) PURE;\
ICOM_METHOD2( HRESULT, MapNameToSCID, LPCWSTR, pwszName, SHCOLUMNID *, pscid) STDMETHOD(MapNameToSCID)(THIS_ LPCWSTR pwszName, SHCOLUMNID * pscid) PURE;
#define IShellFolder2_IMETHODS \ #define IShellFolder2_IMETHODS \
IShellFolder_METHODS \ IShellFolder_METHODS \
IShellFolder2_METHODS IShellFolder2_METHODS
ICOM_DEFINE(IShellFolder2, IShellFolder) ICOM_DEFINE(IShellFolder2, IShellFolder)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellFolder2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellFolder2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -311,14 +311,14 @@ ICOM_DEFINE(IShellFolder2, IShellFolder)
* IPersistFolder interface * IPersistFolder interface
*/ */
#define ICOM_INTERFACE IPersistFolder #define INTERFACE IPersistFolder
#define IPersistFolder_METHODS \ #define IPersistFolder_METHODS \
ICOM_METHOD1( HRESULT, Initialize, LPCITEMIDLIST, pidl) STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
#define IPersistFolder_IMETHODS \ #define IPersistFolder_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistFolder_METHODS IPersistFolder_METHODS
ICOM_DEFINE(IPersistFolder, IPersist) ICOM_DEFINE(IPersistFolder, IPersist)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistFolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistFolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -333,15 +333,15 @@ ICOM_DEFINE(IPersistFolder, IPersist)
* IPersistFolder2 interface * IPersistFolder2 interface
*/ */
#define ICOM_INTERFACE IPersistFolder2 #define INTERFACE IPersistFolder2
#define IPersistFolder2_METHODS \ #define IPersistFolder2_METHODS \
ICOM_METHOD1( HRESULT, GetCurFolder, LPITEMIDLIST*, pidl) STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST * pidl) PURE;
#define IPersistFolder2_IMETHODS \ #define IPersistFolder2_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistFolder_METHODS \ IPersistFolder_METHODS \
IPersistFolder2_METHODS IPersistFolder2_METHODS
ICOM_DEFINE(IPersistFolder2, IPersistFolder) ICOM_DEFINE(IPersistFolder2, IPersistFolder)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistFolder2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistFolder2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -367,17 +367,17 @@ typedef struct {
int csidl; int csidl;
} PERSIST_FOLDER_TARGET_INFO; } PERSIST_FOLDER_TARGET_INFO;
#define ICOM_INTERFACE IPersistFolder3 #define INTERFACE IPersistFolder3
#define IPersistFolder3_METHODS \ #define IPersistFolder3_METHODS \
ICOM_METHOD3( HRESULT, InitializeEx, IBindCtx*, pbc, LPCITEMIDLIST, pidlRoot, const PERSIST_FOLDER_TARGET_INFO*, ppfti)\ STDMETHOD(InitializeEx)(THIS_ IBindCtx * pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO * ppfti) PURE;\
ICOM_METHOD1( HRESULT, GetFolderTargetInfo, PERSIST_FOLDER_TARGET_INFO*, ppfti) STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO * ppfti) PURE;
#define IPersistFolder3_IMETHODS \ #define IPersistFolder3_IMETHODS \
IPersist_IMETHODS \ IPersist_IMETHODS \
IPersistFolder_METHODS \ IPersistFolder_METHODS \
IPersistFolder2_METHODS \ IPersistFolder2_METHODS \
IPersistFolder3_METHODS IPersistFolder3_METHODS
ICOM_DEFINE(IPersistFolder3, IPersistFolder2) ICOM_DEFINE(IPersistFolder3, IPersistFolder2)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IPersistFolder3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IPersistFolder3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -52,31 +52,31 @@ typedef enum
/***************************************************************************** /*****************************************************************************
* IShellLink interface * IShellLink interface
*/ */
#define ICOM_INTERFACE IShellLinkA #define INTERFACE IShellLinkA
#define IShellLinkA_METHODS \ #define IShellLinkA_METHODS \
ICOM_METHOD4( HRESULT, GetPath, LPSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \ STDMETHOD(GetPath)(THIS_ LPSTR pszFile, INT cchMaxPath, WIN32_FIND_DATAA * pfd, DWORD fFlags) PURE; \
ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \ STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST * ppidl) PURE; \
ICOM_METHOD1( HRESULT, SetIDList, LPCITEMIDLIST, pidl) \ STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
ICOM_METHOD2( HRESULT, GetDescription, LPSTR, pszName, INT, cchMaxName) \ STDMETHOD(GetDescription)(THIS_ LPSTR pszName, INT cchMaxName) PURE; \
ICOM_METHOD1( HRESULT, SetDescription, LPCSTR, pszName) \ STDMETHOD(SetDescription)(THIS_ LPCSTR pszName) PURE; \
ICOM_METHOD2( HRESULT, GetWorkingDirectory, LPSTR, pszDir,INT, cchMaxPath) \ STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR pszDir,INT cchMaxPath) PURE; \
ICOM_METHOD1( HRESULT, SetWorkingDirectory, LPCSTR, pszDir) \ STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
ICOM_METHOD2( HRESULT, GetArguments, LPSTR, pszArgs, INT, cchMaxPath) \ STDMETHOD(GetArguments)(THIS_ LPSTR pszArgs, INT cchMaxPath) PURE; \
ICOM_METHOD1( HRESULT, SetArguments, LPCSTR, pszArgs) \ STDMETHOD(SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
ICOM_METHOD1( HRESULT, GetHotkey, WORD*, pwHotkey) \ STDMETHOD(GetHotkey)(THIS_ WORD * pwHotkey) PURE; \
ICOM_METHOD1( HRESULT, SetHotkey, WORD, wHotkey) \ STDMETHOD(SetHotkey)(THIS_ WORD wHotkey) PURE; \
ICOM_METHOD1( HRESULT, GetShowCmd, INT*, piShowCmd) \ STDMETHOD(GetShowCmd)(THIS_ INT * piShowCmd) PURE; \
ICOM_METHOD1( HRESULT, SetShowCmd, INT, iShowCmd) \ STDMETHOD(SetShowCmd)(THIS_ INT iShowCmd) PURE; \
ICOM_METHOD3( HRESULT, GetIconLocation, LPSTR, pszIconPath, INT, cchIconPath,INT *, piIcon) \ STDMETHOD(GetIconLocation)(THIS_ LPSTR pszIconPath, INT cchIconPath,INT * piIcon) PURE; \
ICOM_METHOD2( HRESULT, SetIconLocation, LPCSTR, pszIconPath,INT, iIcon) \ STDMETHOD(SetIconLocation)(THIS_ LPCSTR pszIconPath,INT iIcon) PURE; \
ICOM_METHOD2( HRESULT, SetRelativePath, LPCSTR, pszPathRel, DWORD, dwReserved) \ STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \ STDMETHOD(Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
ICOM_METHOD1( HRESULT, SetPath, LPCSTR, pszFile) STDMETHOD(SetPath)(THIS_ LPCSTR pszFile) PURE;
#define IShellLinkA_IMETHODS \ #define IShellLinkA_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IShellLinkA_METHODS IShellLinkA_METHODS
ICOM_DEFINE(IShellLinkA,IUnknown) ICOM_DEFINE(IShellLinkA,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellLinkA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellLinkA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -105,31 +105,31 @@ ICOM_DEFINE(IShellLinkA,IUnknown)
/***************************************************************************** /*****************************************************************************
* IShellLinkW interface * IShellLinkW interface
*/ */
#define ICOM_INTERFACE IShellLinkW #define INTERFACE IShellLinkW
#define IShellLinkW_METHODS \ #define IShellLinkW_METHODS \
ICOM_METHOD4( HRESULT, GetPath, LPWSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \ STDMETHOD(GetPath)(THIS_ LPWSTR pszFile, INT cchMaxPath, WIN32_FIND_DATAA * pfd, DWORD fFlags) PURE; \
ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \ STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST * ppidl) PURE; \
ICOM_METHOD1( HRESULT, SetIDList, LPCITEMIDLIST, pidl) \ STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
ICOM_METHOD2( HRESULT, GetDescription, LPWSTR, pszName, INT, cchMaxName) \ STDMETHOD(GetDescription)(THIS_ LPWSTR pszName, INT cchMaxName) PURE; \
ICOM_METHOD1( HRESULT, SetDescription, LPCWSTR, pszName) \ STDMETHOD(SetDescription)(THIS_ LPCWSTR pszName) PURE; \
ICOM_METHOD2( HRESULT, GetWorkingDirectory, LPWSTR, pszDir,INT, cchMaxPath) \ STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR pszDir,INT cchMaxPath) PURE; \
ICOM_METHOD1( HRESULT, SetWorkingDirectory, LPCWSTR, pszDir) \ STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
ICOM_METHOD2( HRESULT, GetArguments, LPWSTR, pszArgs, INT, cchMaxPath) \ STDMETHOD(GetArguments)(THIS_ LPWSTR pszArgs, INT cchMaxPath) PURE; \
ICOM_METHOD1( HRESULT, SetArguments, LPCWSTR, pszArgs) \ STDMETHOD(SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
ICOM_METHOD1( HRESULT, GetHotkey, WORD*, pwHotkey) \ STDMETHOD(GetHotkey)(THIS_ WORD * pwHotkey) PURE; \
ICOM_METHOD1( HRESULT, SetHotkey, WORD, wHotkey) \ STDMETHOD(SetHotkey)(THIS_ WORD wHotkey) PURE; \
ICOM_METHOD1( HRESULT, GetShowCmd, INT*, piShowCmd) \ STDMETHOD(GetShowCmd)(THIS_ INT * piShowCmd) PURE; \
ICOM_METHOD1( HRESULT, SetShowCmd, INT, iShowCmd) \ STDMETHOD(SetShowCmd)(THIS_ INT iShowCmd) PURE; \
ICOM_METHOD3( HRESULT, GetIconLocation, LPWSTR, pszIconPath, INT, cchIconPath,INT *, piIcon) \ STDMETHOD(GetIconLocation)(THIS_ LPWSTR pszIconPath, INT cchIconPath,INT * piIcon) PURE; \
ICOM_METHOD2( HRESULT, SetIconLocation, LPCWSTR, pszIconPath,INT, iIcon) \ STDMETHOD(SetIconLocation)(THIS_ LPCWSTR pszIconPath,INT iIcon) PURE; \
ICOM_METHOD2( HRESULT, SetRelativePath, LPCWSTR, pszPathRel, DWORD, dwReserved) \ STDMETHOD(SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \ STDMETHOD(Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
ICOM_METHOD1( HRESULT, SetPath, LPCWSTR, pszFile) STDMETHOD(SetPath)(THIS_ LPCWSTR pszFile) PURE;
#define IShellLinkW_IMETHODS \ #define IShellLinkW_IMETHODS \
IUnknown_IMETHODS \ IUnknown_IMETHODS \
IShellLinkW_METHODS IShellLinkW_METHODS
ICOM_DEFINE(IShellLinkW,IUnknown) ICOM_DEFINE(IShellLinkW,IUnknown)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellLinkW_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellLinkW_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -127,25 +127,25 @@ typedef enum
SVUIA_INPLACEACTIVATE = 3 /* new flag for IShellView2 */ SVUIA_INPLACEACTIVATE = 3 /* new flag for IShellView2 */
} SVUIA_STATUS; } SVUIA_STATUS;
#define ICOM_INTERFACE IShellView #define INTERFACE IShellView
#define IShellView_METHODS \ #define IShellView_METHODS \
ICOM_METHOD1(HRESULT, TranslateAccelerator, LPMSG, lpmsg) \ STDMETHOD(TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
ICOM_METHOD1(HRESULT, EnableModeless, BOOL, fEnable) \ STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE; \
ICOM_METHOD1(HRESULT, UIActivate, UINT, uState) \ STDMETHOD(UIActivate)(THIS_ UINT uState) PURE; \
ICOM_METHOD(HRESULT, Refresh) \ STDMETHOD(Refresh)(THIS) PURE; \
ICOM_METHOD5(HRESULT, CreateViewWindow, IShellView*, lpPrevView, LPCFOLDERSETTINGS, lpfs, IShellBrowser*, psb, RECT*, prcView, HWND*, phWnd) \ STDMETHOD(CreateViewWindow)(THIS_ IShellView * lpPrevView, LPCFOLDERSETTINGS lpfs, IShellBrowser * psb, RECT * prcView, HWND * phWnd) PURE; \
ICOM_METHOD(HRESULT, DestroyViewWindow) \ STDMETHOD(DestroyViewWindow)(THIS) PURE; \
ICOM_METHOD1(HRESULT, GetCurrentInfo, LPFOLDERSETTINGS, lpfs) \ STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
ICOM_METHOD3(HRESULT, AddPropertySheetPages, DWORD, dwReserved, LPFNADDPROPSHEETPAGE, lpfn, LPARAM, lparam) \ STDMETHOD(AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam) PURE; \
ICOM_METHOD (HRESULT, SaveViewState) \ STDMETHOD(SaveViewState)(THIS) PURE; \
ICOM_METHOD2(HRESULT, SelectItem, LPCITEMIDLIST, pidlItem, UINT, uFlags) \ STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST pidlItem, UINT uFlags) PURE; \
ICOM_METHOD3(HRESULT, GetItemObject, UINT, uItem, REFIID, riid, LPVOID*, ppv) \ STDMETHOD(GetItemObject)(THIS_ UINT uItem, REFIID riid, LPVOID * ppv) PURE; \
ICOM_METHOD1(HRESULT, EditItem, LPCITEMIDLIST, pidlItem) STDMETHOD(EditItem)(THIS_ LPCITEMIDLIST pidlItem) PURE;
#define IShellView_IMETHODS \ #define IShellView_IMETHODS \
IOleWindow_IMETHODS \ IOleWindow_IMETHODS \
IShellView_METHODS IShellView_METHODS
ICOM_DEFINE(IShellView,IOleWindow) ICOM_DEFINE(IShellView,IOleWindow)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IShellView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IShellView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -63,39 +63,39 @@ typedef enum RefreshConstants
/***************************************************************************** /*****************************************************************************
* IWebBrowser interface * IWebBrowser interface
*/ */
#define ICOM_INTERFACE IWebBrowser #define INTERFACE IWebBrowser
#define IWebBrowser_METHODS \ #define IWebBrowser_METHODS \
ICOM_METHOD(HRESULT,GoBack) \ STDMETHOD(GoBack)(THIS) PURE; \
ICOM_METHOD(HRESULT,GoForward) \ STDMETHOD(GoForward)(THIS) PURE; \
ICOM_METHOD(HRESULT,GoHome) \ STDMETHOD(GoHome)(THIS) PURE; \
ICOM_METHOD(HRESULT,GoSearch) \ STDMETHOD(GoSearch)(THIS) PURE; \
ICOM_METHOD5(HRESULT,Navigate, BSTR,URL, VARIANT*,Flags, VARIANT*,TargetFrameName, \ STDMETHOD(Navigate)(THIS_ BSTR URL, VARIANT *Flags, VARIANT *TargetFrameName, \
VARIANT*,PostData, VARIANT*,Headers) \ VARIANT *PostData, VARIANT *Headers) PURE; \
ICOM_METHOD(HRESULT,Refresh) \ STDMETHOD(Refresh)(THIS) PURE; \
ICOM_METHOD1(HRESULT,Refresh2, VARIANT*,Level) \ STDMETHOD(Refresh2)(THIS_ VARIANT *Level) PURE; \
ICOM_METHOD(HRESULT,Stop) \ STDMETHOD(Stop)(THIS) PURE; \
ICOM_METHOD1(HRESULT,get_Application, void**,ppDisp) \ STDMETHOD(get_Application)(THIS_ void **ppDisp) PURE; \
ICOM_METHOD1(HRESULT,get_Parent, void**,ppDisp) \ STDMETHOD(get_Parent)(THIS_ void **ppDisp) PURE; \
ICOM_METHOD1(HRESULT,get_Container, void**,ppDisp) \ STDMETHOD(get_Container)(THIS_ void **ppDisp) PURE; \
ICOM_METHOD1(HRESULT,get_Document, void**,ppDisp) \ STDMETHOD(get_Document)(THIS_ void **ppDisp) PURE; \
ICOM_METHOD1(HRESULT,get_TopLevelContainer, VARIANT*,pBool) \ STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT *pBool) PURE; \
ICOM_METHOD1(HRESULT,get_Type, BSTR*,Type) \ STDMETHOD(get_Type)(THIS_ BSTR *Type) PURE; \
ICOM_METHOD1(HRESULT,get_Left, long*,pl) \ STDMETHOD(get_Left)(THIS_ long *pl) PURE; \
ICOM_METHOD1(HRESULT,put_Left, long,Left) \ STDMETHOD(put_Left)(THIS_ long Left) PURE; \
ICOM_METHOD1(HRESULT,get_Top, long*,pl) \ STDMETHOD(get_Top)(THIS_ long *pl) PURE; \
ICOM_METHOD1(HRESULT,put_Top, long,Top) \ STDMETHOD(put_Top)(THIS_ long Top) PURE; \
ICOM_METHOD1(HRESULT,get_Width, long*,pl) \ STDMETHOD(get_Width)(THIS_ long *pl) PURE; \
ICOM_METHOD1(HRESULT,put_Width, long,Width) \ STDMETHOD(put_Width)(THIS_ long Width) PURE; \
ICOM_METHOD1(HRESULT,get_Height, long*,pl) \ STDMETHOD(get_Height)(THIS_ long *pl) PURE; \
ICOM_METHOD1(HRESULT,put_Height, long,Height) \ STDMETHOD(put_Height)(THIS_ long Height) PURE; \
ICOM_METHOD1(HRESULT,get_LocationName, BSTR*,LocationName) \ STDMETHOD(get_LocationName)(THIS_ BSTR *LocationName) PURE; \
ICOM_METHOD1(HRESULT,get_LocationURL, BSTR*,LocationURL) \ STDMETHOD(get_LocationURL)(THIS_ BSTR *LocationURL) PURE; \
ICOM_METHOD1(HRESULT,get_Busy, VARIANT*,pBool) STDMETHOD(get_Busy)(THIS_ VARIANT *pBool) PURE;
#define IWebBrowser_IMETHODS \ #define IWebBrowser_IMETHODS \
IDispatch_IMETHODS \ IDispatch_IMETHODS \
IWebBrowser_METHODS IWebBrowser_METHODS
ICOM_DEFINE(IWebBrowser,IDispatch) ICOM_DEFINE(IWebBrowser,IDispatch)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IWebBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IWebBrowser_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -133,34 +133,34 @@ ICOM_DEFINE(IWebBrowser,IDispatch)
#define IWebBrowser_get_LocationURL(p,a) ICOM_CALL1(get_LocationURL,p,a) #define IWebBrowser_get_LocationURL(p,a) ICOM_CALL1(get_LocationURL,p,a)
#define IWebBrowser_get_Busy(p,a) ICOM_CALL1(get_Busy,p,a) #define IWebBrowser_get_Busy(p,a) ICOM_CALL1(get_Busy,p,a)
#define ICOM_INTERFACE IWebBrowserApp #define INTERFACE IWebBrowserApp
#define IWebBrowserApp_METHODS \ #define IWebBrowserApp_METHODS \
ICOM_METHOD(HRESULT,Quit) \ STDMETHOD(Quit)(THIS) PURE; \
ICOM_METHOD2(HRESULT,ClientToWindow,int*,pcx,int*,pcy) \ STDMETHOD(ClientToWindow)(THIS_ int *pcx,int *pcy) PURE; \
ICOM_METHOD2(HRESULT,PutProperty,BSTR,szProperty,VARIANT,vtValue) \ STDMETHOD(PutProperty)(THIS_ BSTR szProperty,VARIANT vtValue) PURE; \
ICOM_METHOD2(HRESULT,GetProperty,BSTR,szProperty,VARIANT*,pvtValue) \ STDMETHOD(GetProperty)(THIS_ BSTR szProperty,VARIANT *pvtValue) PURE; \
ICOM_METHOD1(HRESULT,get_Name,BSTR*,Name) \ STDMETHOD(get_Name)(THIS_ BSTR *Name) PURE; \
ICOM_METHOD1(HRESULT,get_HWND,long*,pHWND) \ STDMETHOD(get_HWND)(THIS_ long *pHWND) PURE; \
ICOM_METHOD1(HRESULT,get_FullName,BSTR*,FullName) \ STDMETHOD(get_FullName)(THIS_ BSTR *FullName) PURE; \
ICOM_METHOD1(HRESULT,get_Path,BSTR*,Path) \ STDMETHOD(get_Path)(THIS_ BSTR *Path) PURE; \
ICOM_METHOD1(HRESULT,get_Visible,VARIANT_BOOL*,pBool) \ STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL *pBool) PURE; \
ICOM_METHOD1(HRESULT,put_Visible,VARIANT_BOOL,Value) \ STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL Value) PURE; \
ICOM_METHOD1(HRESULT,get_StatusBar,VARIANT_BOOL*,pBool) \ STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL *pBool) PURE; \
ICOM_METHOD1(HRESULT,put_StatusBar,VARIANT_BOOL,Value) \ STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL Value) PURE; \
ICOM_METHOD1(HRESULT,get_StatusText,BSTR*,StatusText) \ STDMETHOD(get_StatusText)(THIS_ BSTR *StatusText) PURE; \
ICOM_METHOD1(HRESULT,put_StatusText,BSTR,StatusText) \ STDMETHOD(put_StatusText)(THIS_ BSTR StatusText) PURE; \
ICOM_METHOD1(HRESULT,get_ToolBar,int*,Value) \ STDMETHOD(get_ToolBar)(THIS_ int *Value) PURE; \
ICOM_METHOD1(HRESULT,put_ToolBar,int,Value) \ STDMETHOD(put_ToolBar)(THIS_ int Value) PURE; \
ICOM_METHOD1(HRESULT,get_MenuBar,VARIANT_BOOL*,Value) \ STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL *Value) PURE; \
ICOM_METHOD1(HRESULT,put_MenuBar,VARIANT_BOOL,Value) \ STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL Value) PURE; \
ICOM_METHOD1(HRESULT,get_FullScreen,VARIANT_BOOL*,pbFullScreen) \ STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL *pbFullScreen) PURE; \
ICOM_METHOD1(HRESULT,put_FullScreen,VARIANT_BOOL,bFullScreen) STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL bFullScreen) PURE;
#define IWebBrowserApp_IMETHODS \ #define IWebBrowserApp_IMETHODS \
IDispatch_IMETHODS \ IDispatch_IMETHODS \
IWebBrowser_METHODS \ IWebBrowser_METHODS \
IWebBrowserApp_METHODS IWebBrowserApp_METHODS
ICOM_DEFINE(IWebBrowserApp,IWebBrowser) ICOM_DEFINE(IWebBrowserApp,IWebBrowser)
#undef ICOM_INTERFACE #undef INTERFACE
/*** IUnknown methods ***/ /*** IUnknown methods ***/
#define IWebBrowserApp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) #define IWebBrowserApp_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -274,7 +274,6 @@
# define EXTERN_C extern # define EXTERN_C extern
#endif #endif
#ifndef __WINESRC__
#define STDMETHODCALLTYPE __stdcall #define STDMETHODCALLTYPE __stdcall
#define STDMETHODVCALLTYPE __cdecl #define STDMETHODVCALLTYPE __cdecl
#define STDAPICALLTYPE __stdcall #define STDAPICALLTYPE __stdcall
@ -288,7 +287,6 @@
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
#endif
/* Define the basic types */ /* Define the basic types */
#ifndef VOID #ifndef VOID

View File

@ -425,48 +425,36 @@ var_t *is_callas(attr_t *a)
static void write_icom_method_def(type_t *iface) static void write_icom_method_def(type_t *iface)
{ {
func_t *cur = iface->funcs; func_t *cur = iface->funcs;
if (iface->ref) write_icom_method_def( iface->ref );
while (NEXT_LINK(cur)) cur = NEXT_LINK(cur); while (NEXT_LINK(cur)) cur = NEXT_LINK(cur);
if (cur) fprintf( header, " \\\n /*** %s methods ***/", iface->name );
while (cur) { while (cur) {
var_t *def = cur->def; var_t *def = cur->def;
if (!is_callas(def->attrs)) { if (!is_callas(def->attrs)) {
var_t *arg = cur->args; var_t *arg = cur->args;
int argc = 0;
if (arg) { if (arg) {
argc++;
while (NEXT_LINK(arg)) { while (NEXT_LINK(arg)) {
arg = NEXT_LINK(arg); arg = NEXT_LINK(arg);
argc++;
} }
} }
fprintf(header, " \\\n"); fprintf(header, " \\\n ");
if (!is_void(def->type, def)) { write_type(header, def->type, def, def->tname);
if (argc) fprintf(header, " (STDMETHODCALLTYPE *");
fprintf(header, " ICOM_METHOD%d (", argc);
else
fprintf(header, " ICOM_METHOD (");
write_type(header, def->type, def, def->tname);
fprintf(header, ",");
} else
if (argc)
fprintf(header, " ICOM_VMETHOD%d(", argc);
else
fprintf(header, " ICOM_VMETHOD (");
write_name(header, def); write_name(header, def);
fprintf(header, ")(INTERFACE *This");
while (arg) { while (arg) {
fprintf(header, ","); fprintf(header, ", ");
write_type(header, arg->type, arg, arg->tname); write_type(header, arg->type, arg, arg->tname);
/* since the ICOM macros can't express arrays, fprintf(header, " ");
* we have to pretend they're pointers instead */
if (arg->array) fprintf(header, "*");
fprintf(header, ",");
write_name(header,arg); write_name(header,arg);
write_array(header, arg->array, 0);
arg = PREV_LINK(arg); arg = PREV_LINK(arg);
} }
fprintf(header, ")"); fprintf(header, ");");
} }
cur = PREV_LINK(cur); cur = PREV_LINK(cur);
} }
fprintf(header, "\n");
} }
static int write_method_macro(type_t *iface, char *name) static int write_method_macro(type_t *iface, char *name)
@ -543,10 +531,9 @@ void write_args(FILE *h, var_t *arg, char *name, int method)
else fprintf(h, " "); else fprintf(h, " ");
} }
write_type(h, arg->type, arg, arg->tname); write_type(h, arg->type, arg, arg->tname);
if (method && use_icom && arg->array) fprintf(h, "*"); /* as write_icom_method_def */
fprintf(h, " "); fprintf(h, " ");
write_name(h, arg); write_name(h, arg);
if (!(method && use_icom)) write_array(h, arg->array, 0); write_array(h, arg->array, 0);
arg = PREV_LINK(arg); arg = PREV_LINK(arg);
count++; count++;
} }
@ -563,7 +550,7 @@ static void write_cpp_method_def(type_t *iface)
indent(0); indent(0);
fprintf(header, "virtual "); fprintf(header, "virtual ");
write_type(header, def->type, def, def->tname); write_type(header, def->type, def, def->tname);
fprintf(header, " CALLBACK "); fprintf(header, " STDMETHODCALLTYPE ");
write_name(header, def); write_name(header, def);
fprintf(header, "(\n"); fprintf(header, "(\n");
write_args(header, cur->args, iface->name, 2); write_args(header, cur->args, iface->name, 2);
@ -587,7 +574,7 @@ static void do_write_c_method_def(type_t *iface, char *name)
if (!is_callas(def->attrs)) { if (!is_callas(def->attrs)) {
indent(0); indent(0);
write_type(header, def->type, def, def->tname); write_type(header, def->type, def, def->tname);
fprintf(header, " (CALLBACK *"); fprintf(header, " (STDMETHODCALLTYPE *");
write_name(header, def); write_name(header, def);
fprintf(header, ")(\n"); fprintf(header, ")(\n");
write_args(header, cur->args, name, 1); write_args(header, cur->args, name, 1);
@ -709,59 +696,39 @@ void write_com_interface(type_t *iface)
fprintf(header, " */\n"); fprintf(header, " */\n");
write_guid(iface); write_guid(iface);
write_forward(iface); write_forward(iface);
if (use_icom) { /* C++ interface */
fprintf(header, "#define ICOM_INTERFACE %s\n", iface->name); fprintf(header, "#if defined(__cplusplus) && !defined(CINTERFACE)\n");
fprintf(header, "#define %s_METHODS", iface->name); fprintf(header, "struct %s", iface->name);
write_icom_method_def(iface); if (iface->ref)
fprintf(header, "#define %s_IMETHODS \\\n", iface->name);
if (iface->ref)
fprintf(header, " %s_IMETHODS \\\n", iface->ref->name);
fprintf(header, " %s_METHODS\n", iface->name);
if (iface->ref)
fprintf(header, "ICOM_DEFINE(%s,%s)\n", iface->name, iface->ref->name);
else
fprintf(header, "ICOM_DEFINE1(%s)\n", iface->name);
fprintf(header, "#undef ICOM_INTERFACE\n");
fprintf(header, "\n");
write_method_macro(iface, iface->name);
}
else {
/* C++ interface */
fprintf(header, "#if defined(__cplusplus) && !defined(CINTERFACE)\n");
fprintf(header, "struct %s", iface->name);
if (iface->ref)
fprintf(header, ": %s", iface->ref->name); fprintf(header, ": %s", iface->ref->name);
fprintf(header, " {\n"); fprintf(header, " {\n");
indentation++; indentation++;
fprintf(header, "\n"); fprintf(header, "\n");
write_cpp_method_def(iface); write_cpp_method_def(iface);
indentation--; indentation--;
fprintf(header, "} ICOM_COM_INTERFACE_ATTRIBUTE;\n"); fprintf(header, "} ICOM_COM_INTERFACE_ATTRIBUTE;\n");
fprintf(header, "#else\n"); fprintf(header, "#else\n");
/* C interface */ /* C interface */
fprintf(header, "typedef struct %sVtbl %sVtbl;\n", iface->name, iface->name); fprintf(header, "typedef struct %sVtbl %sVtbl;\n", iface->name, iface->name);
fprintf(header, "struct %s {\n", iface->name); fprintf(header, "struct %s {\n", iface->name);
fprintf(header, " const %sVtbl* lpVtbl;\n", iface->name); fprintf(header, " const %sVtbl* lpVtbl;\n", iface->name);
fprintf(header, "};\n"); fprintf(header, "};\n");
fprintf(header, "struct %sVtbl {\n", iface->name); fprintf(header, "struct %sVtbl {\n", iface->name);
indentation++; indentation++;
fprintf(header, " ICOM_MSVTABLE_COMPAT_FIELDS\n"); fprintf(header, " ICOM_MSVTABLE_COMPAT_FIELDS\n");
fprintf(header, "\n"); fprintf(header, "\n");
write_c_method_def(iface); write_c_method_def(iface);
indentation--; indentation--;
fprintf(header, "};\n"); fprintf(header, "};\n");
fprintf(header, "\n"); fprintf(header, "\n");
if (compat_icom) { if (compat_icom) {
fprintf(header, "#define %s_IMETHODS", iface->name); fprintf(header, "#define %s_IMETHODS", iface->name);
if (iface->ref)
fprintf(header, " \\\n %s_IMETHODS", iface->ref->name);
write_icom_method_def(iface); write_icom_method_def(iface);
fprintf(header, "\n"); fprintf(header, "\n\n");
}
write_method_macro(iface, iface->name);
fprintf(header, "\n");
fprintf(header, "#endif\n");
} }
write_method_macro(iface, iface->name);
fprintf(header, "\n");
fprintf(header, "#endif\n");
fprintf(header, "\n"); fprintf(header, "\n");
write_method_proto(iface); write_method_proto(iface);
fprintf(header, "\n"); fprintf(header, "\n");