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

View File

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

View File

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

View File

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

View File

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

View File

@ -198,19 +198,19 @@ typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
/*****************************************************************************
* IDirect3D interface
*/
#define ICOM_INTERFACE IDirect3D
#define INTERFACE IDirect3D
#define IDirect3D_METHODS \
ICOM_METHOD1(HRESULT,Initialize, REFIID,riid) \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,lpEnumDevicesCallback, LPVOID,lpUserArg) \
ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,CreateMaterial, LPDIRECT3DMATERIAL*,lplpDirect3DMaterial, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,CreateViewport, LPDIRECT3DVIEWPORT*,lplpD3DViewport, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,lpD3DDFS, LPD3DFINDDEVICERESULT,lplpD3DDevice)
STDMETHOD(Initialize)(THIS_ REFIID riid) PURE; \
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE; \
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lplpD3DDevice) PURE;
#define IDirect3D_IMETHODS \
IUnknown_IMETHODS \
IDirect3D_METHODS
ICOM_DEFINE(IDirect3D,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3D_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -228,19 +228,19 @@ ICOM_DEFINE(IDirect3D,IUnknown)
/*****************************************************************************
* IDirect3D2 interface
*/
#define ICOM_INTERFACE IDirect3D2
#define INTERFACE IDirect3D2
#define IDirect3D2_METHODS \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,lpEnumDevicesCallback, LPVOID,lpUserArg) \
ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,CreateMaterial, LPDIRECT3DMATERIAL2*,lplpDirect3DMaterial2, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,CreateViewport, LPDIRECT3DVIEWPORT2*,lplpD3DViewport2, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,lpD3DDFS, LPD3DFINDDEVICERESULT,lpD3DFDR) \
ICOM_METHOD3(HRESULT,CreateDevice, REFCLSID,rclsid, LPDIRECTDRAWSURFACE,lpDDS, LPDIRECT3DDEVICE2*,lplpD3DDevice2)
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE; \
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; \
STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, LPDIRECTDRAWSURFACE lpDDS, LPDIRECT3DDEVICE2 *lplpD3DDevice2) PURE;
#define IDirect3D2_IMETHODS \
IUnknown_IMETHODS \
IDirect3D2_METHODS
ICOM_DEFINE(IDirect3D2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3D2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -258,22 +258,22 @@ ICOM_DEFINE(IDirect3D2,IUnknown)
/*****************************************************************************
* IDirect3D3 interface
*/
#define ICOM_INTERFACE IDirect3D3
#define INTERFACE IDirect3D3
#define IDirect3D3_METHODS \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,lpEnumDevicesCallback, LPVOID,lpUserArg) \
ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,CreateMaterial, LPDIRECT3DMATERIAL3*,lplpDirect3DMaterial3, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,CreateViewport, LPDIRECT3DVIEWPORT3*,lplpD3DViewport3, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,lpD3DDFS, LPD3DFINDDEVICERESULT,lpD3DFDR) \
ICOM_METHOD4(HRESULT,CreateDevice, REFCLSID,rclsid,LPDIRECTDRAWSURFACE4,lpDDS, LPDIRECT3DDEVICE3*,lplpD3DDevice3,LPUNKNOWN,lpUnk) \
ICOM_METHOD4(HRESULT,CreateVertexBuffer,LPD3DVERTEXBUFFERDESC,lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER*,lplpD3DVertBuf,DWORD,dwFlags,LPUNKNOWN,lpUnk) \
ICOM_METHOD3(HRESULT,EnumZBufferFormats,REFCLSID,riidDevice,LPD3DENUMPIXELFORMATSCALLBACK,lpEnumCallback,LPVOID,lpContext) \
ICOM_METHOD (HRESULT,EvictManagedTextures)
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE; \
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; \
STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE; \
STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; \
STDMETHOD(EvictManagedTextures)(THIS) PURE;
#define IDirect3D3_IMETHODS \
IUnknown_IMETHODS \
IDirect3D3_METHODS
ICOM_DEFINE(IDirect3D3,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3D3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -293,18 +293,18 @@ ICOM_DEFINE(IDirect3D3,IUnknown)
/*****************************************************************************
* IDirect3D7 interface
*/
#define ICOM_INTERFACE IDirect3D7
#define INTERFACE IDirect3D7
#define IDirect3D7_METHODS \
ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK7,lpEnumDevicesCallback, LPVOID,lpUserArg) \
ICOM_METHOD3(HRESULT,CreateDevice, REFCLSID,rclsid,LPDIRECTDRAWSURFACE7,lpDDS, LPDIRECT3DDEVICE7*,lplpD3DDevice) \
ICOM_METHOD3(HRESULT,CreateVertexBuffer,LPD3DVERTEXBUFFERDESC,lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7*,lplpD3DVertBuf,DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,EnumZBufferFormats,REFCLSID,riidDevice,LPD3DENUMPIXELFORMATSCALLBACK,lpEnumCallback,LPVOID,lpContext) \
ICOM_METHOD (HRESULT,EvictManagedTextures)
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE; \
STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; \
STDMETHOD(EvictManagedTextures)(THIS) PURE;
#define IDirect3D7_IMETHODS \
IUnknown_IMETHODS \
IDirect3D7_METHODS
ICOM_DEFINE(IDirect3D7,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3D7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -321,16 +321,16 @@ ICOM_DEFINE(IDirect3D7,IUnknown)
/*****************************************************************************
* IDirect3DLight interface
*/
#define ICOM_INTERFACE IDirect3DLight
#define INTERFACE IDirect3DLight
#define IDirect3DLight_METHODS \
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \
ICOM_METHOD1(HRESULT,SetLight, LPD3DLIGHT,lpLight) \
ICOM_METHOD1(HRESULT,GetLight, LPD3DLIGHT,lpLight)
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE; \
STDMETHOD(GetLight)(THIS_ LPD3DLIGHT lpLight) PURE;
#define IDirect3DLight_IMETHODS \
IUnknown_IMETHODS \
IDirect3DLight_METHODS
ICOM_DEFINE(IDirect3DLight,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DLight_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -345,19 +345,19 @@ ICOM_DEFINE(IDirect3DLight,IUnknown)
/*****************************************************************************
* IDirect3DMaterial interface
*/
#define ICOM_INTERFACE IDirect3DMaterial
#define INTERFACE IDirect3DMaterial
#define IDirect3DMaterial_METHODS \
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DMATERIALHANDLE,lpHandle) \
ICOM_METHOD (HRESULT,Reserve) \
ICOM_METHOD (HRESULT,Unreserve)
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE; \
STDMETHOD(Reserve)(THIS) PURE; \
STDMETHOD(Unreserve)(THIS) PURE;
#define IDirect3DMaterial_IMETHODS \
IUnknown_IMETHODS \
IDirect3DMaterial_METHODS
ICOM_DEFINE(IDirect3DMaterial,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DMaterial_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -375,16 +375,16 @@ ICOM_DEFINE(IDirect3DMaterial,IUnknown)
/*****************************************************************************
* IDirect3DMaterial2 interface
*/
#define ICOM_INTERFACE IDirect3DMaterial2
#define INTERFACE IDirect3DMaterial2
#define IDirect3DMaterial2_METHODS \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE2,lpDirect3DDevice2, LPD3DMATERIALHANDLE,lpHandle)
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DMATERIALHANDLE lpHandle) PURE;
#define IDirect3DMaterial2_IMETHODS \
IUnknown_IMETHODS \
IDirect3DMaterial2_METHODS
ICOM_DEFINE(IDirect3DMaterial2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DMaterial2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -399,16 +399,16 @@ ICOM_DEFINE(IDirect3DMaterial2,IUnknown)
/*****************************************************************************
* IDirect3DMaterial3 interface
*/
#define ICOM_INTERFACE IDirect3DMaterial3
#define INTERFACE IDirect3DMaterial3
#define IDirect3DMaterial3_METHODS \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL,lpMat) \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE3,lpDirect3DDevice3, LPD3DMATERIALHANDLE,lpHandle)
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE3 lpDirect3DDevice3, LPD3DMATERIALHANDLE lpHandle) PURE;
#define IDirect3DMaterial3_IMETHODS \
IUnknown_IMETHODS \
IDirect3DMaterial3_METHODS
ICOM_DEFINE(IDirect3DMaterial3,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DMaterial3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -423,18 +423,18 @@ ICOM_DEFINE(IDirect3DMaterial3,IUnknown)
/*****************************************************************************
* IDirect3DTexture interface
*/
#define ICOM_INTERFACE IDirect3DTexture
#define INTERFACE IDirect3DTexture
#define IDirect3DTexture_METHODS \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECT3DDEVICE,lpDirect3DDevice, LPDIRECTDRAWSURFACE,lpDDSurface) \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DTEXTUREHANDLE, lpHandle) \
ICOM_METHOD2(HRESULT,PaletteChanged, DWORD,dwStart, DWORD,dwCount) \
ICOM_METHOD1(HRESULT,Load, LPDIRECT3DTEXTURE,lpD3DTexture) \
ICOM_METHOD (HRESULT,Unload)
STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE; \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE; \
STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; \
STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE; \
STDMETHOD(Unload)(THIS) PURE;
#define IDirect3DTexture_IMETHODS \
IUnknown_IMETHODS \
IDirect3DTexture_METHODS
ICOM_DEFINE(IDirect3DTexture,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DTexture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -451,16 +451,16 @@ ICOM_DEFINE(IDirect3DTexture,IUnknown)
/*****************************************************************************
* IDirect3DTexture2 interface
*/
#define ICOM_INTERFACE IDirect3DTexture2
#define INTERFACE IDirect3DTexture2
#define IDirect3DTexture2_METHODS \
ICOM_METHOD2(HRESULT,GetHandle, LPDIRECT3DDEVICE2,lpDirect3DDevice2, LPD3DTEXTUREHANDLE,lpHandle) \
ICOM_METHOD2(HRESULT,PaletteChanged, DWORD,dwStart, DWORD,dwCount) \
ICOM_METHOD1(HRESULT,Load, LPDIRECT3DTEXTURE2,lpD3DTexture2)
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE; \
STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; \
STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTexture2) PURE;
#define IDirect3DTexture2_IMETHODS \
IUnknown_IMETHODS \
IDirect3DTexture2_METHODS
ICOM_DEFINE(IDirect3DTexture2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DTexture2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -475,26 +475,26 @@ ICOM_DEFINE(IDirect3DTexture2,IUnknown)
/*****************************************************************************
* IDirect3DViewport interface
*/
#define ICOM_INTERFACE IDirect3DViewport
#define INTERFACE IDirect3DViewport
#define IDirect3DViewport_METHODS \
ICOM_METHOD1(HRESULT,Initialize, LPDIRECT3D,lpDirect3D) \
ICOM_METHOD1(HRESULT,GetViewport, LPD3DVIEWPORT,lpData) \
ICOM_METHOD1(HRESULT,SetViewport, LPD3DVIEWPORT,lpData) \
ICOM_METHOD4(HRESULT,TransformVertices, DWORD,dwVertexCount, LPD3DTRANSFORMDATA,lpData, DWORD,dwFlags, LPDWORD,lpOffScreen) \
ICOM_METHOD2(HRESULT,LightElements, DWORD,dwElementCount, LPD3DLIGHTDATA,lpData) \
ICOM_METHOD1(HRESULT,SetBackground, D3DMATERIALHANDLE,hMat) \
ICOM_METHOD2(HRESULT,GetBackground, LPD3DMATERIALHANDLE,lphMat, LPBOOL,lpValid) \
ICOM_METHOD1(HRESULT,SetBackgroundDepth, LPDIRECTDRAWSURFACE,lpDDSurface) \
ICOM_METHOD2(HRESULT,GetBackgroundDepth, LPDIRECTDRAWSURFACE*,lplpDDSurface, LPBOOL,lpValid) \
ICOM_METHOD3(HRESULT,Clear, DWORD,dwCount, LPD3DRECT,lpRects, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,AddLight, LPDIRECT3DLIGHT,lpDirect3DLight) \
ICOM_METHOD1(HRESULT,DeleteLight, LPDIRECT3DLIGHT,lpDirect3DLight) \
ICOM_METHOD3(HRESULT,NextLight, LPDIRECT3DLIGHT,lpDirect3DLight, LPDIRECT3DLIGHT*,lplpDirect3DLight, DWORD,dwFlags)
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE; \
STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE; \
STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE; \
STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE; \
STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE; \
STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE; \
STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE; \
STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; \
STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; \
STDMETHOD(NextLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight, LPDIRECT3DLIGHT *lplpDirect3DLight, DWORD dwFlags) PURE;
#define IDirect3DViewport_IMETHODS \
IUnknown_IMETHODS \
IDirect3DViewport_METHODS
ICOM_DEFINE(IDirect3DViewport,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DViewport_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -519,15 +519,15 @@ ICOM_DEFINE(IDirect3DViewport,IUnknown)
/*****************************************************************************
* IDirect3DViewport2 interface
*/
#define ICOM_INTERFACE IDirect3DViewport2
#define INTERFACE IDirect3DViewport2
#define IDirect3DViewport2_METHODS \
ICOM_METHOD1(HRESULT,GetViewport2, LPD3DVIEWPORT2,lpData) \
ICOM_METHOD1(HRESULT,SetViewport2, LPD3DVIEWPORT2,lpData)
STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; \
STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
#define IDirect3DViewport2_IMETHODS \
IDirect3DViewport_IMETHODS \
IDirect3DViewport2_METHODS
ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DViewport2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -554,16 +554,16 @@ ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
/*****************************************************************************
* IDirect3DViewport3 interface
*/
#define ICOM_INTERFACE IDirect3DViewport3
#define INTERFACE IDirect3DViewport3
#define IDirect3DViewport3_METHODS \
ICOM_METHOD1(HRESULT,SetBackgroundDepth2,LPDIRECTDRAWSURFACE4,lpDDS) \
ICOM_METHOD2(HRESULT,GetBackgroundDepth2,LPDIRECTDRAWSURFACE4*,lplpDDS,LPBOOL,lpValid) \
ICOM_METHOD6(HRESULT,Clear2,DWORD,dwCount,LPD3DRECT,lpRects,DWORD,dwFlags,DWORD,dwColor,D3DVALUE,dvZ,DWORD,dwStencil)
STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE; \
STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE; \
STDMETHOD(Clear2)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,DWORD dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE;
#define IDirect3DViewport3_IMETHODS \
IDirect3DViewport2_IMETHODS \
IDirect3DViewport3_METHODS
ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DViewport3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -596,20 +596,20 @@ ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
/*****************************************************************************
* IDirect3DExecuteBuffer interface
*/
#define ICOM_INTERFACE IDirect3DExecuteBuffer
#define INTERFACE IDirect3DExecuteBuffer
#define IDirect3DExecuteBuffer_METHODS \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECT3DDEVICE,lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC,lpDesc) \
ICOM_METHOD1(HRESULT,Lock, LPD3DEXECUTEBUFFERDESC,lpDesc) \
ICOM_METHOD (HRESULT,Unlock) \
ICOM_METHOD1(HRESULT,SetExecuteData, LPD3DEXECUTEDATA,lpData) \
ICOM_METHOD1(HRESULT,GetExecuteData, LPD3DEXECUTEDATA,lpData) \
ICOM_METHOD4(HRESULT,Validate, LPDWORD,lpdwOffset, LPD3DVALIDATECALLBACK,lpFunc, LPVOID,lpUserArg, DWORD,dwReserved) \
ICOM_METHOD1(HRESULT,Optimize, DWORD,dwDummy)
STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; \
STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; \
STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE; \
STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE;
#define IDirect3DExecuteBuffer_IMETHODS \
IUnknown_IMETHODS \
IDirect3DExecuteBuffer_METHODS
ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DExecuteBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -628,32 +628,32 @@ ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown)
/*****************************************************************************
* IDirect3DDevice interface
*/
#define ICOM_INTERFACE IDirect3DDevice
#define INTERFACE IDirect3DDevice
#define IDirect3DDevice_METHODS \
ICOM_METHOD3(HRESULT,Initialize, LPDIRECT3D,lpDirect3D, LPGUID,lpGUID, LPD3DDEVICEDESC,lpD3DDVDesc) \
ICOM_METHOD2(HRESULT,GetCaps, LPD3DDEVICEDESC,lpD3DHWDevDesc, LPD3DDEVICEDESC,lpD3DHELDevDesc) \
ICOM_METHOD2(HRESULT,SwapTextureHandles, LPDIRECT3DTEXTURE,lpD3Dtex1, LPDIRECT3DTEXTURE,lpD3DTex2) \
ICOM_METHOD3(HRESULT,CreateExecuteBuffer, LPD3DEXECUTEBUFFERDESC,lpDesc, LPDIRECT3DEXECUTEBUFFER*,lplpDirect3DExecuteBuffer, IUnknown*,pUnkOuter) \
ICOM_METHOD1(HRESULT,GetStats, LPD3DSTATS,lpD3DStats) \
ICOM_METHOD3(HRESULT,Execute, LPDIRECT3DEXECUTEBUFFER,lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT,lpDirect3DViewport, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,AddViewport, LPDIRECT3DVIEWPORT,lpDirect3DViewport) \
ICOM_METHOD1(HRESULT,DeleteViewport, LPDIRECT3DVIEWPORT,lpDirect3DViewport) \
ICOM_METHOD3(HRESULT,NextViewport, LPDIRECT3DVIEWPORT,lpDirect3DViewport, LPDIRECT3DVIEWPORT*,lplpDirect3DViewport, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,Pick, LPDIRECT3DEXECUTEBUFFER,lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT,lpDirect3DViewport, DWORD,dwFlags, LPD3DRECT,lpRect) \
ICOM_METHOD2(HRESULT,GetPickRecords, LPDWORD,lpCount, LPD3DPICKRECORD,lpD3DPickRec) \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMTEXTUREFORMATSCALLBACK,lpD3DEnumTextureProc, LPVOID,lpArg) \
ICOM_METHOD1(HRESULT,CreateMatrix, LPD3DMATRIXHANDLE,lpD3DMatHandle) \
ICOM_METHOD2(HRESULT,SetMatrix, D3DMATRIXHANDLE,D3DMatHandle, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,GetMatrix, D3DMATRIXHANDLE,D3DMatHandle, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD1(HRESULT,DeleteMatrix, D3DMATRIXHANDLE,D3DMatHandle) \
ICOM_METHOD (HRESULT,BeginScene) \
ICOM_METHOD (HRESULT,EndScene) \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D*,lplpDirect3D)
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE; \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE; \
STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; \
STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; \
STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE; \
STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE; \
STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; \
STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE; \
STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D *lplpDirect3D) PURE;
#define IDirect3DDevice_IMETHODS \
IUnknown_IMETHODS \
IDirect3DDevice_METHODS
ICOM_DEFINE(IDirect3DDevice,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DDevice_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -684,44 +684,44 @@ ICOM_DEFINE(IDirect3DDevice,IUnknown)
/*****************************************************************************
* IDirect3DDevice2 interface
*/
#define ICOM_INTERFACE IDirect3DDevice2
#define INTERFACE IDirect3DDevice2
#define IDirect3DDevice2_METHODS \
ICOM_METHOD2(HRESULT,GetCaps, LPD3DDEVICEDESC,lpD3DHWDevDesc, LPD3DDEVICEDESC,lpD3DHELDevDesc) \
ICOM_METHOD2(HRESULT,SwapTextureHandles, LPDIRECT3DTEXTURE2,lpD3DTex1, LPDIRECT3DTEXTURE2,lpD3DTex2) \
ICOM_METHOD1(HRESULT,GetStats, LPD3DSTATS,lpD3DStats) \
ICOM_METHOD1(HRESULT,AddViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2) \
ICOM_METHOD1(HRESULT,DeleteViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2) \
ICOM_METHOD3(HRESULT,NextViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2, LPDIRECT3DVIEWPORT2*,lplpDirect3DViewport2, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMTEXTUREFORMATSCALLBACK,lpD3DEnumTextureProc, LPVOID,lpArg) \
ICOM_METHOD (HRESULT,BeginScene) \
ICOM_METHOD (HRESULT,EndScene) \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D2*,lplpDirect3D2) \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE; \
/*** DrawPrimitive API ***/ \
ICOM_METHOD1(HRESULT,SetCurrentViewport, LPDIRECT3DVIEWPORT2,lpDirect3DViewport2) \
ICOM_METHOD1(HRESULT,GetCurrentViewport, LPDIRECT3DVIEWPORT2*,lplpDirect3DViewport2) \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE,lpNewRenderTarget, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE*,lplpRenderTarget) \
ICOM_METHOD3(HRESULT,Begin, D3DPRIMITIVETYPE,d3dpt,D3DVERTEXTYPE,dwVertexTypeDesc,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,BeginIndexed, D3DPRIMITIVETYPE,d3dptPrimitiveType, D3DVERTEXTYPE,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwNumVertices, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,Vertex, LPVOID,lpVertexType) \
ICOM_METHOD1(HRESULT,Index, WORD,wVertexIndex) \
ICOM_METHOD1(HRESULT,End, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \
ICOM_METHOD2(HRESULT,GetLightState, D3DLIGHTSTATETYPE,dwLightStateType, LPDWORD,lpdwLightState) \
ICOM_METHOD2(HRESULT,SetLightState, D3DLIGHTSTATETYPE,dwLightStateType, DWORD,dwLightState) \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD5(HRESULT,DrawPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, D3DVERTEXTYPE,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, D3DVERTEXTYPE,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, LPWORD,dwIndices, DWORD,dwIndexCount, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,SetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \
ICOM_METHOD1(HRESULT,GetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus)
STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE; \
STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE; \
STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; \
STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; \
STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; \
STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; \
STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE;
#define IDirect3DDevice2_IMETHODS \
IUnknown_IMETHODS \
IDirect3DDevice2_METHODS
ICOM_DEFINE(IDirect3DDevice2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DDevice2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -762,53 +762,53 @@ ICOM_DEFINE(IDirect3DDevice2,IUnknown)
/*****************************************************************************
* IDirect3DDevice3 interface
*/
#define ICOM_INTERFACE IDirect3DDevice3
#define INTERFACE IDirect3DDevice3
#define IDirect3DDevice3_METHODS \
ICOM_METHOD2(HRESULT,GetCaps, LPD3DDEVICEDESC,lpD3DHWDevDesc, LPD3DDEVICEDESC,lpD3DHELDevDesc) \
ICOM_METHOD1(HRESULT,GetStats, LPD3DSTATS,lpD3DStats) \
ICOM_METHOD1(HRESULT,AddViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3) \
ICOM_METHOD1(HRESULT,DeleteViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3) \
ICOM_METHOD3(HRESULT,NextViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3, LPDIRECT3DVIEWPORT3*,lplpDirect3DViewport3, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMPIXELFORMATSCALLBACK,lpD3DEnumPixelProc, LPVOID,lpArg) \
ICOM_METHOD (HRESULT,BeginScene) \
ICOM_METHOD (HRESULT,EndScene) \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D3*,lplpDirect3D3) \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE; \
/*** DrawPrimitive API ***/ \
ICOM_METHOD1(HRESULT,SetCurrentViewport, LPDIRECT3DVIEWPORT3,lpDirect3DViewport3) \
ICOM_METHOD1(HRESULT,GetCurrentViewport, LPDIRECT3DVIEWPORT3*,lplpDirect3DViewport3) \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE4,lpNewRenderTarget, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE4*,lplpRenderTarget) \
ICOM_METHOD3(HRESULT,Begin, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexTypeDesc, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,BeginIndexed, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwNumVertices, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,Vertex, LPVOID,lpVertexType) \
ICOM_METHOD1(HRESULT,Index, WORD,wVertexIndex) \
ICOM_METHOD1(HRESULT,End, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \
ICOM_METHOD2(HRESULT,GetLightState, D3DLIGHTSTATETYPE,dwLightStateType, LPDWORD,lpdwLightState) \
ICOM_METHOD2(HRESULT,SetLightState, D3DLIGHTSTATETYPE,dwLightStateType, DWORD,dwLightState) \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD5(HRESULT,DrawPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, LPWORD,dwIndices, DWORD,dwIndexCount, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,SetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \
ICOM_METHOD1(HRESULT,GetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \
ICOM_METHOD5(HRESULT,DrawPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,LPWORD,lpIndex,DWORD,dwIndexCount,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,DrawPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER,lpD3DVertexBuf,LPWORD,lpwIndices,DWORD,dwIndexCount,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,ComputeSphereVisibility, LPD3DVECTOR,lpCenters,LPD3DVALUE,lpRadii,DWORD,dwNumSpheres,DWORD,dwFlags,LPDWORD,lpdwReturnValues) \
ICOM_METHOD2(HRESULT,GetTexture, DWORD,dwStage,LPDIRECT3DTEXTURE2*,lplpTexture2) \
ICOM_METHOD2(HRESULT,SetTexture, DWORD,dwStage,LPDIRECT3DTEXTURE2,lpTexture2) \
ICOM_METHOD3(HRESULT,GetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,LPDWORD,lpdwState) \
ICOM_METHOD3(HRESULT,SetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,DWORD,dwState) \
ICOM_METHOD1(HRESULT,ValidateDevice, LPDWORD,lpdwPasses)
STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE; \
STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE; \
STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; \
STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; \
STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; \
STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; \
STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; \
STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE;
#define IDirect3DDevice3_IMETHODS \
IUnknown_IMETHODS \
IDirect3DDevice3_METHODS
ICOM_DEFINE(IDirect3DDevice3,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DDevice3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -858,59 +858,59 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
/*****************************************************************************
* IDirect3DDevice7 interface
*/
#define ICOM_INTERFACE IDirect3DDevice7
#define INTERFACE IDirect3DDevice7
#define IDirect3DDevice7_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPD3DDEVICEDESC7,lpD3DHELDevDesc) \
ICOM_METHOD2(HRESULT,EnumTextureFormats, LPD3DENUMPIXELFORMATSCALLBACK,lpD3DEnumPixelProc, LPVOID,lpArg) \
ICOM_METHOD (HRESULT,BeginScene) \
ICOM_METHOD (HRESULT,EndScene) \
ICOM_METHOD1(HRESULT,GetDirect3D, LPDIRECT3D7*,lplpDirect3D3) \
ICOM_METHOD2(HRESULT,SetRenderTarget, LPDIRECTDRAWSURFACE7,lpNewRenderTarget,DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetRenderTarget, LPDIRECTDRAWSURFACE7*,lplpRenderTarget) \
ICOM_METHOD6(HRESULT,Clear, DWORD,dwCount,LPD3DRECT,lpRects,DWORD,dwFlags,D3DCOLOR,dwColor,D3DVALUE,dvZ,DWORD,dwStencil) \
ICOM_METHOD2(HRESULT,SetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD2(HRESULT,GetTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType, LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD1(HRESULT,SetViewport, LPD3DVIEWPORT7,lpData) \
ICOM_METHOD2(HRESULT,MultiplyTransform, D3DTRANSFORMSTATETYPE,dtstTransformStateType,LPD3DMATRIX,lpD3DMatrix) \
ICOM_METHOD1(HRESULT,GetViewport, LPD3DVIEWPORT7,lpData) \
ICOM_METHOD1(HRESULT,SetMaterial, LPD3DMATERIAL7,lpMat) \
ICOM_METHOD1(HRESULT,GetMaterial, LPD3DMATERIAL7,lpMat) \
ICOM_METHOD2(HRESULT,SetLight, DWORD,dwLightIndex,LPD3DLIGHT7,lpLight) \
ICOM_METHOD2(HRESULT,GetLight, DWORD,dwLightIndex,LPD3DLIGHT7,lpLight) \
ICOM_METHOD2(HRESULT,SetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, DWORD,dwRenderState) \
ICOM_METHOD2(HRESULT,GetRenderState, D3DRENDERSTATETYPE,dwRenderStateType, LPDWORD,lpdwRenderState) \
ICOM_METHOD (HRESULT,BeginStateBlock) \
ICOM_METHOD1(HRESULT,EndStateBlock, LPDWORD,lpdwBlockHandle) \
ICOM_METHOD1(HRESULT,PreLoad, LPDIRECTDRAWSURFACE7,lpddsTexture) \
ICOM_METHOD5(HRESULT,DrawPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitive, D3DPRIMITIVETYPE,d3dptPrimitiveType, DWORD,d3dvtVertexType, LPVOID,lpvVertices, DWORD,dwVertexCount, LPWORD,dwIndices, DWORD,dwIndexCount, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,SetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \
ICOM_METHOD1(HRESULT,GetClipStatus, LPD3DCLIPSTATUS,lpD3DClipStatus) \
ICOM_METHOD5(HRESULT,DrawPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveStrided, D3DPRIMITIVETYPE,d3dptPrimitiveType,DWORD,dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpD3DDrawPrimStrideData,DWORD,dwVertexCount,LPWORD,lpIndex,DWORD,dwIndexCount,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,DrawPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,DrawIndexedPrimitiveVB, D3DPRIMITIVETYPE,d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7,lpD3DVertexBuf,DWORD,dwStartVertex,DWORD,dwNumVertices,LPWORD,lpwIndices,DWORD,dwIndexCount,DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,ComputeSphereVisibility, LPD3DVECTOR,lpCenters,LPD3DVALUE,lpRadii,DWORD,dwNumSpheres,DWORD,dwFlags,LPDWORD,lpdwReturnValues) \
ICOM_METHOD2(HRESULT,GetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7*,lpTexture) \
ICOM_METHOD2(HRESULT,SetTexture, DWORD,dwStage,LPDIRECTDRAWSURFACE7,lpTexture) \
ICOM_METHOD3(HRESULT,GetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,LPDWORD,lpdwState) \
ICOM_METHOD3(HRESULT,SetTextureStageState, DWORD,dwStage,D3DTEXTURESTAGESTATETYPE,d3dTexStageStateType,DWORD,dwState) \
ICOM_METHOD1(HRESULT,ValidateDevice, LPDWORD,lpdwPasses) \
ICOM_METHOD1(HRESULT,ApplyStateBlock, DWORD,dwBlockHandle) \
ICOM_METHOD1(HRESULT,CaptureStateBlock, DWORD,dwBlockHandle) \
ICOM_METHOD1(HRESULT,DeleteStateBlock, DWORD,dwBlockHandle) \
ICOM_METHOD2(HRESULT,CreateStateBlock, D3DSTATEBLOCKTYPE,d3dsbType,LPDWORD,lpdwBlockHandle) \
ICOM_METHOD5(HRESULT,Load, LPDIRECTDRAWSURFACE7,lpDestTex,LPPOINT,lpDestPoint,LPDIRECTDRAWSURFACE7,lpSrcTex,LPRECT,lprcSrcRect,DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,LightEnable, DWORD,dwLightIndex,BOOL,bEnable) \
ICOM_METHOD2(HRESULT,GetLightEnable, DWORD,dwLightIndex,BOOL*,pbEnable) \
ICOM_METHOD2(HRESULT,SetClipPlane, DWORD,dwIndex,D3DVALUE*,pPlaneEquation) \
ICOM_METHOD2(HRESULT,GetClipPlane, DWORD,dwIndex,D3DVALUE*,pPlaneEquation) \
ICOM_METHOD3(HRESULT,GetInfo, DWORD,dwDevInfoID,LPVOID,pDevInfoStruct,DWORD,dwSize)
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE; \
STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; \
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; \
STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; \
STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
STDMETHOD(BeginStateBlock)(THIS) PURE; \
STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE; \
STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; \
STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE; \
STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE; \
STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE; \
STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE; \
STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE; \
STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; \
STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; \
STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE;
#define IDirect3DDevice7_IMETHODS \
IUnknown_IMETHODS \
IDirect3DDevice7_METHODS
ICOM_DEFINE(IDirect3DDevice7,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IDirect3DDevice7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirect3DDevice7_AddRef(p) ICOM_CALL (AddRef,p)
@ -967,18 +967,18 @@ ICOM_DEFINE(IDirect3DDevice7,IUnknown)
/*****************************************************************************
* IDirect3DVertexBuffer interface
*/
#define ICOM_INTERFACE IDirect3DVertexBuffer
#define INTERFACE IDirect3DVertexBuffer
#define IDirect3DVertexBuffer_METHODS \
ICOM_METHOD3(HRESULT,Lock, DWORD,dwFlags,LPVOID*,lplpData,LPDWORD,lpdwSize) \
ICOM_METHOD (HRESULT,Unlock) \
ICOM_METHOD7(HRESULT,ProcessVertices, DWORD,dwVertexOp,DWORD,dwDestIndex,DWORD,dwCount,LPDIRECT3DVERTEXBUFFER,lpSrcBuffer,DWORD,dwSrcIndex,LPDIRECT3DDEVICE3,lpD3DDevice,DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetVertexBufferDesc, LPD3DVERTEXBUFFERDESC,lpD3DVertexBufferDesc) \
ICOM_METHOD2(HRESULT,Optimize, LPDIRECT3DDEVICE3, lpD3DDevice,DWORD,dwFlags)
STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE; \
STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; \
STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE;
#define IDirect3DVertexBuffer_IMETHODS \
IUnknown_IMETHODS \
IDirect3DVertexBuffer_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DVertexBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -994,19 +994,19 @@ ICOM_DEFINE(IDirect3DVertexBuffer,IUnknown)
/*****************************************************************************
* IDirect3DVertexBuffer7 interface
*/
#define ICOM_INTERFACE IDirect3DVertexBuffer7
#define INTERFACE IDirect3DVertexBuffer7
#define IDirect3DVertexBuffer7_METHODS \
ICOM_METHOD3(HRESULT,Lock, DWORD,dwFlags,LPVOID*,lplpData,LPDWORD,lpdwSize) \
ICOM_METHOD (HRESULT,Unlock) \
ICOM_METHOD7(HRESULT,ProcessVertices, DWORD,dwVertexOp,DWORD,dwDestIndex,DWORD,dwCount,LPDIRECT3DVERTEXBUFFER7,lpSrcBuffer,DWORD,dwSrcIndex,LPDIRECT3DDEVICE7,lpD3DDevice,DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetVertexBufferDesc, LPD3DVERTEXBUFFERDESC,lpD3DVertexBufferDesc) \
ICOM_METHOD2(HRESULT,Optimize, LPDIRECT3DDEVICE7, lpD3DDevice,DWORD,dwFlags) \
ICOM_METHOD7(HRESULT,ProcessVerticesStrided, DWORD,dwVertexOp,DWORD,dwDestIndex,DWORD,dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA,lpStrideData,DWORD,dwVertexTypeDesc,LPDIRECT3DDEVICE7,lpD3DDevice,DWORD,dwFlags)
STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; \
STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; \
STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; \
STDMETHOD(ProcessVerticesStrided)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData,DWORD dwVertexTypeDesc,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE;
#define IDirect3DVertexBuffer7_IMETHODS \
IUnknown_IMETHODS \
IDirect3DVertexBuffer7_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer7,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IDirect3D8
#define INTERFACE IDirect3D8
#define IDirect3D8_METHODS \
/*** IDirect3D8 methods ***/ \
ICOM_METHOD1(HRESULT, RegisterSoftwareDevice, void*, pInitializeFunction) \
ICOM_METHOD (UINT, GetAdapterCount ) \
ICOM_METHOD3(HRESULT, GetAdapterIdentifier, UINT, Adapter, DWORD, Flags, D3DADAPTER_IDENTIFIER8*, pIdentifier) \
ICOM_METHOD1(UINT, GetAdapterModeCount, UINT, Adapter) \
ICOM_METHOD3(HRESULT, EnumAdapterModes, UINT, Adapter, UINT, Mode, D3DDISPLAYMODE*, pMode) \
ICOM_METHOD2(HRESULT, GetAdapterDisplayMode, UINT, Adapter, D3DDISPLAYMODE*, pMode) \
ICOM_METHOD5(HRESULT, CheckDeviceType, UINT, Adapter, D3DDEVTYPE, CheckType, D3DFORMAT, DisplayFormat, D3DFORMAT, BackBufferFormat, BOOL, Windowed) \
ICOM_METHOD6(HRESULT, CheckDeviceFormat, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DFORMAT, AdapterFormat, DWORD, Usage, D3DRESOURCETYPE, RType, D3DFORMAT, CheckFormat) \
ICOM_METHOD5(HRESULT, CheckDeviceMultiSampleType, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DFORMAT, SurfaceFormat, BOOL, Windowed, D3DMULTISAMPLE_TYPE, MultiSampleType) \
ICOM_METHOD5(HRESULT, CheckDepthStencilMatch, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DFORMAT, AdapterFormat, D3DFORMAT, RenderTargetFormat, D3DFORMAT, DepthStencilFormat) \
ICOM_METHOD3(HRESULT, GetDeviceCaps, UINT, Adapter, D3DDEVTYPE, DeviceType, D3DCAPS8*, pCaps) \
ICOM_METHOD1(HMONITOR, GetAdapterMonitor, UINT, Adapter) \
ICOM_METHOD6(HRESULT, CreateDevice, UINT, Adapter, D3DDEVTYPE, DeviceType,HWND, hFocusWindow, DWORD, BehaviorFlags, D3DPRESENT_PARAMETERS*, pPresentationParameters, IDirect3DDevice8**, ppReturnedDeviceInterface)
STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE; \
STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE; \
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE; \
STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE; \
STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE; \
STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE; \
STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE; \
STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE; \
STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE; \
STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE; \
STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8 * pCaps) PURE; \
STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE; \
STDMETHOD(CreateDevice)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType,HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DDevice8 ** ppReturnedDeviceInterface) PURE;
/*** IDirect3D8 methods ***/
#define IDirect3D8_IMETHODS \
IUnknown_IMETHODS \
IDirect3D8_METHODS
ICOM_DEFINE(IDirect3D8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3D8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -148,110 +148,110 @@ ICOM_DEFINE(IDirect3D8,IUnknown)
/*****************************************************************************
* IDirect3DDevice8 interface
*/
#define ICOM_INTERFACE IDirect3DDevice8
#define INTERFACE IDirect3DDevice8
#define IDirect3DDevice8_METHODS \
/*** IDirect3DDevice8 methods ***/ \
ICOM_METHOD (HRESULT, TestCooperativeLevel) \
ICOM_METHOD (UINT, GetAvailableTextureMem) \
ICOM_METHOD1(HRESULT, ResourceManagerDiscardBytes, DWORD, Bytes) \
ICOM_METHOD1(HRESULT, GetDirect3D, IDirect3D8**, ppD3D8) \
ICOM_METHOD1(HRESULT, GetDeviceCaps, D3DCAPS8*, pCaps) \
ICOM_METHOD1(HRESULT, GetDisplayMode, D3DDISPLAYMODE*, pMode) \
ICOM_METHOD1(HRESULT, GetCreationParameters, D3DDEVICE_CREATION_PARAMETERS *, pParameters) \
ICOM_METHOD3(HRESULT, SetCursorProperties, UINT, XHotSpot, UINT, YHotSpot, IDirect3DSurface8*, pCursorBitmap) \
ICOM_METHOD3(void, SetCursorPosition, UINT, XScreenSpace, UINT, YScreenSpace,DWORD, Flags) \
ICOM_METHOD1(BOOL, ShowCursor, BOOL, bShow) \
ICOM_METHOD2(HRESULT, CreateAdditionalSwapChain, D3DPRESENT_PARAMETERS*, pPresentationParameters, IDirect3DSwapChain8**, pSwapChain) \
ICOM_METHOD1(HRESULT, Reset, D3DPRESENT_PARAMETERS*, pPresentationParameters) \
ICOM_METHOD4(HRESULT, Present, CONST RECT*, pSourceRect,CONST RECT*, pDestRect,HWND, hDestWindowOverride,CONST RGNDATA*, pDirtyRegion) \
ICOM_METHOD3(HRESULT, GetBackBuffer, UINT, BackBuffer,D3DBACKBUFFER_TYPE, Type,IDirect3DSurface8**, ppBackBuffer) \
ICOM_METHOD1(HRESULT, GetRasterStatus, D3DRASTER_STATUS*, pRasterStatus) \
ICOM_METHOD2(void, SetGammaRamp, DWORD, Flags,CONST D3DGAMMARAMP*, pRamp) \
ICOM_METHOD1(void, GetGammaRamp, D3DGAMMARAMP*, pRamp) \
ICOM_METHOD7(HRESULT, CreateTexture, UINT, Width,UINT, Height,UINT, Levels,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DTexture8**, ppTexture) \
ICOM_METHOD8(HRESULT, CreateVolumeTexture, UINT, Width,UINT, Height,UINT, Depth,UINT, Levels,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DVolumeTexture8**, ppVolumeTexture) \
ICOM_METHOD6(HRESULT, CreateCubeTexture, UINT, EdgeLength,UINT, Levels,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DCubeTexture8**, ppCubeTexture) \
ICOM_METHOD5(HRESULT, CreateVertexBuffer, UINT, Length,DWORD, Usage,DWORD, FVF,D3DPOOL, Pool,IDirect3DVertexBuffer8**, ppVertexBuffer) \
ICOM_METHOD5(HRESULT, CreateIndexBuffer, UINT, Length,DWORD, Usage,D3DFORMAT, Format,D3DPOOL, Pool,IDirect3DIndexBuffer8**, ppIndexBuffer) \
ICOM_METHOD6(HRESULT, CreateRenderTarget, UINT, Width,UINT, Height,D3DFORMAT, Format,D3DMULTISAMPLE_TYPE, MultiSample,BOOL, Lockable,IDirect3DSurface8**, ppSurface) \
ICOM_METHOD5(HRESULT, CreateDepthStencilSurface, UINT, Width,UINT, Height,D3DFORMAT, Format,D3DMULTISAMPLE_TYPE, MultiSample,IDirect3DSurface8**, ppSurface) \
ICOM_METHOD4(HRESULT, CreateImageSurface, UINT, Width,UINT, Height,D3DFORMAT, Format,IDirect3DSurface8**, ppSurface) \
ICOM_METHOD5(HRESULT, CopyRects, IDirect3DSurface8*, pSourceSurface,CONST RECT*, pSourceRectsArray,UINT, cRects,IDirect3DSurface8*, pDestinationSurface,CONST POINT*, pDestPointsArray) \
ICOM_METHOD2(HRESULT, UpdateTexture, IDirect3DBaseTexture8*, pSourceTexture,IDirect3DBaseTexture8*, pDestinationTexture) \
ICOM_METHOD1(HRESULT, GetFrontBuffer, IDirect3DSurface8*, pDestSurface) \
ICOM_METHOD2(HRESULT, SetRenderTarget, IDirect3DSurface8*, pRenderTarget,IDirect3DSurface8*, pNewZStencil) \
ICOM_METHOD1(HRESULT, GetRenderTarget, IDirect3DSurface8**, ppRenderTarget) \
ICOM_METHOD1(HRESULT, GetDepthStencilSurface, IDirect3DSurface8**, ppZStencilSurface) \
ICOM_METHOD (HRESULT, BeginScene) \
ICOM_METHOD (HRESULT, EndScene) \
ICOM_METHOD6(HRESULT, Clear, DWORD, Count,CONST D3DRECT*, pRects,DWORD, Flags,D3DCOLOR, Color,float, Z,DWORD, Stencil) \
ICOM_METHOD2(HRESULT, SetTransform, D3DTRANSFORMSTATETYPE, State,CONST D3DMATRIX*, pMatrix) \
ICOM_METHOD2(HRESULT, GetTransform, D3DTRANSFORMSTATETYPE, State,D3DMATRIX*, pMatrix) \
ICOM_METHOD2(HRESULT, MultiplyTransform, D3DTRANSFORMSTATETYPE, State, CONST D3DMATRIX*, pMatrix) \
ICOM_METHOD1(HRESULT, SetViewport, CONST D3DVIEWPORT8*, pViewport) \
ICOM_METHOD1(HRESULT, GetViewport, D3DVIEWPORT8*, pViewport) \
ICOM_METHOD1(HRESULT, SetMaterial, CONST D3DMATERIAL8*, pMaterial) \
ICOM_METHOD1(HRESULT, GetMaterial, D3DMATERIAL8* ,pMaterial) \
ICOM_METHOD2(HRESULT, SetLight, DWORD, Index,CONST D3DLIGHT8*, pLight) \
ICOM_METHOD2(HRESULT, GetLight, DWORD, Index,D3DLIGHT8*, pLight) \
ICOM_METHOD2(HRESULT, LightEnable, DWORD, Index,BOOL, Enable) \
ICOM_METHOD2(HRESULT, GetLightEnable, DWORD, Index,BOOL*, pEnable) \
ICOM_METHOD2(HRESULT, SetClipPlane, DWORD, Index,CONST float*, pPlane) \
ICOM_METHOD2(HRESULT, GetClipPlane, DWORD, Index,float*, pPlane) \
ICOM_METHOD2(HRESULT, SetRenderState, D3DRENDERSTATETYPE, State,DWORD, Value) \
ICOM_METHOD2(HRESULT, GetRenderState, D3DRENDERSTATETYPE, State,DWORD*, pValue) \
ICOM_METHOD (HRESULT, BeginStateBlock) \
ICOM_METHOD1(HRESULT, EndStateBlock, DWORD*, pToken) \
ICOM_METHOD1(HRESULT, ApplyStateBlock, DWORD, Token) \
ICOM_METHOD1(HRESULT, CaptureStateBlock, DWORD, Token) \
ICOM_METHOD1(HRESULT, DeleteStateBlock, DWORD, Token) \
ICOM_METHOD2(HRESULT, CreateStateBlock, D3DSTATEBLOCKTYPE, Type,DWORD*, pToken) \
ICOM_METHOD1(HRESULT, SetClipStatus, CONST D3DCLIPSTATUS8*, pClipStatus) \
ICOM_METHOD1(HRESULT, GetClipStatus, D3DCLIPSTATUS8*, pClipStatus) \
ICOM_METHOD2(HRESULT, GetTexture, DWORD, Stage,IDirect3DBaseTexture8**, ppTexture) \
ICOM_METHOD2(HRESULT, SetTexture, DWORD, Stage,IDirect3DBaseTexture8*, pTexture) \
ICOM_METHOD3(HRESULT, GetTextureStageState, DWORD, Stage,D3DTEXTURESTAGESTATETYPE, Type,DWORD*, pValue) \
ICOM_METHOD3(HRESULT, SetTextureStageState, DWORD, Stage,D3DTEXTURESTAGESTATETYPE, Type,DWORD, Value) \
ICOM_METHOD1(HRESULT, ValidateDevice, DWORD*, pNumPasses) \
ICOM_METHOD3(HRESULT, GetInfo, DWORD, DevInfoID,void*, pDevInfoStruct,DWORD, DevInfoStructSize) \
ICOM_METHOD2(HRESULT, SetPaletteEntries, UINT, PaletteNumber,CONST PALETTEENTRY*, pEntries) \
ICOM_METHOD2(HRESULT, GetPaletteEntries, UINT, PaletteNumber,PALETTEENTRY*, pEntries) \
ICOM_METHOD1(HRESULT, SetCurrentTexturePalette, UINT, PaletteNumber) \
ICOM_METHOD1(HRESULT, GetCurrentTexturePalette, UINT *, PaletteNumber) \
ICOM_METHOD3(HRESULT, DrawPrimitive, D3DPRIMITIVETYPE, PrimitiveType,UINT, StartVertex,UINT, PrimitiveCount) \
ICOM_METHOD5(HRESULT, DrawIndexedPrimitive, D3DPRIMITIVETYPE, PrimitiveType,UINT, minIndex,UINT, NumVertices,UINT, startIndex,UINT, primCount) \
ICOM_METHOD4(HRESULT, DrawPrimitiveUP, D3DPRIMITIVETYPE, PrimitiveType,UINT, PrimitiveCount,CONST void*, pVertexStreamZeroData,UINT, VertexStreamZeroStride) \
ICOM_METHOD8(HRESULT, DrawIndexedPrimitiveUP, D3DPRIMITIVETYPE, PrimitiveType,UINT, MinVertexIndex,UINT, NumVertexIndices,UINT, PrimitiveCount,CONST void*, pIndexData,D3DFORMAT, IndexDataFormat,CONST void*, pVertexStreamZeroData,UINT, VertexStreamZeroStride) \
ICOM_METHOD5(HRESULT, ProcessVertices, UINT, SrcStartIndex,UINT, DestIndex,UINT, VertexCount,IDirect3DVertexBuffer8*, pDestBuffer,DWORD, Flags) \
ICOM_METHOD4(HRESULT, CreateVertexShader, CONST DWORD*, pDeclaration,CONST DWORD*, pFunction,DWORD*, pHandle,DWORD, Usage) \
ICOM_METHOD1(HRESULT, SetVertexShader, DWORD, Handle) \
ICOM_METHOD1(HRESULT, GetVertexShader, DWORD*, pHandle) \
ICOM_METHOD1(HRESULT, DeleteVertexShader, DWORD, Handle) \
ICOM_METHOD3(HRESULT, SetVertexShaderConstant, DWORD, Register,CONST void*, pConstantData,DWORD, ConstantCount) \
ICOM_METHOD3(HRESULT, GetVertexShaderConstant, DWORD, Register,void*, pConstantData,DWORD, ConstantCount) \
ICOM_METHOD3(HRESULT, GetVertexShaderDeclaration, DWORD, Handle,void*, pData,DWORD*, pSizeOfData) \
ICOM_METHOD3(HRESULT, GetVertexShaderFunction, DWORD, Handle,void*, pData,DWORD*, pSizeOfData) \
ICOM_METHOD3(HRESULT, SetStreamSource, UINT, StreamNumber,IDirect3DVertexBuffer8*, pStreamData,UINT, Stride) \
ICOM_METHOD3(HRESULT, GetStreamSource, UINT, StreamNumber,IDirect3DVertexBuffer8**, ppStreamData,UINT*, pStride) \
ICOM_METHOD2(HRESULT, SetIndices, IDirect3DIndexBuffer8*, pIndexData,UINT, BaseVertexIndex) \
ICOM_METHOD2(HRESULT, GetIndices, IDirect3DIndexBuffer8**, ppIndexData,UINT*, pBaseVertexIndex) \
ICOM_METHOD2(HRESULT, CreatePixelShader, CONST DWORD*, pFunction,DWORD*, pHandle) \
ICOM_METHOD1(HRESULT, SetPixelShader, DWORD, Handle) \
ICOM_METHOD1(HRESULT, GetPixelShader, DWORD*, pHandle) \
ICOM_METHOD1(HRESULT, DeletePixelShader, DWORD, Handle) \
ICOM_METHOD3(HRESULT, SetPixelShaderConstant, DWORD, Register,CONST void*, pConstantData,DWORD, ConstantCount) \
ICOM_METHOD3(HRESULT, GetPixelShaderConstant, DWORD, Register,void*, pConstantData,DWORD, ConstantCount) \
ICOM_METHOD3(HRESULT, GetPixelShaderFunction, DWORD, Handle,void*, pData,DWORD*, pSizeOfData) \
ICOM_METHOD3(HRESULT, DrawRectPatch, UINT, Handle,CONST float*, pNumSegs,CONST D3DRECTPATCH_INFO*, pRectPatchInfo) \
ICOM_METHOD3(HRESULT, DrawTriPatch, UINT, Handle,CONST float*, pNumSegs,CONST D3DTRIPATCH_INFO*, pTriPatchInfo) \
ICOM_METHOD1(HRESULT, DeletePatch, UINT, Handle) \
STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE; \
STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE; \
STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE; \
STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8 * pCaps) PURE; \
STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE; \
STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE; \
STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE; \
STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE; \
STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE; \
STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE; \
STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE; \
STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; \
STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE; \
STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE; \
STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE; \
STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE; \
STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE; \
STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE; \
STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE; \
STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE; \
STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE; \
STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE; \
STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE; \
STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE; \
STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE; \
STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE; \
STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE; \
STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE; \
STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE; \
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE; \
STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE; \
STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE; \
STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE; \
STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE; \
STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE; \
STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE; \
STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE; \
STDMETHOD(BeginStateBlock)(THIS) PURE; \
STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE; \
STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE; \
STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE; \
STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE; \
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE; \
STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE; \
STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE; \
STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE; \
STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE; \
STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE; \
STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE; \
STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE; \
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; \
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; \
STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE; \
STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE; \
STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE; \
STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE; \
STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE; \
STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE; \
STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE; \
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE; \
STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE; \
STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE; \
STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE; \
STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE; \
/*** IDirect3DDevice8 methods ***/
#define IDirect3DDevice8_IMETHODS \
IUnknown_IMETHODS \
IDirect3DDevice8_METHODS
ICOM_DEFINE(IDirect3DDevice8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -356,24 +356,24 @@ ICOM_DEFINE(IDirect3DDevice8,IUnknown)
/*****************************************************************************
* IDirect3DVolume8 interface
*/
#define ICOM_INTERFACE IDirect3DVolume8
#define INTERFACE IDirect3DVolume8
#define IDirect3DVolume8_METHODS \
/*** IDirect3DVolume8 methods ***/ \
ICOM_METHOD1(HRESULT,GetDevice, IDirect3DDevice8**, ppDevice) \
ICOM_METHOD4(HRESULT,SetPrivateData, REFGUID, refguid,CONST void*, pData, DWORD, SizeOfData, DWORD, Flags) \
ICOM_METHOD3(HRESULT,GetPrivateData, REFGUID, refguid,void*, pData, DWORD*, pSizeOfData) \
ICOM_METHOD1(HRESULT,FreePrivateData, REFGUID, refguid) \
ICOM_METHOD2(HRESULT,GetContainer, REFIID, riid, void**, ppContainer) \
ICOM_METHOD1(HRESULT,GetDesc, D3DVOLUME_DESC*, pDesc) \
ICOM_METHOD3(HRESULT,LockBox, D3DLOCKED_BOX*, pLockedVolume,CONST D3DBOX*, pBox, DWORD, Flags) \
ICOM_METHOD (HRESULT,UnlockBox) \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE; \
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE; \
STDMETHOD(UnlockBox)(THIS) PURE; \
/*** IDirect3DVolume8 methods ***/
#define IDirect3DVolume8_IMETHODS \
IUnknown_IMETHODS \
IDirect3DVolume8_METHODS
ICOM_DEFINE(IDirect3DVolume8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DVolume8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -392,18 +392,18 @@ ICOM_DEFINE(IDirect3DVolume8,IUnknown)
/*****************************************************************************
* IDirect3DSwapChain8 interface
*/
#define ICOM_INTERFACE IDirect3DSwapChain8
#define INTERFACE IDirect3DSwapChain8
#define IDirect3DSwapChain8_METHODS \
/*** IDirect3DSwapChain8 methods ***/ \
ICOM_METHOD4(HRESULT, Present, CONST RECT*, pSourceRect, CONST RECT*, pDestRect, HWND, hDestWindowOverride,CONST RGNDATA*, pDirtyRegion) \
ICOM_METHOD3(HRESULT, GetBackBuffer, UINT, BackBuffer, D3DBACKBUFFER_TYPE, Type,IDirect3DSurface8**, ppBackBuffer) \
STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; \
STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE; \
/*** IDirect3DSwapChain8 methods ***/
#define IDirect3DSwapChain8_IMETHODS \
IUnknown_IMETHODS \
IDirect3DSwapChain8_METHODS
ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DSwapChain8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -416,24 +416,24 @@ ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
/*****************************************************************************
* IDirect3DSurface8 interface
*/
#define ICOM_INTERFACE IDirect3DSurface8
#define INTERFACE IDirect3DSurface8
#define IDirect3DSurface8_METHODS \
/*** IDirect3DSurface8 methods ***/ \
ICOM_METHOD1(HRESULT, GetDevice, IDirect3DDevice8**, ppDevice) \
ICOM_METHOD4(HRESULT, SetPrivateData, REFGUID, refguid,CONST void*, pData,DWORD, SizeOfData,DWORD, Flags) \
ICOM_METHOD3(HRESULT, GetPrivateData, REFGUID, refguid,void*, pData,DWORD*, pSizeOfData) \
ICOM_METHOD1(HRESULT, FreePrivateData, REFGUID, refguid) \
ICOM_METHOD2(HRESULT, GetContainer, REFIID, riid, void**, ppContainer) \
ICOM_METHOD1(HRESULT, GetDesc, D3DSURFACE_DESC*, pDesc) \
ICOM_METHOD3(HRESULT, LockRect, D3DLOCKED_RECT*, pLockedRect, CONST RECT*, pRect,DWORD, Flags) \
ICOM_METHOD (HRESULT, UnlockRect) \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE; \
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS) PURE; \
/*** IDirect3DSurface8 methods ***/
#define IDirect3DSurface8_IMETHODS \
IUnknown_IMETHODS \
IDirect3DSurface8_METHODS
ICOM_DEFINE(IDirect3DSurface8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DSurface8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -452,24 +452,24 @@ ICOM_DEFINE(IDirect3DSurface8,IUnknown)
/*****************************************************************************
* IDirect3DResource8 interface
*/
#define ICOM_INTERFACE IDirect3DResource8
#define INTERFACE IDirect3DResource8
#define IDirect3DResource8_METHODS \
/*** IDirect3DResource8 methods ***/ \
ICOM_METHOD1(HRESULT, GetDevice, IDirect3DDevice8**, ppDevice) \
ICOM_METHOD4(HRESULT, SetPrivateData, REFGUID, refguid, CONST void*, pData, DWORD, SizeOfData, DWORD, Flags) \
ICOM_METHOD3(HRESULT, GetPrivateData, REFGUID, refguid, void*, pData, DWORD*, pSizeOfData) \
ICOM_METHOD1(HRESULT, FreePrivateData, REFGUID, refguid) \
ICOM_METHOD1(DWORD, SetPriority, DWORD, PriorityNew) \
ICOM_METHOD (DWORD, GetPriority) \
ICOM_METHOD (void, PreLoad) \
ICOM_METHOD (D3DRESOURCETYPE, GetType)
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; \
STDMETHOD_(DWORD,GetPriority)(THIS) PURE; \
STDMETHOD_(void,PreLoad)(THIS) PURE; \
STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
/*** IDirect3DResource8 methods ***/
#define IDirect3DResource8_IMETHODS \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS
ICOM_DEFINE(IDirect3DResource8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DResource8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -488,12 +488,12 @@ ICOM_DEFINE(IDirect3DResource8,IUnknown)
/*****************************************************************************
* IDirect3DVertexBuffer8 interface
*/
#define ICOM_INTERFACE IDirect3DVertexBuffer8
#define INTERFACE IDirect3DVertexBuffer8
#define IDirect3DVertexBuffer8_METHODS \
/*** IDirect3DVertexBuffer8 methods ***/ \
ICOM_METHOD4(HRESULT,Lock, UINT, OffsetToLock, UINT, SizeToLock, BYTE**, ppbData, DWORD, Flags) \
ICOM_METHOD (HRESULT,Unlock) \
ICOM_METHOD1(HRESULT,GetDesc, D3DVERTEXBUFFER_DESC *, pDesc)
STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC * pDesc) PURE;
/*** IDirect3DVertexBuffer8 methods ***/
#define IDirect3DVertexBuffer8_IMETHODS \
@ -501,7 +501,7 @@ ICOM_DEFINE(IDirect3DResource8,IUnknown)
IDirect3DResource8_METHODS \
IDirect3DVertexBuffer8_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DVertexBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -524,12 +524,12 @@ ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
/*****************************************************************************
* IDirect3DIndexBuffer8 interface
*/
#define ICOM_INTERFACE IDirect3DIndexBuffer8
#define INTERFACE IDirect3DIndexBuffer8
#define IDirect3DIndexBuffer8_METHODS \
/*** IDirect3DIndexBuffer8 methods ***/ \
ICOM_METHOD4(HRESULT,Lock, UINT, OffsetToLock, UINT, SizeToLock, BYTE**, ppbData, DWORD, Flags) \
ICOM_METHOD (HRESULT,Unlock) \
ICOM_METHOD1(HRESULT,GetDesc, D3DINDEXBUFFER_DESC*, pDesc) \
STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE; \
/*** IDirect3DIndexBuffer8 methods ***/
#define IDirect3DIndexBuffer8_IMETHODS \
@ -537,7 +537,7 @@ ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
IDirect3DResource8_METHODS \
IDirect3DIndexBuffer8_METHODS
ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DIndexBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -560,12 +560,12 @@ ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
/*****************************************************************************
* IDirect3DBaseTexture8 interface
*/
#define ICOM_INTERFACE IDirect3DBaseTexture8
#define INTERFACE IDirect3DBaseTexture8
#define IDirect3DBaseTexture8_METHODS \
/*** IDirect3DBaseTexture8 methods ***/ \
ICOM_METHOD1(DWORD,SetLOD, DWORD, LODNew) \
ICOM_METHOD (DWORD,GetLOD) \
ICOM_METHOD (DWORD,GetLevelCount)
STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; \
STDMETHOD_(DWORD,GetLOD)(THIS) PURE; \
STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
/*** IDirect3DBaseTexture8 methods ***/
#define IDirect3DBaseTexture8_IMETHODS \
@ -573,7 +573,7 @@ ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
IDirect3DResource8_METHODS \
IDirect3DBaseTexture8_METHODS
ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DBaseTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -596,14 +596,14 @@ ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
/*****************************************************************************
* IDirect3DCubeTexture8 interface
*/
#define ICOM_INTERFACE IDirect3DCubeTexture8
#define INTERFACE IDirect3DCubeTexture8
#define IDirect3DCubeTexture8_METHODS \
/*** IDirect3DCubeTexture8 methods ***/ \
ICOM_METHOD2(HRESULT,GetLevelDesc,UINT, Level,D3DSURFACE_DESC*, pDesc) \
ICOM_METHOD3(HRESULT,GetCubeMapSurface,D3DCUBEMAP_FACES, FaceType,UINT, Level,IDirect3DSurface8**, ppCubeMapSurface) \
ICOM_METHOD5(HRESULT,LockRect,D3DCUBEMAP_FACES, FaceType,UINT, Level,D3DLOCKED_RECT*, pLockedRect,CONST RECT*, pRect,DWORD, Flags) \
ICOM_METHOD2(HRESULT,UnlockRect,D3DCUBEMAP_FACES, FaceType,UINT, Level) \
ICOM_METHOD2(HRESULT,AddDirtyRect,D3DCUBEMAP_FACES, FaceType,CONST RECT*, pDirtyRect) \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; \
STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE; \
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE; \
STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE; \
/*** IDirect3DCubeTexture8 methods ***/
#define IDirect3DCubeTexture8_IMETHODS \
@ -612,7 +612,7 @@ ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
IDirect3DBaseTexture8_METHODS \
IDirect3DCubeTexture8_METHODS
ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DCubeTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -641,14 +641,14 @@ ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
/*****************************************************************************
* IDirect3DTexture8 interface
*/
#define ICOM_INTERFACE IDirect3DTexture8
#define INTERFACE IDirect3DTexture8
#define IDirect3DTexture8_METHODS \
/*** IDirect3DTexture8 methods ***/ \
ICOM_METHOD2(HRESULT,GetLevelDesc,UINT, Level,D3DSURFACE_DESC*, pDesc) \
ICOM_METHOD2(HRESULT,GetSurfaceLevel,UINT, Level,IDirect3DSurface8**, ppSurfaceLevel) \
ICOM_METHOD4(HRESULT,LockRect,UINT, Level,D3DLOCKED_RECT*, pLockedRect,CONST RECT*, pRect,DWORD, Flags) \
ICOM_METHOD1(HRESULT,UnlockRect,UINT, Level) \
ICOM_METHOD1(HRESULT,AddDirtyRect,CONST RECT*, pDirtyRect) \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; \
STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE; \
STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE; \
STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE; \
/*** IDirect3DTexture8 methods ***/
#define IDirect3DTexture8_IMETHODS \
@ -657,7 +657,7 @@ ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
IDirect3DBaseTexture8_METHODS \
IDirect3DTexture8_METHODS
ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirect3DTexture8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -686,14 +686,14 @@ ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
/*****************************************************************************
* IDirect3DVolumeTexture8 interface
*/
#define ICOM_INTERFACE IDirect3DVolumeTexture8
#define INTERFACE IDirect3DVolumeTexture8
#define IDirect3DVolumeTexture8_METHODS \
/*** IDirect3DVolumeTexture8 methods ***/ \
ICOM_METHOD2(HRESULT,GetLevelDesc, UINT, Level,D3DVOLUME_DESC*, pDesc) \
ICOM_METHOD2(HRESULT,GetVolumeLevel, UINT, Level,IDirect3DVolume8**, ppVolumeLevel) \
ICOM_METHOD4(HRESULT,LockBox, UINT, Level,D3DLOCKED_BOX*, pLockedVolume,CONST D3DBOX*, pBox,DWORD, Flags) \
ICOM_METHOD1(HRESULT,UnlockBox, UINT, Level) \
ICOM_METHOD1(HRESULT,AddDirtyBox, CONST D3DBOX*, pDirtyBox)
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE; \
STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE; \
STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE; \
STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE; \
STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX * pDirtyBox) PURE;
/*** IDirect3DVolumeTexture8 methods ***/
#define IDirect3DVolumeTexture8_IMETHODS \
@ -702,7 +702,7 @@ ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
IDirect3DBaseTexture8_METHODS \
IDirect3DVolumeTexture8_METHODS
ICOM_DEFINE(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE ID3DXBuffer
#undef INTERFACE
#define INTERFACE ID3DXBuffer
#define ID3DXBuffer_METHODS \
/*** ID3DXBuffer methods ***/ \
ICOM_METHOD (LPVOID, GetBufferPointer) \
ICOM_METHOD (DWORD, GetBufferSize)
STDMETHOD_(LPVOID,GetBufferPointer)(THIS) PURE; \
STDMETHOD_(DWORD,GetBufferSize)(THIS) PURE;
/*** ID3DXBuffer methods ***/
#define ID3DXBuffer_IMETHODS \
IUnknown_IMETHODS \
ID3DXBuffer_METHODS
ICOM_DEFINE(ID3DXBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define ID3DXBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -80,20 +80,20 @@ ICOM_DEFINE(ID3DXBuffer,IUnknown)
/*****************************************************************************
* ID3DXFont interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE ID3DXFont
#undef INTERFACE
#define INTERFACE ID3DXFont
#define ID3DXFont_METHODS \
/*** ID3DXFont methods ***/ \
ICOM_METHOD (HRESULT, Begin) \
ICOM_METHOD (HRESULT, DrawTextA) \
ICOM_METHOD (HRESULT, End)
STDMETHOD(Begin)(THIS) PURE; \
STDMETHOD(DrawTextA)(THIS) PURE; \
STDMETHOD(End)(THIS) PURE;
/*** ID3DXFont methods ***/
#define ID3DXFont_IMETHODS \
IUnknown_IMETHODS \
ID3DXFont_METHODS
ICOM_DEFINE(ID3DXFont,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define ID3DXFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -1201,17 +1201,17 @@ typedef struct tagDDDEVICEIDENTIFIER2 {
/*****************************************************************************
* IDirectDrawPalette interface
*/
#define ICOM_INTERFACE IDirectDrawPalette
#define INTERFACE IDirectDrawPalette
#define IDirectDrawPalette_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDWORD,lpdwCaps) \
ICOM_METHOD4(HRESULT,GetEntries, DWORD,dwFlags, DWORD,dwBase, DWORD,dwNumEntries, LPPALETTEENTRY,lpEntries) \
ICOM_METHOD3(HRESULT,Initialize, LPDIRECTDRAW,lpDD, DWORD,dwFlags, LPPALETTEENTRY,lpDDColorTable) \
ICOM_METHOD4(HRESULT,SetEntries, DWORD,dwFlags, DWORD,dwStartingEntry, DWORD,dwCount, LPPALETTEENTRY,lpEntries)
STDMETHOD(GetCaps)(THIS_ LPDWORD lpdwCaps) PURE; \
STDMETHOD(GetEntries)(THIS_ DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags, LPPALETTEENTRY lpDDColorTable) PURE; \
STDMETHOD(SetEntries)(THIS_ DWORD dwFlags, DWORD dwStartingEntry, DWORD dwCount, LPPALETTEENTRY lpEntries) PURE;
#define IDirectDrawPalette_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawPalette_METHODS
ICOM_DEFINE(IDirectDrawPalette,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDrawPalette_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1227,19 +1227,19 @@ ICOM_DEFINE(IDirectDrawPalette,IUnknown)
/*****************************************************************************
* IDirectDrawClipper interface
*/
#define ICOM_INTERFACE IDirectDrawClipper
#define INTERFACE IDirectDrawClipper
#define IDirectDrawClipper_METHODS \
ICOM_METHOD3(HRESULT,GetClipList, LPRECT,lpRect, LPRGNDATA,lpClipList, LPDWORD,lpdwSize) \
ICOM_METHOD1(HRESULT,GetHWnd, HWND*,lphWnd) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,IsClipListChanged, BOOL*,lpbChanged) \
ICOM_METHOD2(HRESULT,SetClipList, LPRGNDATA,lpClipList, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,SetHWnd, DWORD,dwFlags, HWND,hWnd)
STDMETHOD(GetClipList)(THIS_ LPRECT lpRect, LPRGNDATA lpClipList, LPDWORD lpdwSize) PURE; \
STDMETHOD(GetHWnd)(THIS_ HWND *lphWnd) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags) PURE; \
STDMETHOD(IsClipListChanged)(THIS_ BOOL *lpbChanged) PURE; \
STDMETHOD(SetClipList)(THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE; \
STDMETHOD(SetHWnd)(THIS_ DWORD dwFlags, HWND hWnd) PURE;
#define IDirectDrawClipper_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawClipper_METHODS
ICOM_DEFINE(IDirectDrawClipper,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDrawClipper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1257,33 +1257,33 @@ ICOM_DEFINE(IDirectDrawClipper,IUnknown)
/*****************************************************************************
* IDirectDraw interface
*/
#define ICOM_INTERFACE IDirectDraw
#define INTERFACE IDirectDraw
#define IDirectDraw_METHODS \
ICOM_METHOD (HRESULT,Compact) \
ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \
ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \
ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE*,lplpDDSurface, IUnknown*,pUnkOuter) \
ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE,lpDDSurface, LPDIRECTDRAWSURFACE*,lplpDupDDSurface) \
ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK,lpEnumModesCallback) \
ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \
ICOM_METHOD (HRESULT,FlipToGDISurface) \
ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \
ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC,lpDDSurfaceDesc) \
ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \
ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE*,lplpGDIDDSurface) \
ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \
ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \
ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \
ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \
ICOM_METHOD (HRESULT,RestoreDisplayMode) \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP) \
ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent)
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE; \
STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE; \
STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(FlipToGDISurface)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE; \
STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP) PURE; \
STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE;
#define IDirectDraw_IMETHODS \
IUnknown_IMETHODS \
IDirectDraw_METHODS
ICOM_DEFINE(IDirectDraw,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
* arguments of SetDisplayMode has changed !
*/
#define ICOM_INTERFACE IDirectDraw2
#define INTERFACE IDirectDraw2
#define IDirectDraw2_METHODS \
/*0c*/ ICOM_METHOD (HRESULT,Compact) \
/*10*/ ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \
/*14*/ ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \
/*18*/ ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE*,lplpDDSurface, IUnknown*,pUnkOuter) \
/*1c*/ ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE,lpDDSurface, LPDIRECTDRAWSURFACE*,lplpDupDDSurface) \
/*20*/ ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK,lpEnumModesCallback) \
/*24*/ ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \
/*28*/ ICOM_METHOD (HRESULT,FlipToGDISurface) \
/*2c*/ ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \
/*30*/ ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC,lpDDSurfaceDesc) \
/*34*/ ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \
/*38*/ ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE*,lplpGDIDDSurface) \
/*3c*/ ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \
/*40*/ ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \
/*44*/ ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \
/*48*/ ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \
/*4c*/ ICOM_METHOD (HRESULT,RestoreDisplayMode) \
/*50*/ ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \
/*54*/ ICOM_METHOD5(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP, DWORD,dwRefreshRate, DWORD,dwFlags) \
/*58*/ ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) \
/*0c*/ STDMETHOD(Compact)(THIS) PURE; \
/*10*/ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE; \
/*20*/ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE; \
/*24*/ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
/*28*/ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*34*/ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE; \
/*3c*/ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* 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 \
IUnknown_IMETHODS \
IDirectDraw2_METHODS
ICOM_DEFINE(IDirectDraw2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDraw2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1391,40 +1391,40 @@ ICOM_DEFINE(IDirectDraw2,IUnknown)
/*****************************************************************************
* IDirectDraw4 interface
*/
#define ICOM_INTERFACE IDirectDraw4
#define INTERFACE IDirectDraw4
#define IDirectDraw4_METHODS \
/*0c*/ ICOM_METHOD (HRESULT,Compact) \
/*10*/ ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \
/*14*/ ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \
/*18*/ ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE4*,lplpDDSurface, IUnknown*,pUnkOuter) \
/*1c*/ ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE4,lpDDSurface, LPDIRECTDRAWSURFACE4*,lplpDupDDSurface) \
/*20*/ ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK2,lpEnumModesCallback) \
/*24*/ ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK2,lpEnumSurfacesCallback) \
/*28*/ ICOM_METHOD (HRESULT,FlipToGDISurface) \
/*2c*/ ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \
/*30*/ ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC2,lpDDSurfaceDesc) \
/*34*/ ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \
/*38*/ ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE4*,lplpGDIDDSurface) \
/*3c*/ ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \
/*40*/ ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \
/*44*/ ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \
/*48*/ ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \
/*4c*/ ICOM_METHOD (HRESULT,RestoreDisplayMode) \
/*50*/ ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \
/*54*/ ICOM_METHOD5(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP, DWORD,dwRefreshRate, DWORD,dwFlags) \
/*58*/ ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) \
/*0c*/ STDMETHOD(Compact)(THIS) PURE; \
/*10*/ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE4 *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSurface, LPDIRECTDRAWSURFACE4 *lplpDupDDSurface) PURE; \
/*20*/ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback) PURE; \
/*24*/ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK2 lpEnumSurfacesCallback) PURE; \
/*28*/ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
/*34*/ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 *lplpGDIDDSurface) PURE; \
/*3c*/ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* 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 */ \
ICOM_METHOD2(HRESULT,GetSurfaceFromDC, HDC,hdc, LPDIRECTDRAWSURFACE4*,pSurf) \
ICOM_METHOD (HRESULT,RestoreAllSurfaces) \
ICOM_METHOD (HRESULT,TestCooperativeLevel) \
ICOM_METHOD2(HRESULT,GetDeviceIdentifier, LPDDDEVICEIDENTIFIER,pDDDI, DWORD,dwFlags)
/*60*/ STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE4 *pSurf) PURE; \
/*64*/ STDMETHOD(RestoreAllSurfaces)(THIS) PURE; \
/*68*/ STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
/*6c*/ STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER pDDDI, DWORD dwFlags) PURE;
#define IDirectDraw4_IMETHODS \
IUnknown_IMETHODS \
IDirectDraw4_METHODS
ICOM_DEFINE(IDirectDraw4,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
* as not interchangeable with earlier DirectDraw interfaces.
*/
#define ICOM_INTERFACE IDirectDraw7
#define INTERFACE IDirectDraw7
#define IDirectDraw7_METHODS \
/*0c*/ ICOM_METHOD (HRESULT,Compact) \
/*10*/ ICOM_METHOD3(HRESULT,CreateClipper, DWORD,dwFlags, LPDIRECTDRAWCLIPPER*,lplpDDClipper, IUnknown*,pUnkOuter) \
/*14*/ ICOM_METHOD4(HRESULT,CreatePalette, DWORD,dwFlags, LPPALETTEENTRY,lpColorTable, LPDIRECTDRAWPALETTE*,lplpDDPalette, IUnknown*,pUnkOuter) \
/*18*/ ICOM_METHOD3(HRESULT,CreateSurface, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPDIRECTDRAWSURFACE7*,lplpDDSurface, IUnknown*,pUnkOuter) \
/*1c*/ ICOM_METHOD2(HRESULT,DuplicateSurface, LPDIRECTDRAWSURFACE7,lpDDSurface, LPDIRECTDRAWSURFACE7*,lplpDupDDSurface) \
/*20*/ ICOM_METHOD4(HRESULT,EnumDisplayModes, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSurfaceDesc, LPVOID,lpContext, LPDDENUMMODESCALLBACK2,lpEnumModesCallback) \
/*24*/ ICOM_METHOD4(HRESULT,EnumSurfaces, DWORD,dwFlags, LPDDSURFACEDESC2,lpDDSD, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK7,lpEnumSurfacesCallback) \
/*28*/ ICOM_METHOD (HRESULT,FlipToGDISurface) \
/*2c*/ ICOM_METHOD2(HRESULT,GetCaps, LPDDCAPS,lpDDDriverCaps, LPDDCAPS,lpDDHELCaps) \
/*30*/ ICOM_METHOD1(HRESULT,GetDisplayMode, LPDDSURFACEDESC2,lpDDSurfaceDesc) \
/*34*/ ICOM_METHOD2(HRESULT,GetFourCCCodes, LPDWORD,lpNumCodes, LPDWORD,lpCodes) \
/*38*/ ICOM_METHOD1(HRESULT,GetGDISurface, LPDIRECTDRAWSURFACE7*,lplpGDIDDSurface) \
/*3c*/ ICOM_METHOD1(HRESULT,GetMonitorFrequency, LPDWORD,lpdwFrequency) \
/*40*/ ICOM_METHOD1(HRESULT,GetScanLine, LPDWORD,lpdwScanLine) \
/*44*/ ICOM_METHOD1(HRESULT,GetVerticalBlankStatus, BOOL*,lpbIsInVB) \
/*48*/ ICOM_METHOD1(HRESULT,Initialize, GUID*,lpGUID) \
/*4c*/ ICOM_METHOD (HRESULT,RestoreDisplayMode) \
/*50*/ ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hWnd, DWORD,dwFlags) \
/*54*/ ICOM_METHOD5(HRESULT,SetDisplayMode, DWORD,dwWidth, DWORD,dwHeight, DWORD,dwBPP, DWORD,dwRefreshRate, DWORD,dwFlags) \
/*58*/ ICOM_METHOD2(HRESULT,WaitForVerticalBlank, DWORD,dwFlags, HANDLE,hEvent) \
/*0c*/ STDMETHOD(Compact)(THIS) PURE; \
/*10*/ STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/ STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/ STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE7 *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/ STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSurface, LPDIRECTDRAWSURFACE7 *lplpDupDDSurface) PURE; \
/*20*/ STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback) PURE; \
/*24*/ STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE; \
/*28*/ STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/ STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/ STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
/*34*/ STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/ STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE7 *lplpGDIDDSurface) PURE; \
/*3c*/ STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/ STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/ STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/ STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/ STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/ STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/ STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* 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 */ \
/*60*/ ICOM_METHOD2(HRESULT,GetSurfaceFromDC, HDC,hdc, LPDIRECTDRAWSURFACE7*,pSurf) \
/*64*/ ICOM_METHOD (HRESULT,RestoreAllSurfaces) \
/*68*/ ICOM_METHOD (HRESULT,TestCooperativeLevel) \
/*6c*/ ICOM_METHOD2(HRESULT,GetDeviceIdentifier, LPDDDEVICEIDENTIFIER2,pDDDI, DWORD,dwFlags) \
/*60*/ STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE7 *pSurf) PURE; \
/*64*/ STDMETHOD(RestoreAllSurfaces)(THIS) PURE; \
/*68*/ STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
/*6c*/ STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER2 pDDDI, DWORD dwFlags) PURE; \
/* added in v7 */ \
/*70*/ ICOM_METHOD3(HRESULT,StartModeTest, LPSIZE,pModes, DWORD,dwNumModes, DWORD,dwFlags) \
/*74*/ ICOM_METHOD2(HRESULT,EvaluateMode, DWORD,dwFlags, DWORD *,pTimeout)
/*70*/ STDMETHOD(StartModeTest)(THIS_ LPSIZE pModes, DWORD dwNumModes, DWORD dwFlags) PURE; \
/*74*/ STDMETHOD(EvaluateMode)(THIS_ DWORD dwFlags, DWORD *pTimeout) PURE;
#define IDirectDraw7_IMETHODS \
IUnknown_IMETHODS \
IDirectDraw7_METHODS
ICOM_DEFINE(IDirectDraw7,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDraw7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1544,46 +1544,46 @@ ICOM_DEFINE(IDirectDraw7,IUnknown)
/*****************************************************************************
* IDirectDrawSurface interface
*/
#define ICOM_INTERFACE IDirectDrawSurface
#define INTERFACE IDirectDrawSurface
#define IDirectDrawSurface_METHODS \
/*0c*/ ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE,lpDDSAttachedSurface) \
/*10*/ ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \
/*14*/ ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \
/*18*/ ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \
/*1c*/ ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \
/*20*/ ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE,lpDDSAttachedSurface) \
/*24*/ ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \
/*28*/ ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \
/*2c*/ ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE,lpDDSurfaceTargetOverride, DWORD,dwFlags) \
/*30*/ ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS,lpDDSCaps, LPDIRECTDRAWSURFACE*,lplpDDAttachedSurface) \
/*34*/ ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \
/*38*/ ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS,lpDDSCaps) \
/*3c*/ ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \
/*40*/ ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
/*44*/ ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \
/*48*/ ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \
/*4c*/ ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \
/*50*/ ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \
/*54*/ ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \
/*58*/ ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC,lpDDSurfaceDesc) \
/*5c*/ ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC,lpDDSurfaceDesc) \
/*60*/ ICOM_METHOD (HRESULT,IsLost) \
/*64*/ ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \
/*68*/ ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \
/*6c*/ ICOM_METHOD (HRESULT,Restore) \
/*70*/ ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \
/*74*/ ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
/*78*/ ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \
/*7c*/ ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \
/*80*/ ICOM_METHOD1(HRESULT,Unlock, LPVOID,lpSurfaceData) \
/*84*/ ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \
/*88*/ ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \
/*8c*/ ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE,lpDDSReference)
/*0c*/ STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSAttachedSurface) PURE; \
/*10*/ STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
/*14*/ STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
/*18*/ STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
/*1c*/ STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
/*20*/ STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSAttachedSurface) PURE; \
/*24*/ STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
/*28*/ STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
/*2c*/ STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
/*30*/ STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE *lplpDDAttachedSurface) PURE; \
/*34*/ STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
/*38*/ STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
/*3c*/ STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
/*40*/ STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
/*44*/ STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
/*48*/ STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
/*4c*/ STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
/*50*/ STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
/*54*/ STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
/*58*/ STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*5c*/ STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*60*/ STDMETHOD(IsLost)(THIS) PURE; \
/*64*/ STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
/*68*/ STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
/*6c*/ STDMETHOD(Restore)(THIS) PURE; \
/*70*/ STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
/*74*/ STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
/*78*/ STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
/*7c*/ STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
/*80*/ STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
/*84*/ STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
/*88*/ STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
/*8c*/ STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSReference) PURE;
#define IDirectDrawSurface_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawSurface_METHODS
ICOM_DEFINE(IDirectDrawSurface,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
* have been converted to LPDIRECTDRAWSURFACE2.
*/
#define ICOM_INTERFACE IDirectDrawSurface2
#define INTERFACE IDirectDrawSurface2
#define IDirectDrawSurface2_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE2,lpDDSAttachedSurface) \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE2,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE2,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE2,lpDDSAttachedSurface) \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE2,lpDDSurfaceTargetOverride, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS,lpDDSCaps, LPDIRECTDRAWSURFACE2*,lplpDDAttachedSurface) \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS,lpDDSCaps) \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC,lpDDSurfaceDesc) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC,lpDDSurfaceDesc) \
ICOM_METHOD (HRESULT,IsLost) \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \
ICOM_METHOD (HRESULT,Restore) \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \
ICOM_METHOD1(HRESULT,Unlock, LPVOID,lpSurfaceData) \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE2,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE2,lpDDSReference) \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE2 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE2 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE2 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE2 lpDDSReference) PURE; \
/* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags)
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE;
#define IDirectDrawSurface2_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawSurface2_METHODS
ICOM_DEFINE(IDirectDrawSurface2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
* have been converted to LPDIRECTDRAWSURFACE3.
*/
#define ICOM_INTERFACE IDirectDrawSurface3
#define INTERFACE IDirectDrawSurface3
#define IDirectDrawSurface3_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE3,lpDDSAttachedSurface) \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE3,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE3,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE3,lpDDSAttachedSurface) \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE3,lpDDSurfaceTargetOverride, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS,lpDDSCaps, LPDIRECTDRAWSURFACE3*,lplpDDAttachedSurface) \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS,lpDDSCaps) \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC,lpDDSurfaceDesc) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC,lpDDSurfaceDesc) \
ICOM_METHOD (HRESULT,IsLost) \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \
ICOM_METHOD (HRESULT,Restore) \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \
ICOM_METHOD1(HRESULT,Unlock, LPVOID,lpSurfaceData) \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE3,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE3,lpDDSReference) \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE3 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE3 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE3 lpDDSReference) PURE; \
/* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) \
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \
ICOM_METHOD2(HRESULT,SetSurfaceDesc, LPDDSURFACEDESC,lpDDSD, DWORD,dwFlags)
STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSD, DWORD dwFlags) PURE;
#define IDirectDrawSurface3_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawSurface3_METHODS
ICOM_DEFINE(IDirectDrawSurface3,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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.
*/
#define ICOM_INTERFACE IDirectDrawSurface4
#define INTERFACE IDirectDrawSurface4
#define IDirectDrawSurface4_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE4,lpDDSAttachedSurface) \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE4,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE4,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE4,lpDDSAttachedSurface) \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpEnumSurfacesCallback) \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK,lpfnCallback) \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE4,lpDDSurfaceTargetOverride, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS2,lpDDSCaps, LPDIRECTDRAWSURFACE4*,lplpDDAttachedSurface) \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS2,lpDDSCaps) \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC2,lpDDSurfaceDesc) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC2,lpDDSurfaceDesc) \
ICOM_METHOD (HRESULT,IsLost) \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC2,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \
ICOM_METHOD (HRESULT,Restore) \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \
ICOM_METHOD1(HRESULT,Unlock, LPRECT,lpSurfaceData) \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE4,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE4,lpDDSReference) \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2 lpDDSCaps, LPDIRECTDRAWSURFACE4 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2 lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPRECT lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE4 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE4 lpDDSReference) PURE; \
/* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) \
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \
ICOM_METHOD2(HRESULT,SetSurfaceDesc, LPDDSURFACEDESC2,lpDDSD, DWORD,dwFlags) \
STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSD, DWORD dwFlags) PURE; \
/* added in v4 */ \
ICOM_METHOD4(HRESULT,SetPrivateData, REFGUID,tag, LPVOID,pData, DWORD,cbSize, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,GetPrivateData, REFGUID,tag, LPVOID,pBuffer, LPDWORD,pcbBufferSize) \
ICOM_METHOD1(HRESULT,FreePrivateData, REFGUID,tag) \
ICOM_METHOD1(HRESULT,GetUniquenessValue, LPDWORD,pValue) \
ICOM_METHOD (HRESULT,ChangeUniquenessValue)
STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE; \
STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE; \
STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
#define IDirectDrawSurface4_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawSurface4_METHODS
ICOM_DEFINE(IDirectDrawSurface4,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDrawSurface4_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1932,63 +1932,63 @@ ICOM_DEFINE(IDirectDrawSurface4,IUnknown)
/*****************************************************************************
* IDirectDrawSurface7 interface
*/
#define ICOM_INTERFACE IDirectDrawSurface7
#define INTERFACE IDirectDrawSurface7
#define IDirectDrawSurface7_METHODS \
ICOM_METHOD1(HRESULT,AddAttachedSurface, LPDIRECTDRAWSURFACE7,lpDDSAttachedSurface) \
ICOM_METHOD1(HRESULT,AddOverlayDirtyRect, LPRECT,lpRect) \
ICOM_METHOD5(HRESULT,Blt, LPRECT,lpDestRect, LPDIRECTDRAWSURFACE7,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwFlags, LPDDBLTFX,lpDDBltFx) \
ICOM_METHOD3(HRESULT,BltBatch, LPDDBLTBATCH,lpDDBltBatch, DWORD,dwCount, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,BltFast, DWORD,dwX, DWORD,dwY, LPDIRECTDRAWSURFACE7,lpDDSrcSurface, LPRECT,lpSrcRect, DWORD,dwTrans) \
ICOM_METHOD2(HRESULT,DeleteAttachedSurface, DWORD,dwFlags, LPDIRECTDRAWSURFACE7,lpDDSAttachedSurface) \
ICOM_METHOD2(HRESULT,EnumAttachedSurfaces, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK7,lpEnumSurfacesCallback) \
ICOM_METHOD3(HRESULT,EnumOverlayZOrders, DWORD,dwFlags, LPVOID,lpContext, LPDDENUMSURFACESCALLBACK7,lpfnCallback) \
ICOM_METHOD2(HRESULT,Flip, LPDIRECTDRAWSURFACE7,lpDDSurfaceTargetOverride, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetAttachedSurface, LPDDSCAPS2,lpDDSCaps, LPDIRECTDRAWSURFACE7*,lplpDDAttachedSurface) \
ICOM_METHOD1(HRESULT,GetBltStatus, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetCaps, LPDDSCAPS2,lpDDSCaps) \
ICOM_METHOD1(HRESULT,GetClipper, LPDIRECTDRAWCLIPPER*,lplpDDClipper) \
ICOM_METHOD2(HRESULT,GetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD1(HRESULT,GetDC, HDC*,lphDC) \
ICOM_METHOD1(HRESULT,GetFlipStatus, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetOverlayPosition, LPLONG,lplX, LPLONG,lplY) \
ICOM_METHOD1(HRESULT,GetPalette, LPDIRECTDRAWPALETTE*,lplpDDPalette) \
ICOM_METHOD1(HRESULT,GetPixelFormat, LPDDPIXELFORMAT,lpDDPixelFormat) \
ICOM_METHOD1(HRESULT,GetSurfaceDesc, LPDDSURFACEDESC2,lpDDSurfaceDesc) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTDRAW,lpDD, LPDDSURFACEDESC2,lpDDSurfaceDesc) \
ICOM_METHOD (HRESULT,IsLost) \
ICOM_METHOD4(HRESULT,Lock, LPRECT,lpDestRect, LPDDSURFACEDESC2,lpDDSurfaceDesc, DWORD,dwFlags, HANDLE,hEvent) \
ICOM_METHOD1(HRESULT,ReleaseDC, HDC,hDC) \
ICOM_METHOD (HRESULT,Restore) \
ICOM_METHOD1(HRESULT,SetClipper, LPDIRECTDRAWCLIPPER,lpDDClipper) \
ICOM_METHOD2(HRESULT,SetColorKey, DWORD,dwFlags, LPDDCOLORKEY,lpDDColorKey) \
ICOM_METHOD2(HRESULT,SetOverlayPosition, LONG,lX, LONG,lY) \
ICOM_METHOD1(HRESULT,SetPalette, LPDIRECTDRAWPALETTE,lpDDPalette) \
ICOM_METHOD1(HRESULT,Unlock, LPRECT,lpSurfaceData) \
ICOM_METHOD5(HRESULT,UpdateOverlay, LPRECT,lpSrcRect, LPDIRECTDRAWSURFACE7,lpDDDestSurface, LPRECT,lpDestRect, DWORD,dwFlags, LPDDOVERLAYFX,lpDDOverlayFx) \
ICOM_METHOD1(HRESULT,UpdateOverlayDisplay, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,UpdateOverlayZOrder, DWORD,dwFlags, LPDIRECTDRAWSURFACE7,lpDDSReference) \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE7 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2 lpDDSCaps, LPDIRECTDRAWSURFACE7 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2 lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPRECT lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE7 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE7 lpDDSReference) PURE; \
/* added in v2 */ \
ICOM_METHOD1(HRESULT,GetDDInterface, LPVOID*,lplpDD) \
ICOM_METHOD1(HRESULT,PageLock, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,PageUnlock, DWORD,dwFlags) \
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \
ICOM_METHOD2(HRESULT,SetSurfaceDesc, LPDDSURFACEDESC2,lpDDSD, DWORD,dwFlags) \
STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSD, DWORD dwFlags) PURE; \
/* added in v4 */ \
ICOM_METHOD4(HRESULT,SetPrivateData, REFGUID,tag, LPVOID,pData, DWORD,cbSize, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,GetPrivateData, REFGUID,tag, LPVOID,pBuffer, LPDWORD,pcbBufferSize) \
ICOM_METHOD1(HRESULT,FreePrivateData, REFGUID,tag) \
ICOM_METHOD1(HRESULT,GetUniquenessValue, LPDWORD,pValue) \
ICOM_METHOD (HRESULT,ChangeUniquenessValue) \
STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE; \
STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE; \
STDMETHOD(ChangeUniquenessValue)(THIS) PURE; \
/* added in v7 */ \
ICOM_METHOD1(HRESULT,SetPriority, DWORD,prio) \
ICOM_METHOD1(HRESULT,GetPriority, LPDWORD,prio) \
ICOM_METHOD1(HRESULT,SetLOD, DWORD,lod) \
ICOM_METHOD1(HRESULT,GetLOD, LPDWORD,lod)
STDMETHOD(SetPriority)(THIS_ DWORD prio) PURE; \
STDMETHOD(GetPriority)(THIS_ LPDWORD prio) PURE; \
STDMETHOD(SetLOD)(THIS_ DWORD lod) PURE; \
STDMETHOD(GetLOD)(THIS_ LPDWORD lod) PURE;
#define IDirectDrawSurface7_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawSurface7_METHODS
ICOM_DEFINE(IDirectDrawSurface7,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDrawSurface7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -2049,15 +2049,15 @@ ICOM_DEFINE(IDirectDrawSurface7,IUnknown)
/*****************************************************************************
* IDirectDrawColorControl interface
*/
#define ICOM_INTERFACE IDirectDrawColorControl
#define INTERFACE IDirectDrawColorControl
#define IDirectDrawColorControl_METHODS \
ICOM_METHOD1(HRESULT,GetColorControls, LPDDCOLORCONTROL,lpColorControl) \
ICOM_METHOD1(HRESULT,SetColorControls, LPDDCOLORCONTROL,lpColorControl)
STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE; \
STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE;
#define IDirectDrawColorControl_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawColorControl_METHODS
ICOM_DEFINE(IDirectDrawColorControl,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectDrawColorControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -2070,15 +2070,15 @@ ICOM_DEFINE(IDirectDrawColorControl,IUnknown)
/*****************************************************************************
* IDirectDrawGammaControl interface
*/
#define ICOM_INTERFACE IDirectDrawGammaControl
#define INTERFACE IDirectDrawGammaControl
#define IDirectDrawGammaControl_METHODS \
ICOM_METHOD2(HRESULT,GetGammaRamp, DWORD,dwFlags, LPDDGAMMARAMP,lpGammaRamp) \
ICOM_METHOD2(HRESULT,SetGammaRamp, DWORD,dwFlags, LPDDGAMMARAMP,lpGammaRamp)
STDMETHOD(GetGammaRamp)(THIS_ DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp) PURE; \
STDMETHOD(SetGammaRamp)(THIS_ DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp) PURE;
#define IDirectDrawGammaControl_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawGammaControl_METHODS
ICOM_DEFINE(IDirectDrawGammaControl,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IDirectInputEffect
#define INTERFACE IDirectInputEffect
#define IDirectInputEffect_METHODS \
ICOM_METHOD3(HRESULT,Initialize, HINSTANCE,, DWORD,, REFGUID,) \
ICOM_METHOD1(HRESULT,GetEffectGuid, LPGUID,) \
ICOM_METHOD2(HRESULT,GetParameters, LPDIEFFECT,, DWORD,) \
ICOM_METHOD2(HRESULT,SetParameters, LPCDIEFFECT,, DWORD,) \
ICOM_METHOD2(HRESULT,Start, DWORD,, DWORD,) \
ICOM_METHOD (HRESULT,Stop) \
ICOM_METHOD1(HRESULT,GetEffectStatus, LPDWORD,) \
ICOM_METHOD (HRESULT,Download) \
ICOM_METHOD (HRESULT,Unload) \
ICOM_METHOD1(HRESULT,Escape, LPDIEFFESCAPE,)
STDMETHOD(Initialize)(THIS_ HINSTANCE, DWORD, REFGUID) PURE; \
STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE; \
STDMETHOD(GetParameters)(THIS_ LPDIEFFECT, DWORD) PURE; \
STDMETHOD(SetParameters)(THIS_ LPCDIEFFECT, DWORD) PURE; \
STDMETHOD(Start)(THIS_ DWORD, DWORD) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(GetEffectStatus)(THIS_ LPDWORD) PURE; \
STDMETHOD(Download)(THIS) PURE; \
STDMETHOD(Unload)(THIS) PURE; \
STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE) PURE;
#define IDirectInputEffect_IMETHODS \
IUnknown_IMETHODS \
IDirectInputEffect_METHODS
ICOM_DEFINE(IDirectInputEffect,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInputEffect_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1086,28 +1086,28 @@ ICOM_DEFINE(IDirectInputEffect,IUnknown)
/*****************************************************************************
* IDirectInputDeviceA interface
*/
#define ICOM_INTERFACE IDirectInputDeviceA
#define INTERFACE IDirectInputDeviceA
#define IDirectInputDeviceA_METHODS \
ICOM_METHOD1(HRESULT,GetCapabilities, LPDIDEVCAPS,lpDIDevCaps) \
ICOM_METHOD3(HRESULT,EnumObjects, LPDIENUMDEVICEOBJECTSCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetProperty, REFGUID,rguidProp, LPDIPROPHEADER,pdiph) \
ICOM_METHOD2(HRESULT,SetProperty, REFGUID,rguidProp, LPCDIPROPHEADER,pdiph) \
ICOM_METHOD (HRESULT,Acquire) \
ICOM_METHOD (HRESULT,Unacquire) \
ICOM_METHOD2(HRESULT,GetDeviceState, DWORD,cbData, LPVOID,lpvData) \
ICOM_METHOD4(HRESULT,GetDeviceData, DWORD,cbObjectData, LPDIDEVICEOBJECTDATA,rgdod, LPDWORD,pdwInOut, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,SetDataFormat, LPCDIDATAFORMAT,lpdf) \
ICOM_METHOD1(HRESULT,SetEventNotification, HANDLE,hEvent) \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hwnd, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,GetObjectInfo, LPDIDEVICEOBJECTINSTANCEA,pdidoi, DWORD,dwObj, DWORD,dwHow) \
ICOM_METHOD1(HRESULT,GetDeviceInfo, LPDIDEVICEINSTANCEA,pdidi) \
ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion, REFGUID,rguid)
STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE; \
STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE; \
STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE; \
STDMETHOD(Acquire)(THIS) PURE; \
STDMETHOD(Unacquire)(THIS) PURE; \
STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE; \
STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE; \
STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE; \
STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE; \
STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE; \
STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion, REFGUID rguid) PURE;
#define IDirectInputDeviceA_IMETHODS \
IUnknown_IMETHODS \
IDirectInputDeviceA_METHODS
ICOM_DEFINE(IDirectInputDeviceA,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInputDevice_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1134,22 +1134,22 @@ ICOM_DEFINE(IDirectInputDeviceA,IUnknown)
/*****************************************************************************
* IDirectInputDevice2A interface
*/
#define ICOM_INTERFACE IDirectInputDevice2A
#define INTERFACE IDirectInputDevice2A
#define IDirectInputDevice2A_METHODS \
ICOM_METHOD4(HRESULT,CreateEffect, REFGUID,rguid, LPCDIEFFECT,lpeff, LPDIRECTINPUTEFFECT*,ppdeff, LPUNKNOWN,punkOuter) \
ICOM_METHOD3(HRESULT,EnumEffects, LPDIENUMEFFECTSCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwEffType) \
ICOM_METHOD2(HRESULT,GetEffectInfo, LPDIEFFECTINFOA,pdei, REFGUID,rguid) \
ICOM_METHOD1(HRESULT,GetForceFeedbackState, LPDWORD,pdwOut) \
ICOM_METHOD1(HRESULT,SendForceFeedbackCommand, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,EnumCreatedEffectObjects, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK,lpCallback, LPVOID,pvRef, DWORD,fl) \
ICOM_METHOD1(HRESULT,Escape, LPDIEFFESCAPE,pesc) \
ICOM_METHOD (HRESULT,Poll) \
ICOM_METHOD4(HRESULT,SendDeviceData, DWORD,cbObjectData, LPCDIDEVICEOBJECTDATA,rgdod, LPDWORD,pdwInOut, DWORD,fl)
STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE; \
STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwEffType) PURE; \
STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA pdei, REFGUID rguid) PURE; \
STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE; \
STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE; \
STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE; \
STDMETHOD(Poll)(THIS) PURE; \
STDMETHOD(SendDeviceData)(THIS_ DWORD cbObjectData, LPCDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD fl) PURE;
#define IDirectInputDevice2A_IMETHODS \
IDirectInputDeviceA_IMETHODS \
IDirectInputDevice2A_METHODS
ICOM_DEFINE(IDirectInputDevice2A,IDirectInputDeviceA)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInputDevice2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1186,15 +1186,15 @@ ICOM_DEFINE(IDirectInputDevice2A,IDirectInputDeviceA)
/*****************************************************************************
* IDirectInputDevice7A interface
*/
#define ICOM_INTERFACE IDirectInputDevice7A
#define INTERFACE IDirectInputDevice7A
#define IDirectInputDevice7A_METHODS \
ICOM_METHOD4(HRESULT,EnumEffectsInFile,LPCSTR,lpszFileName,LPDIENUMEFFECTSINFILECALLBACK,pec,LPVOID,pvRef,DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,WriteEffectToFile,LPCSTR,lpszFileName,DWORD,dwEntries,LPDIFILEEFFECT,rgDiFileEft,DWORD,dwFlags)
STDMETHOD(EnumEffectsInFile)(THIS_ LPCSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE; \
STDMETHOD(WriteEffectToFile)(THIS_ LPCSTR lpszFileName,DWORD dwEntries,LPDIFILEEFFECT rgDiFileEft,DWORD dwFlags) PURE;
#define IDirectInputDevice7A_IMETHODS \
IDirectInputDevice2A_IMETHODS \
IDirectInputDevice7A_METHODS
ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInputDevice7_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1235,16 +1235,16 @@ ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A)
/*****************************************************************************
* IDirectInputDevice8A interface
*/
#define ICOM_INTERFACE IDirectInputDevice8A
#define INTERFACE IDirectInputDevice8A
#define IDirectInputDevice8A_METHODS \
ICOM_METHOD3(HRESULT,BuildActionMap, LPDIACTIONFORMATA,lpdiaf, LPCSTR,lpszUserName, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,SetActionMap, LPDIACTIONFORMATA,lpdiaf, LPCSTR,lpszUserName, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetImageInfo, LPDIDEVICEIMAGEINFOHEADERA,lpdiDevImageInfoHeader)
STDMETHOD(BuildActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE; \
STDMETHOD(SetActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE; \
STDMETHOD(GetImageInfo)(THIS_ LPDIDEVICEIMAGEINFOHEADERA lpdiDevImageInfoHeader) PURE;
#define IDirectInputDevice8A_IMETHODS \
IDirectInputDevice7A_IMETHODS \
IDirectInputDevice8A_METHODS
ICOM_DEFINE(IDirectInputDevice8A,IDirectInputDevice7A)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInputDevice8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1324,18 +1324,18 @@ extern const DIDATAFORMAT c_dfDIJoystick2;
/*****************************************************************************
* IDirectInputA interface
*/
#define ICOM_INTERFACE IDirectInputA
#define INTERFACE IDirectInputA
#define IDirectInputA_METHODS \
ICOM_METHOD3(HRESULT,CreateDevice, REFGUID,rguid, LPDIRECTINPUTDEVICEA*,lplpDirectInputDevice, LPUNKNOWN,pUnkOuter) \
ICOM_METHOD4(HRESULT,EnumDevices, DWORD,dwDevType, LPDIENUMDEVICESCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetDeviceStatus, REFGUID,rguidInstance) \
ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion)
STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEA *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE;
#define IDirectInputA_IMETHODS \
IUnknown_IMETHODS \
IDirectInputA_METHODS
ICOM_DEFINE(IDirectInputA,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInputA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1351,14 +1351,14 @@ ICOM_DEFINE(IDirectInputA,IUnknown)
/*****************************************************************************
* IDirectInput2A interface
*/
#define ICOM_INTERFACE IDirectInput2A
#define INTERFACE IDirectInput2A
#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 \
IDirectInputA_IMETHODS \
IDirectInput2A_METHODS
ICOM_DEFINE(IDirectInput2A,IDirectInputA)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInput2A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1377,14 +1377,14 @@ ICOM_DEFINE(IDirectInput2A,IDirectInputA)
/*****************************************************************************
* IDirectInput7A interface
*/
#define ICOM_INTERFACE IDirectInput7A
#define INTERFACE IDirectInput7A
#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 \
IDirectInput2A_IMETHODS \
IDirectInput7A_METHODS
ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectInput7A_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1406,21 +1406,21 @@ ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
/*****************************************************************************
* IDirectInput8A interface
*/
#define ICOM_INTERFACE IDirectInput8A
#define INTERFACE IDirectInput8A
#define IDirectInput8A_METHODS \
ICOM_METHOD3(HRESULT,CreateDevice, REFGUID,rguid, LPDIRECTINPUTDEVICE8A*,lplpDirectInputDevice, LPUNKNOWN,pUnkOuter) \
ICOM_METHOD4(HRESULT,EnumDevices, DWORD,dwDevType, LPDIENUMDEVICESCALLBACKA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetDeviceStatus, REFGUID,rguidInstance) \
ICOM_METHOD2(HRESULT,RunControlPanel, HWND,hwndOwner, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,Initialize, HINSTANCE,hinst, DWORD,dwVersion) \
ICOM_METHOD3(HRESULT,FindDevice, REFGUID,rguid, LPCSTR,pszName, LPGUID,pguidInstance) \
ICOM_METHOD5(HRESULT,EnumDevicesBySemantics, LPCSTR,ptszUserName, LPDIACTIONFORMATA,lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA,lpCallback, LPVOID,pvRef, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,ConfigureDevices,LPDICONFIGUREDEVICESCALLBACK,lpdiCallback, LPDICONFIGUREDEVICESPARAMSA,lpdiCDParams, DWORD,dwFlags, LPVOID,pvRefData)
STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICE8A *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE; \
STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE; \
STDMETHOD(EnumDevicesBySemantics)(THIS_ LPCSTR ptszUserName, LPDIACTIONFORMATA lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(ConfigureDevices)(THIS_ LPDICONFIGUREDEVICESCALLBACK lpdiCallback, LPDICONFIGUREDEVICESPARAMSA lpdiCDParams, DWORD dwFlags, LPVOID pvRefData) PURE;
#define IDirectInput8A_IMETHODS \
IUnknown_IMETHODS \
IDirectInput8A_METHODS
ICOM_DEFINE(IDirectInput8A,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicTool
#undef INTERFACE
#define INTERFACE IDirectMusicTool
#define IDirectMusicTool_METHODS \
/*** IDirectMusicTool methods ***/ \
ICOM_METHOD1(HRESULT, Init, IDirectMusicGraph*,pGraph) \
ICOM_METHOD1(HRESULT, GetMsgDeliveryType, DWORD*,pdwDeliveryType) \
ICOM_METHOD1(HRESULT, GetMediaTypeArraySize, DWORD*,pdwNumElements) \
ICOM_METHOD2(HRESULT, GetMediaTypes, DWORD**,padwMediaTypes, DWORD,dwNumElements) \
ICOM_METHOD2(HRESULT, ProcessPMsg, IDirectMusicPerformance*,pPerf, DMUS_PMSG*,pPMSG) \
ICOM_METHOD3(HRESULT, Flush, IDirectMusicPerformance*,pPerf, DMUS_PMSG*,pPMSG, REFERENCE_TIME,rtTime)
STDMETHOD(Init)(THIS_ IDirectMusicGraph *pGraph) PURE; \
STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE; \
STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE; \
STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE; \
STDMETHOD(ProcessPMsg)(THIS_ IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(Flush)(THIS_ IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG, REFERENCE_TIME rtTime) PURE;
/*** IDirectMusicTool methods ***/
#define IDirectMusicTool_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicTool_METHODS
ICOM_DEFINE(IDirectMusicTool,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicTool_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -98,11 +98,11 @@ ICOM_DEFINE(IDirectMusicTool,IUnknown)
/*****************************************************************************
* IDirectMusicTool8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicTool8
#undef INTERFACE
#define INTERFACE IDirectMusicTool8
#define IDirectMusicTool8_METHODS \
/*** IDirectMusicTool8 methods ***/ \
ICOM_METHOD1(HRESULT, Clone, IDirectMusicTool**,ppTool)
STDMETHOD(Clone)(THIS_ IDirectMusicTool **ppTool) PURE;
/*** IDirectMusicTool8 methods ***/
#define IDirectMusicTool8_IMETHODS \
@ -110,7 +110,7 @@ ICOM_DEFINE(IDirectMusicTool,IUnknown)
IDirectMusicTool_METHODS \
IDirectMusicTool8_METHODS
ICOM_DEFINE(IDirectMusicTool8,IDirectMusicTool)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicTool8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -149,27 +149,27 @@ typedef enum enumDMUS_TRACKF_FLAGS
/*****************************************************************************
* IDirectMusicTrack interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicTrack
#undef INTERFACE
#define INTERFACE IDirectMusicTrack
#define IDirectMusicTrack_METHODS \
/*** IDirectMusicTrack methods ***/ \
ICOM_METHOD1(HRESULT, Init, IDirectMusicSegment*,pSegment) \
ICOM_METHOD5(HRESULT, InitPlay, IDirectMusicSegmentState*,pSegmentState, IDirectMusicPerformance*,pPerformance, void**,ppStateData, DWORD,dwVirtualTrackID, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT, EndPlay, void*,pStateData) \
ICOM_METHOD8(HRESULT, Play, void*,pStateData, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd, MUSIC_TIME,mtOffset, DWORD,dwFlags, IDirectMusicPerformance*,pPerf, IDirectMusicSegmentState*,pSegSt, DWORD,dwVirtualID) \
ICOM_METHOD4(HRESULT, GetParam, REFGUID,rguidType, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \
ICOM_METHOD3(HRESULT, SetParam, REFGUID,rguidType, MUSIC_TIME,mtTime, void*,pParam) \
ICOM_METHOD1(HRESULT, IsParamSupported, REFGUID,rguidType) \
ICOM_METHOD1(HRESULT, AddNotificationType, REFGUID,rguidNotificationType) \
ICOM_METHOD1(HRESULT, RemoveNotificationType, REFGUID,rguidNotificationType) \
ICOM_METHOD3(HRESULT, Clone, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd, IDirectMusicTrack**,ppTrack)
STDMETHOD(Init)(THIS_ IDirectMusicSegment *pSegment) PURE; \
STDMETHOD(InitPlay)(THIS_ IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE; \
STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE; \
STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE; \
STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE; \
STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack) PURE;
/*** IDirectMusicTrack methods ***/
#define IDirectMusicTrack_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicTrack_METHODS
ICOM_DEFINE(IDirectMusicTrack,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicTrack_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -191,15 +191,15 @@ ICOM_DEFINE(IDirectMusicTrack,IUnknown)
/*****************************************************************************
* IDirectMusicTrack8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicTrack8
#undef INTERFACE
#define INTERFACE IDirectMusicTrack8
#define 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) \
ICOM_METHOD6(HRESULT, GetParamEx, REFGUID,rguidType, REFERENCE_TIME,rtTime, REFERENCE_TIME*,prtNext, void*,pParam, void*,pStateData, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT, SetParamEx, REFGUID,rguidType, REFERENCE_TIME,rtTime, void*,pParam, void*,pStateData, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT, Compose, IUnknown*,pContext, DWORD,dwTrackGroup, IDirectMusicTrack**,ppResultTrack) \
ICOM_METHOD5(HRESULT, Join, IDirectMusicTrack*,pNewTrack, MUSIC_TIME,mtJoin, IUnknown*,pContext, DWORD,dwTrackGroup, IDirectMusicTrack**,ppResultTrack)
STDMETHOD(PlayEx)(THIS_ void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE; \
STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags) PURE; \
STDMETHOD(SetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags) PURE; \
STDMETHOD(Compose)(THIS_ IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE; \
STDMETHOD(Join)(THIS_ IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE;
/*** IDirectMusicTrack8 methods ***/
#define IDirectMusicTrack8_IMETHODS \
@ -208,7 +208,7 @@ ICOM_DEFINE(IDirectMusicTrack,IUnknown)
IDirectMusicTrack8_METHODS
ICOM_DEFINE(IDirectMusicTrack8,IDirectMusicTrack)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicTrack8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -285,26 +285,26 @@ typedef struct _DMUS_CLOCKINFO8
/*****************************************************************************
* IDirectMusic interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusic
#undef INTERFACE
#define INTERFACE IDirectMusic
#define IDirectMusic_METHODS \
/*** IDirectMusic methods ***/ \
ICOM_METHOD2(HRESULT, EnumPort, DWORD,dwIndex, LPDMUS_PORTCAPS,pPortCaps) \
ICOM_METHOD3(HRESULT, CreateMusicBuffer, LPDMUS_BUFFERDESC,pBufferDesc, LPDIRECTMUSICBUFFER**,ppBuffer, LPUNKNOWN,pUnkOuter) \
ICOM_METHOD4(HRESULT, CreatePort, REFCLSID,rclsidPort, LPDMUS_PORTPARAMS,pPortParams, LPDIRECTMUSICPORT*,ppPort, LPUNKNOWN,pUnkOuter) \
ICOM_METHOD2(HRESULT, EnumMasterClock, DWORD,dwIndex, LPDMUS_CLOCKINFO,lpClockInfo) \
ICOM_METHOD2(HRESULT, GetMasterClock, LPGUID,pguidClock, IReferenceClock**,ppReferenceClock) \
ICOM_METHOD1(HRESULT, SetMasterClock, REFGUID,rguidClock) \
ICOM_METHOD1(HRESULT, Activate, BOOL,fEnable) \
ICOM_METHOD1(HRESULT, GetDefaultPort, LPGUID,pguidPort) \
ICOM_METHOD2(HRESULT, SetDirectSound, LPDIRECTSOUND,pDirectSound, HWND,hWnd)
STDMETHOD(EnumPort)(THIS_ DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) PURE; \
STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER **ppBuffer, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(CreatePort)(THIS_ REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT *ppPort, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumMasterClock)(THIS_ DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) PURE; \
STDMETHOD(GetMasterClock)(THIS_ LPGUID pguidClock, IReferenceClock **ppReferenceClock) PURE; \
STDMETHOD(SetMasterClock)(THIS_ REFGUID rguidClock) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(GetDefaultPort)(THIS_ LPGUID pguidPort) PURE; \
STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, HWND hWnd) PURE;
/*** IDirectMusic methods ***/
#define IDirectMusic_IMETHODS \
IUnknown_IMETHODS \
IDirectMusic_METHODS
ICOM_DEFINE(IDirectMusic,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusic_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -325,11 +325,11 @@ ICOM_DEFINE(IDirectMusic,IUnknown)
/*****************************************************************************
* IDirectMusic8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusic8
#undef INTERFACE
#define INTERFACE IDirectMusic8
#define IDirectMusic8_METHODS \
/*** IDirectMusic8 methods ***/ \
ICOM_METHOD1(HRESULT, SetExternalMasterClock, IReferenceClock*,pClock)
STDMETHOD(SetExternalMasterClock)(THIS_ IReferenceClock *pClock) PURE;
/*** IDirectMusic8 methods ***/
#define IDirectMusic8_IMETHODS \
@ -337,7 +337,7 @@ ICOM_DEFINE(IDirectMusic,IUnknown)
IDirectMusic_METHODS \
IDirectMusic8_METHODS
ICOM_DEFINE(IDirectMusic8,IDirectMusic)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusic8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -360,30 +360,30 @@ ICOM_DEFINE(IDirectMusic8,IDirectMusic)
/*****************************************************************************
* IDirectMusicBuffer interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicBuffer
#undef INTERFACE
#define INTERFACE IDirectMusicBuffer
#define IDirectMusicBuffer_METHODS \
/*** IDirectMusicBuffer methods ***/ \
ICOM_METHOD (HRESULT, Flush) \
ICOM_METHOD1(HRESULT, TotalTime, LPREFERENCE_TIME,prtTime) \
ICOM_METHOD3(HRESULT, PackStructured, REFERENCE_TIME,rt, DWORD,dwChannelGroup, DWORD,dwChannelMessage) \
ICOM_METHOD4(HRESULT, PackUnstructured, REFERENCE_TIME,rt, DWORD,dwChannelGroup, DWORD,cb, LPBYTE,lpb) \
ICOM_METHOD (HRESULT, ResetReadPtr) \
ICOM_METHOD4(HRESULT, GetNextEvent, LPREFERENCE_TIME,prt, LPDWORD,pdwChannelGroup, LPDWORD,pdwLength, LPBYTE*,ppData) \
ICOM_METHOD1(HRESULT, GetRawBufferPtr, LPBYTE*,ppData) \
ICOM_METHOD1(HRESULT, GetStartTime, LPREFERENCE_TIME,prt) \
ICOM_METHOD1(HRESULT, GetUsedBytes, LPDWORD,pcb) \
ICOM_METHOD1(HRESULT, GetMaxBytes, LPDWORD,pcb) \
ICOM_METHOD1(HRESULT, GetBufferFormat, LPGUID,pGuidFormat) \
ICOM_METHOD1(HRESULT, SetStartTime, REFERENCE_TIME,rt) \
ICOM_METHOD1(HRESULT, SetUsedBytes, DWORD,cb)
/*** IDirectMusicBuffer methods ***/
STDMETHOD(Flush)(THIS) PURE; \
STDMETHOD(TotalTime)(THIS_ LPREFERENCE_TIME prtTime) PURE; \
STDMETHOD(PackStructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD dwChannelMessage) PURE; \
STDMETHOD(PackUnstructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD cb, LPBYTE lpb) PURE; \
STDMETHOD(ResetReadPtr)(THIS) PURE; \
STDMETHOD(GetNextEvent)(THIS_ LPREFERENCE_TIME prt, LPDWORD pdwChannelGroup, LPDWORD pdwLength, LPBYTE *ppData) PURE; \
STDMETHOD(GetRawBufferPtr)(THIS_ LPBYTE *ppData) PURE; \
STDMETHOD(GetStartTime)(THIS_ LPREFERENCE_TIME prt) PURE; \
STDMETHOD(GetUsedBytes)(THIS_ LPDWORD pcb) PURE; \
STDMETHOD(GetMaxBytes)(THIS_ LPDWORD pcb) PURE; \
STDMETHOD(GetBufferFormat)(THIS_ LPGUID pGuidFormat) PURE; \
STDMETHOD(SetStartTime)(THIS_ REFERENCE_TIME rt) PURE; \
STDMETHOD(SetUsedBytes)(THIS_ DWORD cb) PURE;
/*** IDirectMusicBuffer methods ***/
#define IDirectMusicBuffer_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicBuffer_METHODS
ICOM_DEFINE(IDirectMusicBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -407,19 +407,19 @@ ICOM_DEFINE(IDirectMusicBuffer,IUnknown)
/*****************************************************************************
* IDirectMusicInstrument interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicInstrument
#undef INTERFACE
#define INTERFACE IDirectMusicInstrument
#define IDirectMusicInstrument_METHODS \
/*** IDirectMusicInstrument methods ***/ \
ICOM_METHOD1(HRESULT, GetPatch, DWORD*,pdwPatch) \
ICOM_METHOD1(HRESULT, SetPatch, DWORD,dwPatch)
/*** IDirectMusicInstrument methods ***/
STDMETHOD(GetPatch)(THIS_ DWORD *pdwPatch) PURE; \
STDMETHOD(SetPatch)(THIS_ DWORD dwPatch) PURE;
/*** IDirectMusicInstrument methods ***/
#define IDirectMusicInstrument_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicInstrument_METHODS
ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicInstrument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -433,8 +433,8 @@ ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
/*****************************************************************************
* IDirectMusicDownloadedInstrument interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicDownloadedInstrument
#undef INTERFACE
#define INTERFACE IDirectMusicDownloadedInstrument
#define IDirectMusicDownloadedInstrument_METHODS \
/*** IDirectMusicDownloadedInstrument methods ***/ \
/* none at this time */
@ -444,7 +444,7 @@ ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
IUnknown_IMETHODS \
IDirectMusicDownloadedInstrument_METHODS
ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicDownloadedInstrument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -457,19 +457,19 @@ ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown)
/*****************************************************************************
* IDirectMusicCollection interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicCollection
#undef INTERFACE
#define INTERFACE IDirectMusicCollection
#define IDirectMusicCollection_METHODS \
/*** IDirectMusicCollection methods ***/ \
ICOM_METHOD2(HRESULT, GetInstrument, DWORD,dwPatch, IDirectMusicInstrument**,ppInstrument) \
ICOM_METHOD4(HRESULT, EnumInstrument, DWORD,dwIndex, DWORD*,pdwPatch, LPWSTR,pwszName, DWORD,dwNameLen)
/*** IDirectMusicCollection methods ***/
STDMETHOD(GetInstrument)(THIS_ DWORD dwPatch, IDirectMusicInstrument **ppInstrument) PURE; \
STDMETHOD(EnumInstrument)(THIS_ DWORD dwIndex, DWORD *pdwPatch, LPWSTR pwszName, DWORD dwNameLen) PURE;
/*** IDirectMusicCollection methods ***/
#define IDirectMusicCollection_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicCollection_METHODS
ICOM_DEFINE(IDirectMusicCollection,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicCollection_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -483,18 +483,18 @@ ICOM_DEFINE(IDirectMusicCollection,IUnknown)
/*****************************************************************************
* IDirectMusicDownload interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicDownload
#undef INTERFACE
#define INTERFACE IDirectMusicDownload
#define 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 \
IUnknown_IMETHODS \
IDirectMusicDownload_METHODS
ICOM_DEFINE(IDirectMusicDownload,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicDownload_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -507,23 +507,23 @@ ICOM_DEFINE(IDirectMusicDownload,IUnknown)
/*****************************************************************************
* IDirectMusicPortDownload interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicPortDownload
#undef INTERFACE
#define INTERFACE IDirectMusicPortDownload
#define IDirectMusicPortDownload_METHODS \
/*** IDirectMusicPortDownload methods ***/ \
ICOM_METHOD2(HRESULT, GetBuffer, DWORD,dwDLId, IDirectMusicDownload**,ppIDMDownload) \
ICOM_METHOD2(HRESULT, AllocateBuffer, DWORD,dwSize, IDirectMusicDownload**,ppIDMDownload) \
ICOM_METHOD2(HRESULT, GetDLId, DWORD*,pdwStartDLId, DWORD,dwCount) \
ICOM_METHOD1(HRESULT, GetAppend, DWORD*,pdwAppend) \
ICOM_METHOD1(HRESULT, Download, IDirectMusicDownload*,pIDMDownload) \
ICOM_METHOD1(HRESULT, Unload, IDirectMusicDownload*,pIDMDownload)
STDMETHOD(GetBuffer)(THIS_ DWORD dwDLId, IDirectMusicDownload **ppIDMDownload) PURE; \
STDMETHOD(AllocateBuffer)(THIS_ DWORD dwSize, IDirectMusicDownload **ppIDMDownload) PURE; \
STDMETHOD(GetDLId)(THIS_ DWORD *pdwStartDLId, DWORD dwCount) PURE; \
STDMETHOD(GetAppend)(THIS_ DWORD *pdwAppend) PURE; \
STDMETHOD(Download)(THIS_ IDirectMusicDownload *pIDMDownload) PURE; \
STDMETHOD(Unload)(THIS_ IDirectMusicDownload *pIDMDownload) PURE;
/*** IDirectMusicPortDownload methods ***/
#define IDirectMusicPortDownload_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicPortDownload_METHODS
ICOM_DEFINE(IDirectMusicPortDownload,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicPortDownload_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -587,33 +587,33 @@ ICOM_DEFINE(IDirectMusicPortDownload,IUnknown)
/*****************************************************************************
* IDirectMusicPort interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicPort
#undef INTERFACE
#define INTERFACE IDirectMusicPort
#define IDirectMusicPort_METHODS \
/*** IDirectMusicPort methods ***/ \
ICOM_METHOD1(HRESULT, PlayBuffer, LPDIRECTMUSICBUFFER,pBuffer) \
ICOM_METHOD1(HRESULT, SetReadNotificationHandle, HANDLE,hEvent) \
ICOM_METHOD1(HRESULT, Read, LPDIRECTMUSICBUFFER,pBuffer) \
ICOM_METHOD4(HRESULT, DownloadInstrument, IDirectMusicInstrument*,pInstrument, IDirectMusicDownloadedInstrument**,ppDownloadedInstrument, DMUS_NOTERANGE*,pNoteRanges, DWORD,dwNumNoteRanges) \
ICOM_METHOD1(HRESULT, UnloadInstrument, IDirectMusicDownloadedInstrument*,pDownloadedInstrument) \
ICOM_METHOD1(HRESULT, GetLatencyClock, IReferenceClock**,ppClock) \
ICOM_METHOD1(HRESULT, GetRunningStats, LPDMUS_SYNTHSTATS,pStats) \
ICOM_METHOD1(HRESULT, GetCaps, LPDMUS_PORTCAPS,pPortCaps) \
ICOM_METHOD7(HRESULT, DeviceIoControl, DWORD,dwIoControlCode, LPVOID,lpInBuffer, DWORD,nInBufferSize, LPVOID,lpOutBuffer, DWORD,nOutBufferSize, LPDWORD,lpBytesReturned, LPOVERLAPPED,lpOverlapped) \
ICOM_METHOD1(HRESULT, SetNumChannelGroups, DWORD,dwChannelGroups) \
ICOM_METHOD1(HRESULT, GetNumChannelGroups, LPDWORD,pdwChannelGroups) \
ICOM_METHOD1(HRESULT, Activate, BOOL,fActive) \
ICOM_METHOD3(HRESULT, SetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, DWORD,dwPriority) \
ICOM_METHOD3(HRESULT, GetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, LPDWORD,pdwPriority) \
ICOM_METHOD2(HRESULT, SetDirectSound, LPDIRECTSOUND,pDirectSound, LPDIRECTSOUNDBUFFER,pDirectSoundBuffer) \
ICOM_METHOD3(HRESULT, GetFormat, LPWAVEFORMATEX,pWaveFormatEx, LPDWORD,pdwWaveFormatExSize, LPDWORD,pdwBufferSize)
STDMETHOD(PlayBuffer)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
STDMETHOD(SetReadNotificationHandle)(THIS_ HANDLE hEvent) PURE; \
STDMETHOD(Read)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
STDMETHOD(DownloadInstrument)(THIS_ IDirectMusicInstrument *pInstrument, IDirectMusicDownloadedInstrument **ppDownloadedInstrument, DMUS_NOTERANGE *pNoteRanges, DWORD dwNumNoteRanges) PURE; \
STDMETHOD(UnloadInstrument)(THIS_ IDirectMusicDownloadedInstrument *pDownloadedInstrument) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
STDMETHOD(GetRunningStats)(THIS_ LPDMUS_SYNTHSTATS pStats) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDMUS_PORTCAPS pPortCaps) PURE; \
STDMETHOD(DeviceIoControl)(THIS_ DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped) PURE; \
STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwChannelGroups) PURE; \
STDMETHOD(GetNumChannelGroups)(THIS_ LPDWORD pdwChannelGroups) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fActive) PURE; \
STDMETHOD(SetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE; \
STDMETHOD(GetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE; \
STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize, LPDWORD pdwBufferSize) PURE;
/*** IDirectMusicPort methods ***/
#define IDirectMusicPort_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicPort_METHODS
ICOM_DEFINE(IDirectMusicPort,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicPort_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -641,18 +641,18 @@ ICOM_DEFINE(IDirectMusicPort,IUnknown)
/*****************************************************************************
* IDirectMusicThru interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicThru
#undef INTERFACE
#define INTERFACE IDirectMusicThru
#define 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 ***/
#define IDirectMusicThru_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicThru_METHODS
ICOM_DEFINE(IDirectMusicThru,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicThru_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -669,21 +669,21 @@ ICOM_DEFINE(IDirectMusicThru,IUnknown)
/*****************************************************************************
* IReferenceClock interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IReferenceClock
#undef INTERFACE
#define INTERFACE IReferenceClock
#define IReferenceClock_METHODS \
/*** IReferenceClock methods ***/ \
ICOM_METHOD1(HRESULT, GetTime, REFERENCE_TIME*,pTime) \
ICOM_METHOD4(HRESULT, AdviseTime, REFERENCE_TIME,baseTime, REFERENCE_TIME,streamTime, HANDLE,hEvent, DWORD*,pdwAdviseCookie) \
ICOM_METHOD4(HRESULT, AdvisePeriodic, REFERENCE_TIME,startTime, REFERENCE_TIME,periodTime, HANDLE,hSemaphore, DWORD*,pdwAdviseCookie) \
ICOM_METHOD1(HRESULT, Unadvise, DWORD,dwAdviseCookie)
STDMETHOD(GetTime)(THIS_ REFERENCE_TIME *pTime) PURE; \
STDMETHOD(AdviseTime)(THIS_ REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD *pdwAdviseCookie) PURE; \
STDMETHOD(AdvisePeriodic)(THIS_ REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD *pdwAdviseCookie) PURE; \
STDMETHOD(Unadvise)(THIS_ DWORD dwAdviseCookie) PURE;
/*** IReferenceClock methods ***/
#define IReferenceClock_IMETHODS \
IUnknown_IMETHODS \
IReferenceClock_METHODS
ICOM_DEFINE(IReferenceClock,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicBand
#undef INTERFACE
#define INTERFACE IDirectMusicBand
#define IDirectMusicBand_METHODS \
/*** IDirectMusicBand methods ***/ \
ICOM_METHOD1(HRESULT, CreateSegment, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD1(HRESULT, Download, IDirectMusicPerformance*,pPerformance) \
ICOM_METHOD1(HRESULT, Unload, IDirectMusicPerformance*,pPerformance)
STDMETHOD(CreateSegment)(THIS_ IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(Download)(THIS_ IDirectMusicPerformance *pPerformance) PURE; \
STDMETHOD(Unload)(THIS_ IDirectMusicPerformance *pPerformance) PURE;
/*** IDirectMusicBand methods ***/
#define IDirectMusicBand_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicBand_METHODS
ICOM_DEFINE(IDirectMusicBand,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicBand_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -822,20 +822,20 @@ ICOM_DEFINE(IDirectMusicBand,IUnknown)
/*****************************************************************************
* IDirectMusicObject interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicObject
#undef INTERFACE
#define INTERFACE IDirectMusicObject
#define IDirectMusicObject_METHODS \
/*** IDirectMusicObject methods ***/ \
ICOM_METHOD1(HRESULT, GetDescriptor, LPDMUS_OBJECTDESC,pDesc) \
ICOM_METHOD1(HRESULT, SetDescriptor, LPDMUS_OBJECTDESC,pDesc) \
ICOM_METHOD2(HRESULT, ParseDescriptor, LPSTREAM,pStream, LPDMUS_OBJECTDESC,pDesc)
STDMETHOD(GetDescriptor)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
STDMETHOD(SetDescriptor)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
STDMETHOD(ParseDescriptor)(THIS_ LPSTREAM pStream, LPDMUS_OBJECTDESC pDesc) PURE;
/*** IDirectMusicObject methods ***/
#define IDirectMusicObject_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicObject_METHODS
ICOM_DEFINE(IDirectMusicObject,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -850,26 +850,26 @@ ICOM_DEFINE(IDirectMusicObject,IUnknown)
/*****************************************************************************
* IDirectMusicLoader interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicLoader
#undef INTERFACE
#define INTERFACE IDirectMusicLoader
#define IDirectMusicLoader_METHODS \
/*** IDirectMusicLoader methods ***/ \
ICOM_METHOD3(HRESULT, _GetObject, LPDMUS_OBJECTDESC,pDesc, REFIID,riid, LPVOID*,ppv) \
ICOM_METHOD1(HRESULT, SetObject, LPDMUS_OBJECTDESC,pDesc) \
ICOM_METHOD3(HRESULT, SetSearchDirectory, REFGUID,rguidClass, WCHAR*,pwzPath, BOOL,fClear) \
ICOM_METHOD3(HRESULT, ScanDirectory, REFGUID,rguidClass, WCHAR*,pwzFileExtension, WCHAR*,pwzScanFileName) \
ICOM_METHOD1(HRESULT, CacheObject, IDirectMusicObject*,pObject) \
ICOM_METHOD1(HRESULT, ReleaseObject, IDirectMusicObject*,pObject) \
ICOM_METHOD1(HRESULT, ClearCache, REFGUID,rguidClass) \
ICOM_METHOD2(HRESULT, EnableCache, REFGUID,rguidClass, BOOL,fEnable) \
ICOM_METHOD3(HRESULT, EnumObject, REFGUID,rguidClass, DWORD,dwIndex, LPDMUS_OBJECTDESC,pDesc)
STDMETHOD(_GetObject)(THIS_ LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID *ppv) PURE; \
STDMETHOD(SetObject)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
STDMETHOD(SetSearchDirectory)(THIS_ REFGUID rguidClass, WCHAR *pwzPath, BOOL fClear) PURE; \
STDMETHOD(ScanDirectory)(THIS_ REFGUID rguidClass, WCHAR *pwzFileExtension, WCHAR *pwzScanFileName) PURE; \
STDMETHOD(CacheObject)(THIS_ IDirectMusicObject *pObject) PURE; \
STDMETHOD(ReleaseObject)(THIS_ IDirectMusicObject *pObject) PURE; \
STDMETHOD(ClearCache)(THIS_ REFGUID rguidClass) PURE; \
STDMETHOD(EnableCache)(THIS_ REFGUID rguidClass, BOOL fEnable) PURE; \
STDMETHOD(EnumObject)(THIS_ REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc) PURE;
/*** IDirectMusicLoader methods ***/
#define IDirectMusicLoader_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicLoader_METHODS
ICOM_DEFINE(IDirectMusicLoader,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicLoader_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -890,13 +890,13 @@ ICOM_DEFINE(IDirectMusicLoader,IUnknown)
/*****************************************************************************
* IDirectMusicLoader8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicLoader8
#undef INTERFACE
#define INTERFACE IDirectMusicLoader8
#define IDirectMusicLoader8_METHODS \
/*** IDirectMusicLoader8 methods ***/ \
ICOM_METHOD (void, CollectGarbage) \
ICOM_METHOD1(HRESULT, ReleaseObjectByUnknown, IUnknown*,pObject) \
ICOM_METHOD4(HRESULT, LoadObjectFromFile, REFGUID,rguidClassID, REFIID,iidInterfaceID, WCHAR*,pwzFilePath, void**,ppObject)
STDMETHOD_(void,CollectGarbage)(THIS) PURE; \
STDMETHOD(ReleaseObjectByUnknown)(THIS_ IUnknown *pObject) PURE; \
STDMETHOD(LoadObjectFromFile)(THIS_ REFGUID rguidClassID, REFIID iidInterfaceID, WCHAR *pwzFilePath, void **ppObject) PURE;
/*** IDirectMusicLoader8 methods ***/
#define IDirectMusicLoader8_IMETHODS \
@ -904,7 +904,7 @@ ICOM_DEFINE(IDirectMusicLoader,IUnknown)
IDirectMusicLoader_METHODS \
IDirectMusicLoader8_METHODS
ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicLoader8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -929,18 +929,18 @@ ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader)
/*****************************************************************************
* IDirectMusicGetLoader interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicGetLoader
#undef INTERFACE
#define INTERFACE IDirectMusicGetLoader
#define IDirectMusicGetLoader_METHODS \
/*** IDirectMusicGetLoader methods ***/ \
ICOM_METHOD1(HRESULT, GetLoader, IDirectMusicLoader**,ppLoader)
STDMETHOD(GetLoader)(THIS_ IDirectMusicLoader **ppLoader) PURE;
/*** IDirectMusicGetLoader methods ***/
#define IDirectMusicGetLoader_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicGetLoader_METHODS
ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicGetLoader_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -953,40 +953,40 @@ ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
/*****************************************************************************
* IDirectMusicSegment interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSegment
#undef INTERFACE
#define INTERFACE IDirectMusicSegment
#define IDirectMusicSegment_METHODS \
/*** IDirectMusicSegment methods ***/ \
ICOM_METHOD1(HRESULT, GetLength, MUSIC_TIME*,pmtLength) \
ICOM_METHOD1(HRESULT, SetLength, MUSIC_TIME,mtLength) \
ICOM_METHOD1(HRESULT, GetRepeats, DWORD*,pdwRepeats) \
ICOM_METHOD1(HRESULT, SetRepeats, DWORD,dwRepeats) \
ICOM_METHOD1(HRESULT, GetDefaultResolution, DWORD*,pdwResolution) \
ICOM_METHOD1(HRESULT, SetDefaultResolution, DWORD,dwResolution) \
ICOM_METHOD4(HRESULT, GetTrack, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, IDirectMusicTrack**,ppTrack) \
ICOM_METHOD2(HRESULT, GetTrackGroup, IDirectMusicTrack*,pTrack, DWORD*,pdwGroupBits) \
ICOM_METHOD2(HRESULT, InsertTrack, IDirectMusicTrack*,pTrack, DWORD,dwGroupBits) \
ICOM_METHOD1(HRESULT, RemoveTrack, IDirectMusicTrack*,pTrack) \
ICOM_METHOD3(HRESULT, InitPlay, IDirectMusicSegmentState**,ppSegState, IDirectMusicPerformance*,pPerformance, DWORD, dwFlags) \
ICOM_METHOD1(HRESULT, GetGraph, IDirectMusicGraph**,ppGraph) \
ICOM_METHOD1(HRESULT, SetGraph, IDirectMusicGraph*,pGraph) \
ICOM_METHOD1(HRESULT, AddNotificationType, REFGUID,rguidNotificationType) \
ICOM_METHOD1(HRESULT, RemoveNotificationType, REFGUID,rguidNotificationType) \
ICOM_METHOD6(HRESULT, GetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \
ICOM_METHOD5(HRESULT, SetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, void*,pParam) \
ICOM_METHOD3(HRESULT, Clone, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD1(HRESULT, SetStartPoint, MUSIC_TIME,mtStart) \
ICOM_METHOD1(HRESULT, GetStartPoint, MUSIC_TIME*,pmtStart) \
ICOM_METHOD2(HRESULT, SetLoopPoints, MUSIC_TIME,mtStart, MUSIC_TIME,mtEnd) \
ICOM_METHOD2(HRESULT, GetLoopPoints, MUSIC_TIME*,pmtStart, MUSIC_TIME*,pmtEnd) \
ICOM_METHOD2(HRESULT, SetPChannelsUsed, DWORD,dwNumPChannels, DWORD*,paPChannels)
STDMETHOD(GetLength)(THIS_ MUSIC_TIME *pmtLength) PURE; \
STDMETHOD(SetLength)(THIS_ MUSIC_TIME mtLength) PURE; \
STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
STDMETHOD(SetRepeats)(THIS_ DWORD dwRepeats) PURE; \
STDMETHOD(GetDefaultResolution)(THIS_ DWORD *pdwResolution) PURE; \
STDMETHOD(SetDefaultResolution)(THIS_ DWORD dwResolution) PURE; \
STDMETHOD(GetTrack)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, IDirectMusicTrack **ppTrack) PURE; \
STDMETHOD(GetTrackGroup)(THIS_ IDirectMusicTrack *pTrack, DWORD *pdwGroupBits) PURE; \
STDMETHOD(InsertTrack)(THIS_ IDirectMusicTrack *pTrack, DWORD dwGroupBits) PURE; \
STDMETHOD(RemoveTrack)(THIS_ IDirectMusicTrack *pTrack) PURE; \
STDMETHOD(InitPlay)(THIS_ IDirectMusicSegmentState **ppSegState, IDirectMusicPerformance *pPerformance, DWORD dwFlags) PURE; \
STDMETHOD(GetGraph)(THIS_ IDirectMusicGraph **ppGraph) PURE; \
STDMETHOD(SetGraph)(THIS_ IDirectMusicGraph *pGraph) PURE; \
STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(SetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) PURE; \
STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(SetStartPoint)(THIS_ MUSIC_TIME mtStart) PURE; \
STDMETHOD(GetStartPoint)(THIS_ MUSIC_TIME *pmtStart) PURE; \
STDMETHOD(SetLoopPoints)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd) PURE; \
STDMETHOD(GetLoopPoints)(THIS_ MUSIC_TIME *pmtStart, MUSIC_TIME *pmtEnd) PURE; \
STDMETHOD(SetPChannelsUsed)(THIS_ DWORD dwNumPChannels, DWORD *paPChannels) PURE;
/*** IDirectMusicSegment methods ***/
#define IDirectMusicSegment_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicSegment_METHODS
ICOM_DEFINE(IDirectMusicSegment,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicSegment_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1021,15 +1021,15 @@ ICOM_DEFINE(IDirectMusicSegment,IUnknown)
/*****************************************************************************
* IDirectMusicSegment8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSegment8
#undef INTERFACE
#define INTERFACE IDirectMusicSegment8
#define IDirectMusicSegment8_METHODS \
/*** IDirectMusicSegment8 methods ***/ \
ICOM_METHOD5(HRESULT, SetTrackConfig, REFGUID,rguidTrackClassID, DWORD,dwGroupBits, DWORD,dwIndex, DWORD,dwFlagsOn, DWORD,dwFlagsOff) \
ICOM_METHOD1(HRESULT, GetAudioPathConfig, IUnknown**,ppAudioPathConfig) \
ICOM_METHOD4(HRESULT, Compose, MUSIC_TIME,mtTime, IDirectMusicSegment*,pFromSegment, IDirectMusicSegment*,pToSegment, IDirectMusicSegment**,ppComposedSegment) \
ICOM_METHOD1(HRESULT, Download, IUnknown,*pAudioPath) \
ICOM_METHOD1(HRESULT, Unload, IUnknown,*pAudioPath)
STDMETHOD(SetTrackConfig)(THIS_ REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) PURE; \
STDMETHOD(GetAudioPathConfig)(THIS_ IUnknown **ppAudioPathConfig) PURE; \
STDMETHOD(Compose)(THIS_ MUSIC_TIME mtTime, IDirectMusicSegment *pFromSegment, IDirectMusicSegment *pToSegment, IDirectMusicSegment **ppComposedSegment) PURE; \
STDMETHOD(Download)(THIS_ IUnknown *pAudioPath) PURE; \
STDMETHOD(Unload)(THIS_ IUnknown *pAudioPath) PURE;
/*** IDirectMusicSegment8 methods ***/
#define IDirectMusicSegment8_IMETHODS \
@ -1037,7 +1037,7 @@ ICOM_DEFINE(IDirectMusicSegment,IUnknown)
IDirectMusicSegment_METHODS \
IDirectMusicSegment8_METHODS
ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicSegment8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1078,22 +1078,22 @@ ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment)
/*****************************************************************************
* IDirectMusicSegmentState interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSegmentState
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState
#define IDirectMusicSegmentState_METHODS \
/*** IDirectMusicSegmentState methods ***/ \
ICOM_METHOD1(HRESULT, GetRepeats, DWORD*,pdwRepeats) \
ICOM_METHOD1(HRESULT, GetSegment, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD1(HRESULT, GetStartTime, MUSIC_TIME*,pmtStart) \
ICOM_METHOD1(HRESULT, GetSeek, MUSIC_TIME*,pmtSeek) \
ICOM_METHOD1(HRESULT, GetStartPoint, MUSIC_TIME*,pmtStart)
STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
STDMETHOD(GetSegment)(THIS_ IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(GetStartTime)(THIS_ MUSIC_TIME *pmtStart) PURE; \
STDMETHOD(GetSeek)(THIS_ MUSIC_TIME *pmtSeek) PURE; \
STDMETHOD(GetStartPoint)(THIS_ MUSIC_TIME *pmtStart) PURE;
/*** IDirectMusicSegmentState methods ***/
#define IDirectMusicSegmentState_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicSegmentState_METHODS
ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicSegmentState_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1110,12 +1110,12 @@ ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
/*****************************************************************************
* IDirectMusicSegmentState8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSegmentState8
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState8
#define IDirectMusicSegmentState8_METHODS \
/*** IDirectMusicSegmentState8 methods ***/ \
ICOM_METHOD5(HRESULT, SetTrackConfig, REFGUID,rguidTrackClassID, DWORD,dwGroupBits, DWORD,dwIndex, DWORD,dwFlagsOn, DWORD,dwFlagsOff) \
ICOM_METHOD7(HRESULT, GetObjectInPath, DWORD,dwPChannel, DWORD,dwStage, DWORD,dwBuffer, REFGUID,guidObject, DWORD,dwIndex, REFGUID,iidInterface, void**,ppObject)
STDMETHOD(SetTrackConfig)(THIS_ REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) PURE; \
STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, DWORD dwIndex, REFGUID iidInterface, void **ppObject) PURE;
/*** IDirectMusicSegmentState8 methods ***/
#define IDirectMusicSegmentState8_IMETHODS \
@ -1123,7 +1123,7 @@ ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
IDirectMusicSegmentState_METHODS \
IDirectMusicSegmentState8_METHODS
ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicSegmentState8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1143,21 +1143,21 @@ ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState)
/*****************************************************************************
* IDirectMusicAudioPath interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicAudioPath
#undef INTERFACE
#define INTERFACE IDirectMusicAudioPath
#define IDirectMusicAudioPath_METHODS \
/*** IDirectMusicAudioPath methods ***/ \
ICOM_METHOD7(HRESULT, GetObjectInPath, DWORD,dwPChannel, DWORD,dwStage, DWORD,dwBuffer, REFGUID,guidObject, WORD,dwIndex, REFGUID,iidInterface, void**,ppObject) \
ICOM_METHOD1(HRESULT, Activate, BOOL,fActivate) \
ICOM_METHOD2(HRESULT, SetVolume, long,lVolume, DWORD,dwDuration) \
ICOM_METHOD2(HRESULT, ConvertPChannel, DWORD,dwPChannelIn, DWORD*,pdwPChannelOut)
STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, WORD dwIndex, REFGUID iidInterface, void **ppObject) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fActivate) PURE; \
STDMETHOD(SetVolume)(THIS_ long lVolume, DWORD dwDuration) PURE; \
STDMETHOD(ConvertPChannel)(THIS_ DWORD dwPChannelIn, DWORD *pdwPChannelOut) PURE;
/*** IDirectMusicAudioPath methods ***/
#define IDirectMusicAudioPath_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicAudioPath_METHODS
ICOM_DEFINE(IDirectMusicAudioPath,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicAudioPath_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1173,58 +1173,58 @@ ICOM_DEFINE(IDirectMusicAudioPath,IUnknown)
/*****************************************************************************
* IDirectMusicPerformance interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicPerformance
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance
#define IDirectMusicPerformance_METHODS \
/*** IDirectMusicPerformance methods ***/ \
ICOM_METHOD3(HRESULT, Init, IDirectMusic**,ppDirectMusic, LPDIRECTSOUND,pDirectSound, HWND,hWnd) \
ICOM_METHOD4(HRESULT, PlaySegment, IDirectMusicSegment*,pSegment, DWORD,dwFlags, __int64,i64StartTime, IDirectMusicSegmentState**,ppSegmentState) \
ICOM_METHOD4(HRESULT, Stop, IDirectMusicSegment*,pSegment, IDirectMusicSegmentState*,pSegmentState, MUSIC_TIME,mtTime, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT, GetSegmentState, IDirectMusicSegmentState**,ppSegmentState, MUSIC_TIME,mtTime) \
ICOM_METHOD1(HRESULT, SetPrepareTime, DWORD,dwMilliSeconds) \
ICOM_METHOD1(HRESULT, GetPrepareTime, DWORD*,pdwMilliSeconds) \
ICOM_METHOD1(HRESULT, SetBumperLength, DWORD,dwMilliSeconds) \
ICOM_METHOD1(HRESULT, GetBumperLength, DWORD*,pdwMilliSeconds) \
ICOM_METHOD1(HRESULT, SendPMsg, DMUS_PMSG*,pPMSG) \
ICOM_METHOD2(HRESULT, MusicToReferenceTime, MUSIC_TIME,mtTime, REFERENCE_TIME*,prtTime) \
ICOM_METHOD2(HRESULT, ReferenceToMusicTime, REFERENCE_TIME,rtTime, MUSIC_TIME*,pmtTime) \
ICOM_METHOD2(HRESULT, IsPlaying, IDirectMusicSegment*,pSegment, IDirectMusicSegmentState*,pSegState) \
ICOM_METHOD2(HRESULT, GetTime, REFERENCE_TIME*,prtNow, MUSIC_TIME*,pmtNow) \
ICOM_METHOD2(HRESULT, AllocPMsg, ULONG,cb, DMUS_PMSG**,ppPMSG) \
ICOM_METHOD1(HRESULT, FreePMsg, DMUS_PMSG*,pPMSG) \
ICOM_METHOD1(HRESULT, GetGraph, IDirectMusicGraph**,ppGraph) \
ICOM_METHOD1(HRESULT, SetGraph, IDirectMusicGraph*,pGraph) \
ICOM_METHOD2(HRESULT, SetNotificationHandle, HANDLE,hNotification, REFERENCE_TIME,rtMinimum) \
ICOM_METHOD1(HRESULT, GetNotificationPMsg, DMUS_NOTIFICATION_PMSG**,ppNotificationPMsg) \
ICOM_METHOD1(HRESULT, AddNotificationType, REFGUID,rguidNotificationType) \
ICOM_METHOD1(HRESULT, RemoveNotificationType, REFGUID,rguidNotificationType) \
ICOM_METHOD1(HRESULT, AddPort, IDirectMusicPort*,pPort) \
ICOM_METHOD1(HRESULT, RemovePort, IDirectMusicPort*,pPort) \
ICOM_METHOD3(HRESULT, AssignPChannelBlock, DWORD,dwBlockNum, IDirectMusicPort*,pPort, DWORD,dwGroup) \
ICOM_METHOD4(HRESULT, AssignPChannel, DWORD,dwPChannel, IDirectMusicPort*,pPort, DWORD,dwGroup, DWORD,dwMChannel) \
ICOM_METHOD4(HRESULT, PChannelInfo, DWORD,dwPChannel, IDirectMusicPort**,ppPort, DWORD*,pdwGroup, DWORD*,pdwMChannel) \
ICOM_METHOD8(HRESULT, DownloadInstrument, IDirectMusicInstrument*,pInst, DWORD,dwPChannel, IDirectMusicDownloadedInstrument**,ppDownInst, DMUS_NOTERANGE*,pNoteRanges, DWORD,dwNumNoteRanges, IDirectMusicPort**,ppPort, DWORD*,pdwGroup, DWORD*,pdwMChannel) \
ICOM_METHOD2(HRESULT, Invalidate, MUSIC_TIME,mtTime, DWORD,dwFlags) \
ICOM_METHOD6(HRESULT, GetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \
ICOM_METHOD5(HRESULT, SetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, void*,pParam) \
ICOM_METHOD3(HRESULT, GetGlobalParam, REFGUID,rguidType, void*,pParam, DWORD,dwSize) \
ICOM_METHOD3(HRESULT, SetGlobalParam, REFGUID,rguidType, void*,pParam, DWORD,dwSize) \
ICOM_METHOD1(HRESULT, GetLatencyTime, REFERENCE_TIME*,prtTime) \
ICOM_METHOD1(HRESULT, GetQueueTime, REFERENCE_TIME*,prtTime) \
ICOM_METHOD1(HRESULT, AdjustTime, REFERENCE_TIME,rtAmount) \
ICOM_METHOD (HRESULT, CloseDown) \
ICOM_METHOD3(HRESULT, GetResolvedTime, REFERENCE_TIME,rtTime, REFERENCE_TIME*,prtResolved, DWORD,dwTimeResolveFlags) \
ICOM_METHOD5(HRESULT, MIDIToMusic, BYTE,bMIDIValue, DMUS_CHORD_KEY*,pChord, BYTE,bPlayMode, BYTE,bChordLevel, WORD*,pwMusicValue) \
ICOM_METHOD5(HRESULT, MusicToMIDI, WORD,wMusicValue, DMUS_CHORD_KEY*,pChord, BYTE,bPlayMode, BYTE,bChordLevel, BYTE*,pbMIDIValue) \
ICOM_METHOD6(HRESULT, TimeToRhythm, MUSIC_TIME,mtTime, DMUS_TIMESIGNATURE*,pTimeSig, WORD*,pwMeasure, BYTE*,pbBeat, BYTE*,pbGrid, short*,pnOffset) \
ICOM_METHOD6(HRESULT, RhythmToTime, WORD,wMeasure, BYTE,bBeat, BYTE,bGrid, short,nOffset, DMUS_TIMESIGNATURE*,pTimeSig, MUSIC_TIME*,pmtTime)
STDMETHOD(Init)(THIS_ IDirectMusic **ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) PURE; \
STDMETHOD(PlaySegment)(THIS_ IDirectMusicSegment *pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState) PURE; \
STDMETHOD(Stop)(THIS_ IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags) PURE; \
STDMETHOD(GetSegmentState)(THIS_ IDirectMusicSegmentState **ppSegmentState, MUSIC_TIME mtTime) PURE; \
STDMETHOD(SetPrepareTime)(THIS_ DWORD dwMilliSeconds) PURE; \
STDMETHOD(GetPrepareTime)(THIS_ DWORD *pdwMilliSeconds) PURE; \
STDMETHOD(SetBumperLength)(THIS_ DWORD dwMilliSeconds) PURE; \
STDMETHOD(GetBumperLength)(THIS_ DWORD *pdwMilliSeconds) PURE; \
STDMETHOD(SendPMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(MusicToReferenceTime)(THIS_ MUSIC_TIME mtTime, REFERENCE_TIME *prtTime) PURE; \
STDMETHOD(ReferenceToMusicTime)(THIS_ REFERENCE_TIME rtTime, MUSIC_TIME *pmtTime) PURE; \
STDMETHOD(IsPlaying)(THIS_ IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegState) PURE; \
STDMETHOD(GetTime)(THIS_ REFERENCE_TIME *prtNow, MUSIC_TIME *pmtNow) PURE; \
STDMETHOD(AllocPMsg)(THIS_ ULONG cb, DMUS_PMSG **ppPMSG) PURE; \
STDMETHOD(FreePMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(GetGraph)(THIS_ IDirectMusicGraph **ppGraph) PURE; \
STDMETHOD(SetGraph)(THIS_ IDirectMusicGraph *pGraph) PURE; \
STDMETHOD(SetNotificationHandle)(THIS_ HANDLE hNotification, REFERENCE_TIME rtMinimum) PURE; \
STDMETHOD(GetNotificationPMsg)(THIS_ DMUS_NOTIFICATION_PMSG **ppNotificationPMsg) PURE; \
STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(AddPort)(THIS_ IDirectMusicPort *pPort) PURE; \
STDMETHOD(RemovePort)(THIS_ IDirectMusicPort *pPort) PURE; \
STDMETHOD(AssignPChannelBlock)(THIS_ DWORD dwBlockNum, IDirectMusicPort *pPort, DWORD dwGroup) PURE; \
STDMETHOD(AssignPChannel)(THIS_ DWORD dwPChannel, IDirectMusicPort *pPort, DWORD dwGroup, DWORD dwMChannel) PURE; \
STDMETHOD(PChannelInfo)(THIS_ DWORD dwPChannel, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) PURE; \
STDMETHOD(DownloadInstrument)(THIS_ IDirectMusicInstrument *pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument **ppDownInst, DMUS_NOTERANGE *pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) PURE; \
STDMETHOD(Invalidate)(THIS_ MUSIC_TIME mtTime, DWORD dwFlags) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(SetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) PURE; \
STDMETHOD(GetGlobalParam)(THIS_ REFGUID rguidType, void *pParam, DWORD dwSize) PURE; \
STDMETHOD(SetGlobalParam)(THIS_ REFGUID rguidType, void *pParam, DWORD dwSize) PURE; \
STDMETHOD(GetLatencyTime)(THIS_ REFERENCE_TIME *prtTime) PURE; \
STDMETHOD(GetQueueTime)(THIS_ REFERENCE_TIME *prtTime) PURE; \
STDMETHOD(AdjustTime)(THIS_ REFERENCE_TIME rtAmount) PURE; \
STDMETHOD(CloseDown)(THIS) PURE; \
STDMETHOD(GetResolvedTime)(THIS_ REFERENCE_TIME rtTime, REFERENCE_TIME *prtResolved, DWORD dwTimeResolveFlags) PURE; \
STDMETHOD(MIDIToMusic)(THIS_ BYTE bMIDIValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, WORD *pwMusicValue) PURE; \
STDMETHOD(MusicToMIDI)(THIS_ WORD wMusicValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE *pbMIDIValue) PURE; \
STDMETHOD(TimeToRhythm)(THIS_ MUSIC_TIME mtTime, DMUS_TIMESIGNATURE *pTimeSig, WORD *pwMeasure, BYTE *pbBeat, BYTE *pbGrid, short *pnOffset) PURE; \
STDMETHOD(RhythmToTime)(THIS_ WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE *pTimeSig, MUSIC_TIME *pmtTime) PURE;
/*** IDirectMusicPerformance methods ***/
#define IDirectMusicPerformance_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicPerformance_METHODS
ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicPerformance_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1277,19 +1277,19 @@ ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
/*****************************************************************************
* IDirectMusicPerformance8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicPerformance8
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance8
#define IDirectMusicPerformance8_METHODS \
/*** IDirectMusicPerformance8 methods ***/ \
ICOM_METHOD7(HRESULT, InitAudio, IDirectMusic**,ppDirectMusic, IDirectSound**,ppDirectSound, HWND,hWnd, DWORD,dwDefaultPathType, DWORD,dwPChannelCount, DWORD,dwFlags, DMUS_AUDIOPARAMS*,pParams) \
ICOM_METHOD8(HRESULT, PlaySegmentEx, IUnknown*,pSource, WCHAR*,pwzSegmentName, IUnknown*,pTransition, DWORD,dwFlags, __int64,i64StartTime, IDirectMusicSegmentState**,ppSegmentState, IUnknown*,pFrom, IUnknown*,pAudioPath) \
ICOM_METHOD3(HRESULT, StopEx, IUnknown*,pObjectToStop, __int64,i64StopTime, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT, ClonePMsg, DMUS_PMSG*,pSourcePMSG, DMUS_PMSG**,ppCopyPMSG) \
ICOM_METHOD3(HRESULT, CreateAudioPath, IUnknown*,pSourceConfig, BOOL,fActivate, IDirectMusicAudioPath**,ppNewPath) \
ICOM_METHOD4(HRESULT, CreateStandardAudioPath, DWORD,dwType, DWORD,dwPChannelCount, BOOL,fActivate, IDirectMusicAudioPath**,ppNewPath) \
ICOM_METHOD1(HRESULT, SetDefaultAudioPath, IDirectMusicAudioPath*,pAudioPath) \
ICOM_METHOD1(HRESULT, GetDefaultAudioPath, IDirectMusicAudioPath**,ppAudioPath) \
ICOM_METHOD7(HRESULT, GetParamEx, REFGUID,rguidType, DWORD,dwTrackID, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam)
STDMETHOD(InitAudio)(THIS_ IDirectMusic **ppDirectMusic, IDirectSound **ppDirectSound, HWND hWnd, DWORD dwDefaultPathType, DWORD dwPChannelCount, DWORD dwFlags, DMUS_AUDIOPARAMS *pParams) PURE; \
STDMETHOD(PlaySegmentEx)(THIS_ IUnknown *pSource, WCHAR *pwzSegmentName, IUnknown *pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom, IUnknown *pAudioPath) PURE; \
STDMETHOD(StopEx)(THIS_ IUnknown *pObjectToStop, __int64 i64StopTime, DWORD dwFlags) PURE; \
STDMETHOD(ClonePMsg)(THIS_ DMUS_PMSG *pSourcePMSG, DMUS_PMSG **ppCopyPMSG) PURE; \
STDMETHOD(CreateAudioPath)(THIS_ IUnknown *pSourceConfig, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) PURE; \
STDMETHOD(CreateStandardAudioPath)(THIS_ DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) PURE; \
STDMETHOD(SetDefaultAudioPath)(THIS_ IDirectMusicAudioPath *pAudioPath) PURE; \
STDMETHOD(GetDefaultAudioPath)(THIS_ IDirectMusicAudioPath **ppAudioPath) PURE; \
STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, DWORD dwTrackID, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE;
/*** IDirectMusicPerformance8 methods ***/
#define IDirectMusicPerformance8_IMETHODS \
@ -1297,7 +1297,7 @@ ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
IDirectMusicPerformance_METHODS \
IDirectMusicPerformance8_METHODS
ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicPerformance8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1360,21 +1360,21 @@ ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance)
/*****************************************************************************
* IDirectMusicGraph interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicGraph
#undef INTERFACE
#define INTERFACE IDirectMusicGraph
#define IDirectMusicGraph_METHODS \
/*** IDirectMusicGraph methods ***/ \
ICOM_METHOD1(HRESULT, StampPMsg, DMUS_PMSG*,pPMSG) \
ICOM_METHOD4(HRESULT, InsertTool, IDirectMusicTool*,pTool, DWORD*,pdwPChannels, DWORD,cPChannels, LONG,lIndex) \
ICOM_METHOD2(HRESULT, GetTool, DWORD,dwIndex, IDirectMusicTool**,ppTool) \
ICOM_METHOD1(HRESULT, RemoveTool, IDirectMusicTool*,pTool)
STDMETHOD(StampPMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(InsertTool)(THIS_ IDirectMusicTool *pTool, DWORD *pdwPChannels, DWORD cPChannels, LONG lIndex) PURE; \
STDMETHOD(GetTool)(THIS_ DWORD dwIndex, IDirectMusicTool **ppTool) PURE; \
STDMETHOD(RemoveTool)(THIS_ IDirectMusicTool *pTool) PURE;
/*** IDirectMusicGraph methods ***/
#define IDirectMusicGraph_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicGraph_METHODS
ICOM_DEFINE(IDirectMusicGraph,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicGraph_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1390,28 +1390,28 @@ ICOM_DEFINE(IDirectMusicGraph,IUnknown)
/*****************************************************************************
* IDirectMusicStyle interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicStyle
#undef INTERFACE
#define INTERFACE IDirectMusicStyle
#define IDirectMusicStyle_METHODS \
/*** IDirectMusicStyle methods ***/ \
ICOM_METHOD2(HRESULT, GetBand, WCHAR*,pwszName, IDirectMusicBand**,ppBand) \
ICOM_METHOD2(HRESULT, EnumBand, DWORD,dwIndex, WCHAR*,pwszName) \
ICOM_METHOD1(HRESULT, GetDefaultBand, IDirectMusicBand**,ppBand) \
ICOM_METHOD2(HRESULT, EnumMotif, DWORD,dwIndex, WCHAR*,pwszName) \
ICOM_METHOD2(HRESULT, GetMotif, WCHAR*,pwszName, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD1(HRESULT, GetDefaultChordMap, IDirectMusicChordMap**,ppChordMap) \
ICOM_METHOD2(HRESULT, EnumChordMap, DWORD,dwIndex, WCHAR*,pwszName) \
ICOM_METHOD2(HRESULT, GetChordMap, WCHAR*,pwszName, IDirectMusicChordMap**,ppChordMap) \
ICOM_METHOD1(HRESULT, GetTimeSignature, DMUS_TIMESIGNATURE*,pTimeSig) \
ICOM_METHOD4(HRESULT, GetEmbellishmentLength, DWORD,dwType, DWORD,dwLevel, DWORD*,pdwMin, DWORD*,pdwMax) \
ICOM_METHOD1(HRESULT, GetTempo, double*,pTempo)
STDMETHOD(GetBand)(THIS_ WCHAR *pwszName, IDirectMusicBand **ppBand) PURE; \
STDMETHOD(EnumBand)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetDefaultBand)(THIS_ IDirectMusicBand **ppBand) PURE; \
STDMETHOD(EnumMotif)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetMotif)(THIS_ WCHAR *pwszName, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(GetDefaultChordMap)(THIS_ IDirectMusicChordMap **ppChordMap) PURE; \
STDMETHOD(EnumChordMap)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetChordMap)(THIS_ WCHAR *pwszName, IDirectMusicChordMap **ppChordMap) PURE; \
STDMETHOD(GetTimeSignature)(THIS_ DMUS_TIMESIGNATURE *pTimeSig) PURE; \
STDMETHOD(GetEmbellishmentLength)(THIS_ DWORD dwType, DWORD dwLevel, DWORD *pdwMin, DWORD *pdwMax) PURE; \
STDMETHOD(GetTempo)(THIS_ double *pTempo) PURE;
/*** IDirectMusicStyle methods ***/
#define IDirectMusicStyle_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicStyle_METHODS
ICOM_DEFINE(IDirectMusicStyle,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicStyle_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1434,11 +1434,11 @@ ICOM_DEFINE(IDirectMusicStyle,IUnknown)
/*****************************************************************************
* IDirectMusicStyle8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicStyle8
#undef INTERFACE
#define INTERFACE IDirectMusicStyle8
#define 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 ***/
#define IDirectMusicStyle8_IMETHODS \
@ -1446,7 +1446,7 @@ ICOM_DEFINE(IDirectMusicStyle,IUnknown)
IDirectMusicStyle_METHODS \
IDirectMusicStyle8_METHODS
ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicStyle8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1471,18 +1471,18 @@ ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle)
/*****************************************************************************
* IDirectMusicChordMap interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicChordMap
#undef INTERFACE
#define INTERFACE IDirectMusicChordMap
#define IDirectMusicChordMap_METHODS \
/*** IDirectMusicChordMap methods ***/ \
ICOM_METHOD1(HRESULT, GetScale, DWORD*,pdwScale)
STDMETHOD(GetScale)(THIS_ DWORD *pdwScale) PURE;
/*** IDirectMusicChordMap methods ***/
#define IDirectMusicChordMap_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicChordMap_METHODS
ICOM_DEFINE(IDirectMusicChordMap,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicChordMap_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1495,23 +1495,23 @@ ICOM_DEFINE(IDirectMusicChordMap,IUnknown)
/*****************************************************************************
* IDirectMusicComposer interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicComposer
#undef INTERFACE
#define INTERFACE IDirectMusicComposer
#define IDirectMusicComposer_METHODS \
/*** IDirectMusicComposer methods ***/ \
ICOM_METHOD5(HRESULT, ComposeSegmentFromTemplate, IDirectMusicStyle*,pStyle, IDirectMusicSegment*,pTemplate, WORD,wActivity, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD8(HRESULT, ComposeSegmentFromShape, IDirectMusicStyle*,pStyle, WORD,wNumMeasures, WORD,wShape, WORD,wActivity, BOOL,fIntro, BOOL,fEnd, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD7(HRESULT, ComposeTransition, IDirectMusicSegment*,pFromSeg, IDirectMusicSegment*,pToSeg, MUSIC_TIME,mtTime, WORD,wCommand, DWORD,dwFlags, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppTransSeg) \
ICOM_METHOD8(HRESULT, AutoTransition, IDirectMusicPerformance*,pPerformance, IDirectMusicSegment*,pToSeg, WORD,wCommand, DWORD,dwFlags, IDirectMusicChordMap*,pChordMap, IDirectMusicSegment**,ppTransSeg, IDirectMusicSegmentState**,ppToSegState, IDirectMusicSegmentState**,ppTransSegState) \
ICOM_METHOD6(HRESULT, ComposeTemplateFromShape, WORD,wNumMeasures, WORD,wShape, BOOL,fIntro, BOOL,fEnd, WORD,wEndLength, IDirectMusicSegment**,ppTemplate) \
ICOM_METHOD3(HRESULT, ChangeChordMap, IDirectMusicSegment*,pSegment, BOOL,fTrackScale, IDirectMusicChordMap*,pChordMap)
STDMETHOD(ComposeSegmentFromTemplate)(THIS_ IDirectMusicStyle *pStyle, IDirectMusicSegment *pTemplate, WORD wActivity, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(ComposeSegmentFromShape)(THIS_ IDirectMusicStyle *pStyle, WORD wNumMeasures, WORD wShape, WORD wActivity, BOOL fIntro, BOOL fEnd, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(ComposeTransition)(THIS_ IDirectMusicSegment *pFromSeg, IDirectMusicSegment *pToSeg, MUSIC_TIME mtTime, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppTransSeg) PURE; \
STDMETHOD(AutoTransition)(THIS_ IDirectMusicPerformance *pPerformance, IDirectMusicSegment *pToSeg, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppTransSeg, IDirectMusicSegmentState **ppToSegState, IDirectMusicSegmentState **ppTransSegState) PURE; \
STDMETHOD(ComposeTemplateFromShape)(THIS_ WORD wNumMeasures, WORD wShape, BOOL fIntro, BOOL fEnd, WORD wEndLength, IDirectMusicSegment **ppTemplate) PURE; \
STDMETHOD(ChangeChordMap)(THIS_ IDirectMusicSegment *pSegment, BOOL fTrackScale, IDirectMusicChordMap *pChordMap) PURE;
/*** IDirectMusicComposer methods ***/
#define IDirectMusicComposer_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicComposer_METHODS
ICOM_DEFINE(IDirectMusicComposer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicComposer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1529,20 +1529,20 @@ ICOM_DEFINE(IDirectMusicComposer,IUnknown)
/*****************************************************************************
* IDirectMusicPatternTrack interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicPatternTrack
#undef INTERFACE
#define INTERFACE IDirectMusicPatternTrack
#define IDirectMusicPatternTrack_METHODS \
/*** IDirectMusicPatternTrack methods ***/ \
ICOM_METHOD2(HRESULT, CreateSegment, IDirectMusicStyle*,pStyle, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD3(HRESULT, SetVariation, IDirectMusicSegmentState*,pSegState, DWORD,dwVariationFlags, DWORD,dwPart) \
ICOM_METHOD5(HRESULT, SetPatternByName, IDirectMusicSegmentState*,pSegState, WCHAR*,wszName, IDirectMusicStyle*,pStyle, DWORD,dwPatternType, DWORD*,pdwLength)
STDMETHOD(CreateSegment)(THIS_ IDirectMusicStyle *pStyle, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(SetVariation)(THIS_ IDirectMusicSegmentState *pSegState, DWORD dwVariationFlags, DWORD dwPart) PURE; \
STDMETHOD(SetPatternByName)(THIS_ IDirectMusicSegmentState *pSegState, WCHAR *wszName, IDirectMusicStyle *pStyle, DWORD dwPatternType, DWORD *pdwLength) PURE;
/*** IDirectMusicPatternTrack methods ***/
#define IDirectMusicPatternTrack_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicPatternTrack_METHODS
ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicPatternTrack_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1557,27 +1557,27 @@ ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown)
/*****************************************************************************
* IDirectMusicScript interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicScript
#undef INTERFACE
#define INTERFACE IDirectMusicScript
#define IDirectMusicScript_METHODS \
/*** IDirectMusicScript methods ***/ \
ICOM_METHOD2(HRESULT, Init, IDirectMusicPerformance*,pPerformance, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD2(HRESULT, CallRoutine, WCHAR*,pwszRoutineName, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD4(HRESULT, SetVariableVariant, WCHAR*,pwszVariableName, VARIANT,varValue, BOOL,fSetRef, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD3(HRESULT, GetVariableVariant, WCHAR*,pwszVariableName, VARIANT*,pvarValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD3(HRESULT, SetVariableNumber, WCHAR*,pwszVariableName, LONG,lValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD3(HRESULT, GetVariableNumber, WCHAR*,pwszVariableName, LONG*,plValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD3(HRESULT, SetVariableObject, WCHAR*,pwszVariableName, IUnknown*,punkValue, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD4(HRESULT, GetVariableObject, WCHAR*,pwszVariableName, REFIID,riid, LPVOID*,ppv, DMUS_SCRIPT_ERRORINFO*,pErrorInfo) \
ICOM_METHOD2(HRESULT, EnumRoutine, DWORD,dwIndex, WCHAR*,pwszName) \
ICOM_METHOD2(HRESULT, EnumVariable, DWORD,dwIndex, WCHAR*,pwszName)
STDMETHOD(Init)(THIS_ IDirectMusicPerformance *pPerformance, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(CallRoutine)(THIS_ WCHAR *pwszRoutineName, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(SetVariableVariant)(THIS_ WCHAR *pwszVariableName, VARIANT varValue, BOOL fSetRef, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(GetVariableVariant)(THIS_ WCHAR *pwszVariableName, VARIANT *pvarValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(SetVariableNumber)(THIS_ WCHAR *pwszVariableName, LONG lValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(GetVariableNumber)(THIS_ WCHAR *pwszVariableName, LONG *plValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(SetVariableObject)(THIS_ WCHAR *pwszVariableName, IUnknown *punkValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(GetVariableObject)(THIS_ WCHAR *pwszVariableName, REFIID riid, LPVOID *ppv, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(EnumRoutine)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(EnumVariable)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE;
/*** IDirectMusicScript methods ***/
#define IDirectMusicScript_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicScript_METHODS
ICOM_DEFINE(IDirectMusicScript,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicScript_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1599,18 +1599,18 @@ ICOM_DEFINE(IDirectMusicScript,IUnknown)
/*****************************************************************************
* IDirectMusicContainer interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicContainer
#undef INTERFACE
#define INTERFACE IDirectMusicContainer
#define 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 ***/
#define IDirectMusicContainer_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicContainer_METHODS
ICOM_DEFINE(IDirectMusicContainer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1623,24 +1623,24 @@ ICOM_DEFINE(IDirectMusicContainer,IUnknown)
/*****************************************************************************
* IDirectMusicSong interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSong
#undef INTERFACE
#define INTERFACE IDirectMusicSong
#define IDirectMusicSong_METHODS \
/*** IDirectMusicSong methods ***/ \
ICOM_METHOD (HRESULT, Compose) \
ICOM_METHOD6(HRESULT, GetParam, REFGUID,rguidType, DWORD,dwGroupBits, DWORD,dwIndex, MUSIC_TIME,mtTime, MUSIC_TIME*,pmtNext, void*,pParam) \
ICOM_METHOD2(HRESULT, GetSegment, WCHAR*,pwzName, IDirectMusicSegment**,ppSegment) \
ICOM_METHOD1(HRESULT, GetAudioPathConfig, IUnknown**,ppAudioPathConfig) \
ICOM_METHOD1(HRESULT, Download, IUnknown*,pAudioPath) \
ICOM_METHOD1(HRESULT, Unload, IUnknown*,pAudioPath) \
ICOM_METHOD2(HRESULT, EnumSegment, DWORD,dwIndex, IDirectMusicSegment**,ppSegment)
STDMETHOD(Compose)(THIS) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(GetSegment)(THIS_ WCHAR *pwzName, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(GetAudioPathConfig)(THIS_ IUnknown **ppAudioPathConfig) PURE; \
STDMETHOD(Download)(THIS_ IUnknown *pAudioPath) PURE; \
STDMETHOD(Unload)(THIS_ IUnknown *pAudioPath) PURE; \
STDMETHOD(EnumSegment)(THIS_ DWORD dwIndex, IDirectMusicSegment **ppSegment) PURE;
/*** IDirectMusicSong methods ***/
#define IDirectMusicSong_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicSong_METHODS
ICOM_DEFINE(IDirectMusicSong,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSynth
#undef INTERFACE
#define INTERFACE IDirectMusicSynth
#define IDirectMusicSynth_METHODS \
/*** IDirectMusicSynth methods ***/ \
ICOM_METHOD1(HRESULT, Open, LPDMUS_PORTPARAMS,pPortParams) \
ICOM_METHOD (HRESULT, Close) \
ICOM_METHOD1(HRESULT, SetNumChannelGroups, DWORD,dwGroups) \
ICOM_METHOD3(HRESULT, Download, LPHANDLE,phDownload, LPVOID,pvData, LPBOOL,pbFree) \
ICOM_METHOD3(HRESULT, Unload, HANDLE,hDownload, HRESULT,(CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE,hUserData) \
ICOM_METHOD3(HRESULT, PlayBuffer, REFERENCE_TIME,rt, LPBYTE,pbBuffer, DWORD,cbBuffer) \
ICOM_METHOD1(HRESULT, GetRunningStats, LPDMUS_SYNTHSTATS,pStats) \
ICOM_METHOD1(HRESULT, GetPortCaps, LPDMUS_PORTCAPS,pCaps) \
ICOM_METHOD1(HRESULT, SetMasterClock, IReferenceClock*,pClock) \
ICOM_METHOD1(HRESULT, GetLatencyClock, IReferenceClock**,ppClock) \
ICOM_METHOD1(HRESULT, Activate, BOOL,fEnable) \
ICOM_METHOD1(HRESULT, SetSynthSink, IDirectMusicSynthSink*,pSynthSink) \
ICOM_METHOD3(HRESULT, Render, short*,pBuffer, DWORD,dwLength, LONGLONG,llPosition) \
ICOM_METHOD3(HRESULT, SetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, DWORD,dwPriority) \
ICOM_METHOD3(HRESULT, GetChannelPriority, DWORD,dwChannelGroup, DWORD,dwChannel, LPDWORD,pdwPriority) \
ICOM_METHOD2(HRESULT, GetFormat, LPWAVEFORMATEX,pWaveFormatEx, LPDWORD,pdwWaveFormatExSiz) \
ICOM_METHOD1(HRESULT, GetAppend, DWORD*,pdwAppend)
STDMETHOD(Open)(THIS_ LPDMUS_PORTPARAMS pPortParams) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwGroups) PURE; \
STDMETHOD(Download)(THIS_ LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) PURE; \
STDMETHOD(Unload)(THIS_ HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) PURE; \
STDMETHOD(PlayBuffer)(THIS_ REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) PURE; \
STDMETHOD(GetRunningStats)(THIS_ LPDMUS_SYNTHSTATS pStats) PURE; \
STDMETHOD(GetPortCaps)(THIS_ LPDMUS_PORTCAPS pCaps) PURE; \
STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(SetSynthSink)(THIS_ IDirectMusicSynthSink *pSynthSink) PURE; \
STDMETHOD(Render)(THIS_ short *pBuffer, DWORD dwLength, LONGLONG llPosition) PURE; \
STDMETHOD(SetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE; \
STDMETHOD(GetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) PURE; \
STDMETHOD(GetAppend)(THIS_ DWORD *pdwAppend) PURE;
/*** IDirectMusicSynth methods ***/
#define IDirectMusicSynth_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicSynth_METHODS
ICOM_DEFINE(IDirectMusicSynth,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicSynth_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -119,23 +119,23 @@ ICOM_DEFINE(IDirectMusicSynth,IUnknown)
/*****************************************************************************
* IDirectMusicSynth8 interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSynth8
#undef INTERFACE
#define INTERFACE IDirectMusicSynth8
#define 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) \
ICOM_METHOD2(HRESULT, StopVoice, REFERENCE_TIME,rt, DWORD,dwVoiceId) \
ICOM_METHOD3(HRESULT, GetVoiceState, DWORD,dwVoice[], DWORD,cbVoice, DMUS_VOICE_STATE,dwVoiceState[]) \
ICOM_METHOD2(HRESULT, Refresh, DWORD,dwDownloadID, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT, AssignChannelToBuses, DWORD,dwChannelGroup, DWORD,dwChannel, LPDWORD,pdwBuses, DWORD,cBuses)
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; \
STDMETHOD(StopVoice)(THIS_ REFERENCE_TIME rt, DWORD dwVoiceId) PURE; \
STDMETHOD(GetVoiceState)(THIS_ DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[]) PURE; \
STDMETHOD(Refresh)(THIS_ DWORD dwDownloadID, DWORD dwFlags) PURE; \
STDMETHOD(AssignChannelToBuses)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses) PURE;
/*** IDirectMusicSynth methods ***/
#define IDirectMusicSynth8_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicSynth_METHODS \
IDirectMusicSynth_METHODS \
IDirectMusicSynth8_METHODS
ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectMusicSynth8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -170,25 +170,25 @@ ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
/*****************************************************************************
* IDirectMusicSynthSink interface
*/
#undef ICOM_INTERFACE
#define ICOM_INTERFACE IDirectMusicSynthSink
#undef INTERFACE
#define INTERFACE IDirectMusicSynthSink
#define IDirectMusicSynthSink_METHODS \
/*** IDirectMusicSynthSink methods ***/ \
ICOM_METHOD1(HRESULT, Init, IDirectMusicSynth*,pSynth) \
ICOM_METHOD1(HRESULT, SetMasterClock, IReferenceClock*,pClock) \
ICOM_METHOD1(HRESULT, GetLatencyClock, IReferenceClock**,ppClock) \
ICOM_METHOD1(HRESULT, Activate, BOOL,fEnable) \
ICOM_METHOD2(HRESULT, SampleToRefTime, LONGLONG,llSampleTime, REFERENCE_TIME*,prfTime) \
ICOM_METHOD2(HRESULT, RefTimeToSample, REFERENCE_TIME,rfTime, LONGLONG*,pllSampleTime) \
ICOM_METHOD2(HRESULT, SetDirectSound, LPDIRECTSOUND,pDirectSound, LPDIRECTSOUNDBUFFER,pDirectSoundBuffer) \
ICOM_METHOD1(HRESULT, GetDesiredBufferSize, LPDWORD,pdwBufferSizeInSamples)
STDMETHOD(Init)(THIS_ IDirectMusicSynth *pSynth) PURE; \
STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(SampleToRefTime)(THIS_ LONGLONG llSampleTime, REFERENCE_TIME *prfTime) PURE; \
STDMETHOD(RefTimeToSample)(THIS_ REFERENCE_TIME rfTime, LONGLONG *pllSampleTime) PURE; \
STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE; \
STDMETHOD(GetDesiredBufferSize)(THIS_ LPDWORD pdwBufferSizeInSamples) PURE;
/*** IDirectMusicSynthSink methods ***/
#define IDirectMusicSynthSink_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicSynthSink_METHODS
ICOM_DEFINE(IDirectMusicSynthSink,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IOleDocument
#define INTERFACE IOleDocument
#define IOleDocument_METHODS \
ICOM_METHOD4(HRESULT,CreateView, IOleInPlaceSite*,pIPSite, IStream*,pstm, DWORD,dwReserved, IOleDocumentView**,ppView) \
ICOM_METHOD1(HRESULT,GetDocMiscStatus, DWORD*,pdwStatus) \
ICOM_METHOD2(HRESULT,EnumViews, IEnumOleDocumentViews**,ppEnum, IOleDocumentView**,ppView)
STDMETHOD(CreateView)(THIS_ IOleInPlaceSite *pIPSite, IStream *pstm, DWORD dwReserved, IOleDocumentView **ppView) PURE; \
STDMETHOD(GetDocMiscStatus)(THIS_ DWORD *pdwStatus) PURE; \
STDMETHOD(EnumViews)(THIS_ IEnumOleDocumentViews **ppEnum, IOleDocumentView **ppView) PURE;
#define IOleDocument_IMETHODS \
IUnknown_IMETHODS \
IOleDocument_METHODS
ICOM_DEFINE(IOleDocument,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleDocument_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -217,14 +217,14 @@ ICOM_DEFINE(IOleDocument,IUnknown)
/*****************************************************************************
* IOleDocumentSite interface
*/
#define ICOM_INTERFACE IOleDocumentSite
#define INTERFACE IOleDocumentSite
#define IOleDocumentSite_METHODS \
ICOM_METHOD1(HRESULT,ActivateMe, IOleDocumentView*,pViewToActivate)
STDMETHOD(ActivateMe)(THIS_ IOleDocumentView *pViewToActivate) PURE;
#define IOleDocumentSite_IMETHODS \
IUnknown_IMETHODS \
IOleDocumentSite_METHODS
ICOM_DEFINE(IOleDocumentSite,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleDocumentSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -237,26 +237,26 @@ ICOM_DEFINE(IOleDocumentSite,IUnknown)
/*****************************************************************************
* IOleDocumentSite interface
*/
#define ICOM_INTERFACE IOleDocumentView
#define INTERFACE IOleDocumentView
#define IOleDocumentView_METHODS \
ICOM_METHOD1(HRESULT,SetInPlaceSite, IOleInPlaceSite*,pIPSite) \
ICOM_METHOD1(HRESULT,GetInPlaceSite, IOleInPlaceSite**,ppIPSite) \
ICOM_METHOD1(HRESULT,GetDocument, IUnknown**,ppunk) \
ICOM_METHOD1(HRESULT,SetRect, LPRECT,prcView) \
ICOM_METHOD1(HRESULT,GetRect, LPRECT,prcView) \
ICOM_METHOD4(HRESULT,SetRectComplex, LPRECT,prcView, LPRECT,prcHScroll, LPRECT,prcVScroll, LPRECT,prcSizeBox) \
ICOM_METHOD1(HRESULT,Show, BOOL,fShow) \
ICOM_METHOD1(HRESULT,UIActivate, BOOL,fUIActivate) \
ICOM_METHOD (HRESULT,Open) \
ICOM_METHOD1(HRESULT,CloseView, DWORD,dwReserved) \
ICOM_METHOD1(HRESULT,SaveViewState, LPSTREAM,pstm) \
ICOM_METHOD1(HRESULT,ApplyViewState,LPSTREAM,pstm) \
ICOM_METHOD2(HRESULT,Clone, IOleInPlaceSite*,pIPSiteNew, IOleDocumentView**,ppViewNew)
STDMETHOD(SetInPlaceSite)(THIS_ IOleInPlaceSite *pIPSite) PURE; \
STDMETHOD(GetInPlaceSite)(THIS_ IOleInPlaceSite **ppIPSite) PURE; \
STDMETHOD(GetDocument)(THIS_ IUnknown **ppunk) PURE; \
STDMETHOD(SetRect)(THIS_ LPRECT prcView) PURE; \
STDMETHOD(GetRect)(THIS_ LPRECT prcView) PURE; \
STDMETHOD(SetRectComplex)(THIS_ LPRECT prcView, LPRECT prcHScroll, LPRECT prcVScroll, LPRECT prcSizeBox) PURE; \
STDMETHOD(Show)(THIS_ BOOL fShow) PURE; \
STDMETHOD(UIActivate)(THIS_ BOOL fUIActivate) PURE; \
STDMETHOD(Open)(THIS) PURE; \
STDMETHOD(CloseView)(THIS_ DWORD dwReserved) PURE; \
STDMETHOD(SaveViewState)(THIS_ LPSTREAM pstm) PURE; \
STDMETHOD(ApplyViewState)(THIS_ LPSTREAM pstm) PURE; \
STDMETHOD(Clone)(THIS_ IOleInPlaceSite *pIPSiteNew, IOleDocumentView **ppViewNew) PURE;
#define IOleDocumentView_IMETHODS \
IUnknown_IMETHODS \
IOleDocumentView_METHODS
ICOM_DEFINE(IOleDocumentView,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleDocumentView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -281,17 +281,17 @@ ICOM_DEFINE(IOleDocumentView,IUnknown)
/*****************************************************************************
* IOleDocumentSite interface
*/
#define ICOM_INTERFACE IEnumOleDocumentViews
#define INTERFACE IEnumOleDocumentViews
#define IEnumOleDocumentViews_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,cViews, IOleDocumentView**,rgpView, ULONG*,pcFetched) \
ICOM_METHOD1(HRESULT,Skip, ULONG,cViews) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1(HRESULT,Clone, IEnumOleDocumentViews**,ppEnum)
STDMETHOD(Next)(THIS_ ULONG cViews, IOleDocumentView **rgpView, ULONG *pcFetched) PURE; \
STDMETHOD(Skip)(THIS_ ULONG cViews) PURE; \
STDMETHOD(Reset)(THIS) PURE; \
STDMETHOD(Clone)(THIS_ IEnumOleDocumentViews **ppEnum) PURE;
#define IEnumOleDocumentViews_IMETHODS \
IUnknown_IMETHODS \
IEnumOleDocumentViews_METHODS
ICOM_DEFINE(IEnumOleDocumentViews,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IEnumOleDocumentViews_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -307,15 +307,15 @@ ICOM_DEFINE(IEnumOleDocumentViews,IUnknown)
/*****************************************************************************
* IOleCommandTarget interface
*/
#define ICOM_INTERFACE IOleCommandTarget
#define INTERFACE IOleCommandTarget
#define IOleCommandTarget_METHODS \
ICOM_METHOD4(HRESULT,QueryStatus, const GUID*,pguidCmdGroup, ULONG,cCmds, OLECMD*,prgCmds, OLECMDTEXT*,pCmdText) \
ICOM_METHOD5(HRESULT,Exec, const GUID*,pguidCmdGroup, DWORD,nCmdID, DWORD,nCmdexecopt, VARIANT*,pvaIn, VARIANT*,pvaOut)
STDMETHOD(QueryStatus)(THIS_ const GUID *pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText) PURE; \
STDMETHOD(Exec)(THIS_ const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) PURE;
#define IOleCommandTarget_IMETHODS \
IUnknown_IMETHODS \
IOleCommandTarget_METHODS
ICOM_DEFINE(IOleCommandTarget,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleCommandTarget_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -329,15 +329,15 @@ ICOM_DEFINE(IOleCommandTarget,IUnknown)
/*****************************************************************************
* IContinueCallback interface
*/
#define ICOM_INTERFACE IContinueCallback
#define INTERFACE IContinueCallback
#define IContinueCallback_METHODS \
ICOM_METHOD (HRESULT,FContinue) \
ICOM_METHOD3(HRESULT,FContinuePrinting, LONG,nCntPrinted, LONG,nCurPage, WCHAR*,pwszPrintStatus)
STDMETHOD(FContinue)(THIS) PURE; \
STDMETHOD(FContinuePrinting)(THIS_ LONG nCntPrinted, LONG nCurPage, WCHAR *pwszPrintStatus) PURE;
#define IContinueCallback_IMETHODS \
IUnknown_IMETHODS \
IContinueCallback_METHODS
ICOM_DEFINE(IContinueCallback,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IContinueCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -351,16 +351,16 @@ ICOM_DEFINE(IContinueCallback,IUnknown)
/*****************************************************************************
* IPrint interface
*/
#define ICOM_INTERFACE IPrint
#define INTERFACE IPrint
#define IPrint_METHODS \
ICOM_METHOD1(HRESULT,SetInitialPageNum, LONG,nFirstPage) \
ICOM_METHOD2(HRESULT,GetPageInfo, LONG*,pnFirstPage, LONG*,pcPages) \
ICOM_METHOD8(HRESULT,Print, DWORD,grfFlags, DVTARGETDEVICE**,pptd, PAGESET**,ppPageSet, STGMEDIUM*,pstgmOptions, IContinueCallback*,pcallback, LONG,nFirstPage, LONG*,pcPagesPrinted, LONG*,pnLastPage)
STDMETHOD(SetInitialPageNum)(THIS_ LONG nFirstPage) PURE; \
STDMETHOD(GetPageInfo)(THIS_ LONG *pnFirstPage, LONG *pcPages) PURE; \
STDMETHOD(Print)(THIS_ DWORD grfFlags, DVTARGETDEVICE **pptd, PAGESET **ppPageSet, STGMEDIUM *pstgmOptions, IContinueCallback *pcallback, LONG nFirstPage, LONG *pcPagesPrinted, LONG *pnLastPage) PURE;
#define IPrint_IMETHODS \
IUnknown_IMETHODS \
IPrint_METHODS
ICOM_DEFINE(IPrint,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IPrint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -419,35 +419,35 @@ typedef BOOL (CALLBACK *LPDPENUMSESSIONSCALLBACK2)(
/*****************************************************************************
* IDirectPlay interface
*/
#define ICOM_INTERFACE IDirectPlay
#define INTERFACE IDirectPlay
#define IDirectPlay_METHODS \
ICOM_METHOD2(HRESULT,AddPlayerToGroup, DPID,idGroup, DPID,idPlayer) \
ICOM_METHOD (HRESULT,Close) \
ICOM_METHOD4(HRESULT,CreatePlayer, LPDPID,lpidPlayer, LPSTR,lpPlayerName, LPSTR,, LPHANDLE,) \
ICOM_METHOD3(HRESULT,CreateGroup, LPDPID,lpidGroup, LPSTR,lpGroupName, LPSTR,) \
ICOM_METHOD2(HRESULT,DeletePlayerFromGroup, DPID,idGroup, DPID,idPlayer) \
ICOM_METHOD1(HRESULT,DestroyPlayer, DPID,idPlayer) \
ICOM_METHOD1(HRESULT,DestroyGroup, DPID,idGroup) \
ICOM_METHOD1(HRESULT,EnableNewPlayers, BOOL,) \
ICOM_METHOD4(HRESULT,EnumGroupPlayers, DPID,idGroup, LPDPENUMPLAYERSCALLBACK,lpEnumPlayersCallback, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,EnumGroups, DWORD,, LPDPENUMPLAYERSCALLBACK,lpEnumPlayersCallback, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,EnumPlayers, DWORD,, LPDPENUMPLAYERSCALLBACK,lpEnumPlayersCallback, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,EnumSessions, LPDPSESSIONDESC,lpsd, DWORD,dwTimeout, LPDPENUMSESSIONSCALLBACK,lpEnumSessionsCallback, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,GetCaps, LPDPCAPS,lpDPCaps) \
ICOM_METHOD2(HRESULT,GetMessageCount, DPID,idPlayer, LPDWORD,lpdwCount) \
ICOM_METHOD2(HRESULT,GetPlayerCaps, DPID,idPlayer, LPDPCAPS,lpPlayerCaps) \
ICOM_METHOD5(HRESULT,GetPlayerName, DPID,idPlayer, LPSTR,, LPDWORD,, LPSTR,, LPDWORD,) \
ICOM_METHOD1(HRESULT,Initialize, LPGUID,lpGUID) \
ICOM_METHOD1(HRESULT,Open, LPDPSESSIONDESC,lpsd) \
ICOM_METHOD5(HRESULT,Receive, LPDPID,lpidFrom, LPDPID,lpidTo, DWORD,dwFlags, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD1(HRESULT,SaveSession, LPSTR,) \
ICOM_METHOD5(HRESULT,Send, DPID,idFrom, DPID,idTo, DWORD,dwFlags, LPVOID,lpData, DWORD,dwDataSize) \
ICOM_METHOD3(HRESULT,SetPlayerName, DPID,idPlayer, LPSTR,lpPlayerName, LPSTR,)
STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPSTR lpPlayerName, LPSTR, LPHANDLE) PURE; \
STDMETHOD(CreateGroup)(THIS_ LPDPID lpidGroup, LPSTR lpGroupName, LPSTR) PURE; \
STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(DestroyPlayer)(THIS_ DPID idPlayer) PURE; \
STDMETHOD(DestroyGroup)(THIS_ DPID idGroup) PURE; \
STDMETHOD(EnableNewPlayers)(THIS_ BOOL) PURE; \
STDMETHOD(EnumGroupPlayers)(THIS_ DPID idGroup, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumGroups)(THIS_ DWORD, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumPlayers)(THIS_ DWORD, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumSessions)(THIS_ LPDPSESSIONDESC lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK lpEnumSessionsCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDPCAPS lpDPCaps) PURE; \
STDMETHOD(GetMessageCount)(THIS_ DPID idPlayer, LPDWORD lpdwCount) PURE; \
STDMETHOD(GetPlayerCaps)(THIS_ DPID idPlayer, LPDPCAPS lpPlayerCaps) PURE; \
STDMETHOD(GetPlayerName)(THIS_ DPID idPlayer, LPSTR, LPDWORD, LPSTR, LPDWORD) PURE; \
STDMETHOD(Initialize)(THIS_ LPGUID lpGUID) PURE; \
STDMETHOD(Open)(THIS_ LPDPSESSIONDESC lpsd) PURE; \
STDMETHOD(Receive)(THIS_ LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(SaveSession)(THIS_ LPSTR) PURE; \
STDMETHOD(Send)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize) PURE; \
STDMETHOD(SetPlayerName)(THIS_ DPID idPlayer, LPSTR lpPlayerName, LPSTR) PURE;
#define IDirectPlay_IMETHODS \
IUnknown_IMETHODS \
IDirectPlay_METHODS
ICOM_DEFINE(IDirectPlay,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectPlay_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -481,42 +481,42 @@ ICOM_DEFINE(IDirectPlay,IUnknown)
/*****************************************************************************
* IDirectPlay2 and IDirectPlay2A interface
*/
#define ICOM_INTERFACE IDirectPlay2
#define INTERFACE IDirectPlay2
#define IDirectPlay2_METHODS \
ICOM_METHOD2(HRESULT,AddPlayerToGroup, DPID,idGroup, DPID,idPlayer) \
ICOM_METHOD (HRESULT,Close) \
ICOM_METHOD5(HRESULT,CreateGroup, LPDPID,lpidGroup, LPDPNAME,lpGroupName, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \
ICOM_METHOD6(HRESULT,CreatePlayer, LPDPID,lpidPlayer, LPDPNAME,lpPlayerName, HANDLE,hEvent, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,DeletePlayerFromGroup, DPID,idGroup, DPID,idPlayer) \
ICOM_METHOD1(HRESULT,DestroyGroup, DPID,idGroup) \
ICOM_METHOD1(HRESULT,DestroyPlayer, DPID,idPlayer) \
ICOM_METHOD5(HRESULT,EnumGroupPlayers, DPID,idGroup, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumPlayersCallback2, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,EnumGroups, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumPlayersCallback2, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,EnumPlayers, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumPlayersCallback2, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,EnumSessions, LPDPSESSIONDESC2,lpsd, DWORD,dwTimeout, LPDPENUMSESSIONSCALLBACK2,lpEnumSessionsCallback2, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,GetCaps, LPDPCAPS,lpDPCaps, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,GetGroupData, DPID,idGroup, LPVOID,lpData, LPDWORD,lpdwDataSize, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,GetGroupName, DPID,idGroup, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD2(HRESULT,GetMessageCount, DPID,idPlayer, LPDWORD,lpdwCount) \
ICOM_METHOD3(HRESULT,GetPlayerAddress, DPID,idPlayer, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD3(HRESULT,GetPlayerCaps, DPID,idPlayer, LPDPCAPS,lpPlayerCaps, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,GetPlayerData, DPID,idPlayer, LPVOID,lpData, LPDWORD,lpdwDataSize, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,GetPlayerName, DPID,idPlayer, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD2(HRESULT,GetSessionDesc, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD1(HRESULT,Initialize, LPGUID,lpGUID) \
ICOM_METHOD2(HRESULT,Open, LPDPSESSIONDESC2,lpsd, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,Receive, LPDPID,lpidFrom, LPDPID,lpidTo, DWORD,dwFlags, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD5(HRESULT,Send, DPID,idFrom, DPID,idTo, DWORD,dwFlags, LPVOID,lpData, DWORD,dwDataSize) \
ICOM_METHOD4(HRESULT,SetGroupData, DPID,idGroup, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,SetGroupName, DPID,idGroup, LPDPNAME,lpGroupName, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,SetPlayerData, DPID,idPlayer, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,SetPlayerName, DPID,idPlayer, LPDPNAME,lpPlayerName, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,SetSessionDesc, LPDPSESSIONDESC2,lpSessDesc, DWORD,dwFlags)
STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(CreateGroup)(THIS_ LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPDPNAME lpPlayerName, HANDLE hEvent, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(DestroyGroup)(THIS_ DPID idGroup) PURE; \
STDMETHOD(DestroyPlayer)(THIS_ DPID idPlayer) PURE; \
STDMETHOD(EnumGroupPlayers)(THIS_ DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumGroups)(THIS_ LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumPlayers)(THIS_ LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumSessions)(THIS_ LPDPSESSIONDESC2 lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumSessionsCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDPCAPS lpDPCaps, DWORD dwFlags) PURE; \
STDMETHOD(GetGroupData)(THIS_ DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(GetGroupName)(THIS_ DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetMessageCount)(THIS_ DPID idPlayer, LPDWORD lpdwCount) PURE; \
STDMETHOD(GetPlayerAddress)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetPlayerCaps)(THIS_ DPID idPlayer, LPDPCAPS lpPlayerCaps, DWORD dwFlags) PURE; \
STDMETHOD(GetPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(GetPlayerName)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetSessionDesc)(THIS_ LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(Initialize)(THIS_ LPGUID lpGUID) PURE; \
STDMETHOD(Open)(THIS_ LPDPSESSIONDESC2 lpsd, DWORD dwFlags) PURE; \
STDMETHOD(Receive)(THIS_ LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(Send)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize) PURE; \
STDMETHOD(SetGroupData)(THIS_ DPID idGroup, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(SetGroupName)(THIS_ DPID idGroup, LPDPNAME lpGroupName, DWORD dwFlags) PURE; \
STDMETHOD(SetPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(SetPlayerName)(THIS_ DPID idPlayer, LPDPNAME lpPlayerName, DWORD dwFlags) PURE; \
STDMETHOD(SetSessionDesc)(THIS_ LPDPSESSIONDESC2 lpSessDesc, DWORD dwFlags) PURE;
#define IDirectPlay2_IMETHODS \
IUnknown_IMETHODS \
IDirectPlay2_METHODS
ICOM_DEFINE(IDirectPlay2,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectPlay2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -557,28 +557,28 @@ ICOM_DEFINE(IDirectPlay2,IUnknown)
/*****************************************************************************
* IDirectPlay3 and IDirectPlay3A interface
*/
#define ICOM_INTERFACE IDirectPlay3
#define INTERFACE IDirectPlay3
#define IDirectPlay3_METHODS \
ICOM_METHOD2(HRESULT,AddGroupToGroup, DPID,idParentGroup, DPID,idGroup) \
ICOM_METHOD6(HRESULT,CreateGroupInGroup, DPID,idParentGroup, LPDPID,lpidGroup, LPDPNAME,lpGroupName, LPVOID,lpData, DWORD,dwDataSize, DWORD,dwFlags) \
ICOM_METHOD2(HRESULT,DeleteGroupFromGroup, DPID,idParentGroup, DPID,idGroup) \
ICOM_METHOD4(HRESULT,EnumConnections, LPCGUID,lpguidApplication, LPDPENUMCONNECTIONSCALLBACK,lpEnumCallback, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD5(HRESULT,EnumGroupsInGroup, DPID,idGroup, LPGUID,lpguidInstance, LPDPENUMPLAYERSCALLBACK2,lpEnumCallback, LPVOID,lpContext, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,GetGroupConnectionSettings, DWORD,dwFlags, DPID,idGroup, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD2(HRESULT,InitializeConnection, LPVOID,lpConnection, DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,SecureOpen, LPCDPSESSIONDESC2,lpsd, DWORD,dwFlags, LPCDPSECURITYDESC,lpSecurity, LPCDPCREDENTIALS,lpCredentials) \
ICOM_METHOD4(HRESULT,SendChatMessage, DPID,idFrom, DPID,idTo, DWORD,dwFlags, LPDPCHAT,lpChatMessage) \
ICOM_METHOD3(HRESULT,SetGroupConnectionSettings, DWORD,dwFlags, DPID,idGroup, LPDPLCONNECTION,lpConnection) \
ICOM_METHOD2(HRESULT,StartSession, DWORD,dwFlags, DPID,idGroup) \
ICOM_METHOD2(HRESULT,GetGroupFlags, DPID,idGroup, LPDWORD,lpdwFlags) \
ICOM_METHOD2(HRESULT,GetGroupParent, DPID,idGroup, LPDPID,lpidParent) \
ICOM_METHOD4(HRESULT,GetPlayerAccount, DPID,idPlayer, DWORD,dwFlags, LPVOID,lpData, LPDWORD,lpdwDataSize) \
ICOM_METHOD2(HRESULT,GetPlayerFlags, DPID,idPlayer, LPDWORD,lpdwFlags)
STDMETHOD(AddGroupToGroup)(THIS_ DPID idParentGroup, DPID idGroup) PURE; \
STDMETHOD(CreateGroupInGroup)(THIS_ DPID idParentGroup, LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(DeleteGroupFromGroup)(THIS_ DPID idParentGroup, DPID idGroup) PURE; \
STDMETHOD(EnumConnections)(THIS_ LPCGUID lpguidApplication, LPDPENUMCONNECTIONSCALLBACK lpEnumCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumGroupsInGroup)(THIS_ DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(GetGroupConnectionSettings)(THIS_ DWORD dwFlags, DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(InitializeConnection)(THIS_ LPVOID lpConnection, DWORD dwFlags) PURE; \
STDMETHOD(SecureOpen)(THIS_ LPCDPSESSIONDESC2 lpsd, DWORD dwFlags, LPCDPSECURITYDESC lpSecurity, LPCDPCREDENTIALS lpCredentials) PURE; \
STDMETHOD(SendChatMessage)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPDPCHAT lpChatMessage) PURE; \
STDMETHOD(SetGroupConnectionSettings)(THIS_ DWORD dwFlags, DPID idGroup, LPDPLCONNECTION lpConnection) PURE; \
STDMETHOD(StartSession)(THIS_ DWORD dwFlags, DPID idGroup) PURE; \
STDMETHOD(GetGroupFlags)(THIS_ DPID idGroup, LPDWORD lpdwFlags) PURE; \
STDMETHOD(GetGroupParent)(THIS_ DPID idGroup, LPDPID lpidParent) PURE; \
STDMETHOD(GetPlayerAccount)(THIS_ DPID idPlayer, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetPlayerFlags)(THIS_ DPID idPlayer, LPDWORD lpdwFlags) PURE;
#define IDirectPlay3_IMETHODS \
IDirectPlay2_IMETHODS \
IDirectPlay3_METHODS
ICOM_DEFINE(IDirectPlay3,IDirectPlay2)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectPlay3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -634,20 +634,20 @@ ICOM_DEFINE(IDirectPlay3,IDirectPlay2)
/*****************************************************************************
* IDirectPlay4 and IDirectPlay4A interface
*/
#define ICOM_INTERFACE IDirectPlay4
#define INTERFACE IDirectPlay4
#define IDirectPlay4_METHODS \
ICOM_METHOD2( HRESULT, GetGroupOwner, DPID,, LPDPID, ) \
ICOM_METHOD2( HRESULT, SetGroupOwner, DPID,, DPID, ) \
ICOM_METHOD9( HRESULT, SendEx, DPID,, DPID,, DWORD,, LPVOID,, DWORD,, DWORD,, DWORD,, LPVOID,, LPDWORD, ) \
ICOM_METHOD5( HRESULT, GetMessageQueue, DPID,, DPID,, DWORD,, LPDWORD,, LPDWORD, ) \
ICOM_METHOD2( HRESULT, CancelMessage, DWORD,, DWORD, ) \
ICOM_METHOD3( HRESULT, CancelPriority, DWORD,, DWORD,, DWORD, )
STDMETHOD(GetGroupOwner)(THIS_ DPID , LPDPID ) PURE; \
STDMETHOD(SetGroupOwner)(THIS_ DPID , DPID ) PURE; \
STDMETHOD(SendEx)(THIS_ DPID , DPID , DWORD , LPVOID , DWORD , DWORD , DWORD , LPVOID , LPDWORD ) PURE; \
STDMETHOD(GetMessageQueue)(THIS_ DPID , DPID , DWORD , LPDWORD , LPDWORD ) PURE; \
STDMETHOD(CancelMessage)(THIS_ DWORD , DWORD ) PURE; \
STDMETHOD(CancelPriority)(THIS_ DWORD , DWORD , DWORD ) PURE;
#define IDirectPlay4_IMETHODS \
IDirectPlay3_IMETHODS \
IDirectPlay4_METHODS
ICOM_DEFINE(IDirectPlay4,IDirectPlay3)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IDirectPlayLobby
#define INTERFACE IDirectPlayLobby
#define IDirectPlayLobby_METHODS \
ICOM_METHOD3(HRESULT,Connect, DWORD,, LPDIRECTPLAY2*,, IUnknown*,) \
ICOM_METHOD6(HRESULT,CreateAddress, REFGUID,, REFGUID,, LPCVOID,, DWORD,, LPVOID,, LPDWORD,) \
ICOM_METHOD4(HRESULT,EnumAddress, LPDPENUMADDRESSCALLBACK,, LPCVOID,, DWORD,, LPVOID,) \
ICOM_METHOD4(HRESULT,EnumAddressTypes, LPDPLENUMADDRESSTYPESCALLBACK,, REFGUID,, LPVOID,, DWORD,) \
ICOM_METHOD3(HRESULT,EnumLocalApplications, LPDPLENUMLOCALAPPLICATIONSCALLBACK,, LPVOID,, DWORD,) \
ICOM_METHOD3(HRESULT,GetConnectionSettings, DWORD,, LPVOID,, LPDWORD,) \
ICOM_METHOD5(HRESULT,ReceiveLobbyMessage, DWORD,, DWORD,, LPDWORD,, LPVOID,, LPDWORD,) \
ICOM_METHOD4(HRESULT,RunApplication, DWORD,, LPDWORD,, LPDPLCONNECTION,, HANDLE,) \
ICOM_METHOD4(HRESULT,SendLobbyMessage, DWORD,, DWORD,, LPVOID,, DWORD,) \
ICOM_METHOD3(HRESULT,SetConnectionSettings, DWORD,, DWORD,, LPDPLCONNECTION,) \
ICOM_METHOD3(HRESULT,SetLobbyMessageEvent, DWORD,, DWORD,, HANDLE,)
STDMETHOD(Connect)(THIS_ DWORD, LPDIRECTPLAY2*, IUnknown*) PURE; \
STDMETHOD(CreateAddress)(THIS_ REFGUID, REFGUID, LPCVOID, DWORD, LPVOID, LPDWORD) PURE; \
STDMETHOD(EnumAddress)(THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID, DWORD, LPVOID) PURE; \
STDMETHOD(EnumAddressTypes)(THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID, LPVOID, DWORD) PURE; \
STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK, LPVOID, DWORD) PURE; \
STDMETHOD(GetConnectionSettings)(THIS_ DWORD, LPVOID, LPDWORD) PURE; \
STDMETHOD(ReceiveLobbyMessage)(THIS_ DWORD, DWORD, LPDWORD, LPVOID, LPDWORD) PURE; \
STDMETHOD(RunApplication)(THIS_ DWORD, LPDWORD, LPDPLCONNECTION, HANDLE) PURE; \
STDMETHOD(SendLobbyMessage)(THIS_ DWORD, DWORD, LPVOID, DWORD) PURE; \
STDMETHOD(SetConnectionSettings)(THIS_ DWORD, DWORD, LPDPLCONNECTION) PURE; \
STDMETHOD(SetLobbyMessageEvent)(THIS_ DWORD, DWORD, HANDLE) PURE;
#define IDirectPlayLobby_IMETHODS \
IUnknown_IMETHODS \
IDirectPlayLobby_METHODS
ICOM_DEFINE(IDirectPlayLobby,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*****************************************************************************
* IDirectPlayLobby2 and IDirectPlayLobby2A interface
*/
#define ICOM_INTERFACE IDirectPlayLobby2
#define INTERFACE IDirectPlayLobby2
#define IDirectPlayLobby2_METHODS \
ICOM_METHOD4(HRESULT,CreateCompoundAddress, LPCDPCOMPOUNDADDRESSELEMENT,, DWORD,, LPVOID,, LPDWORD,)
STDMETHOD(CreateCompoundAddress)(THIS_ LPCDPCOMPOUNDADDRESSELEMENT, DWORD, LPVOID, LPDWORD) PURE;
#define IDirectPlayLobby2_IMETHODS \
IDirectPlayLobby_IMETHODS \
IDirectPlayLobby2_METHODS
ICOM_DEFINE(IDirectPlayLobby2,IDirectPlayLobby)
#undef ICOM_INTERFACE
#undef INTERFACE
/*****************************************************************************
* IDirectPlayLobby3 and IDirectPlayLobby3A interface
*/
#define ICOM_INTERFACE IDirectPlayLobby3
#define INTERFACE IDirectPlayLobby3
#define IDirectPlayLobby3_METHODS \
ICOM_METHOD4( HRESULT, ConnectEx, DWORD,, REFIID,, LPVOID *,, IUnknown *,) \
ICOM_METHOD2( HRESULT, RegisterApplication, DWORD,, LPDPAPPLICATIONDESC, ) \
ICOM_METHOD2( HRESULT, UnregisterApplication, DWORD,, REFGUID, ) \
ICOM_METHOD1( HRESULT, WaitForConnectionSettings, DWORD, )
STDMETHOD(ConnectEx)(THIS_ DWORD, REFIID, LPVOID *, IUnknown *) PURE; \
STDMETHOD(RegisterApplication)(THIS_ DWORD, LPDPAPPLICATIONDESC) PURE; \
STDMETHOD(UnregisterApplication)(THIS_ DWORD, REFGUID) PURE; \
STDMETHOD(WaitForConnectionSettings)(THIS_ DWORD) PURE;
#define IDirectPlayLobby3_IMETHODS \
IDirectPlayLobby2_IMETHODS \
IDirectPlayLobby3_METHODS
ICOM_DEFINE(IDirectPlayLobby3,IDirectPlayLobby2)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IDirectPlayLobby_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectPlayLobby_AddRef(p) ICOM_CALL (AddRef,p)

View File

@ -132,19 +132,19 @@ typedef struct _DSCDRIVERCAPS
/*****************************************************************************
* IDsDriver interface
*/
#define ICOM_INTERFACE IDsDriver
#define INTERFACE IDsDriver
#define IDsDriver_METHODS \
ICOM_METHOD1(HRESULT,GetDriverDesc, PDSDRIVERDESC,pDsDriverDesc) \
ICOM_METHOD (HRESULT,Open) \
ICOM_METHOD (HRESULT,Close) \
ICOM_METHOD1(HRESULT,GetCaps, PDSDRIVERCAPS,pDsDrvCaps) \
ICOM_METHOD6(HRESULT,CreateSoundBuffer, LPWAVEFORMATEX,pwfx,DWORD,dwFlags,DWORD,dwCardAddress,LPDWORD,pdwcbBufferSize,LPBYTE*,ppbBuffer,LPVOID*,ppvObj) \
ICOM_METHOD2(HRESULT,DuplicateSoundBuffer, PIDSDRIVERBUFFER,pIDsDriverBuffer,LPVOID*,ppvObj)
STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE; \
STDMETHOD(Open)(THIS) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ PDSDRIVERCAPS pDsDrvCaps) PURE; \
STDMETHOD(CreateSoundBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ PIDSDRIVERBUFFER pIDsDriverBuffer,LPVOID *ppvObj) PURE;
#define IDsDriver_IMETHODS \
IUnknown_METHODS \
IDsDriver_METHODS
ICOM_DEFINE(IDsDriver,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDsDriver_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -161,22 +161,22 @@ ICOM_DEFINE(IDsDriver,IUnknown)
/*****************************************************************************
* IDsDriverBuffer interface
*/
#define ICOM_INTERFACE IDsDriverBuffer
#define INTERFACE IDsDriverBuffer
#define IDsDriverBuffer_METHODS \
ICOM_METHOD7(HRESULT,Lock, LPVOID*,ppvAudio1,LPDWORD,pdwLen1,LPVOID*,pdwAudio2,LPDWORD,pdwLen2,DWORD,dwWritePosition,DWORD,dwWriteLen,DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,pvAudio1,DWORD,dwLen1,LPVOID,pvAudio2,DWORD,dwLen2) \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,pwfxToSet) \
ICOM_METHOD1(HRESULT,SetFrequency, DWORD,dwFrequency) \
ICOM_METHOD1(HRESULT,SetVolumePan, PDSVOLUMEPAN,pDsVolumePan) \
ICOM_METHOD1(HRESULT,SetPosition, DWORD,dwNewPosition) \
ICOM_METHOD2(HRESULT,GetPosition, LPDWORD,lpdwCurrentPlayCursor,LPDWORD,lpdwCurrentWriteCursor) \
ICOM_METHOD3(HRESULT,Play, DWORD,dwReserved1,DWORD,dwReserved2,DWORD,dwFlags) \
ICOM_METHOD (HRESULT,Stop)
STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *pdwAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE; \
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE; \
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
STDMETHOD(SetVolumePan)(THIS_ PDSVOLUMEPAN pDsVolumePan) PURE; \
STDMETHOD(SetPosition)(THIS_ DWORD dwNewPosition) PURE; \
STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(Play)(THIS_ DWORD dwReserved1,DWORD dwReserved2,DWORD dwFlags) PURE; \
STDMETHOD(Stop)(THIS) PURE;
#define IDsDriverBuffer_IMETHODS \
IUnknown_METHODS \
IDsDriverBuffer_METHODS
ICOM_DEFINE(IDsDriverBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDsDriverBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -196,16 +196,16 @@ ICOM_DEFINE(IDsDriverBuffer,IUnknown)
/*****************************************************************************
* IDsDriverPropertySet interface
*/
#define ICOM_INTERFACE IDsDriverPropertySet
#define INTERFACE IDsDriverPropertySet
#define IDsDriverPropertySet_METHODS \
ICOM_METHOD6(HRESULT,Get, PDSPROPERTY,pDsProperty,LPVOID,pPropertyParams,ULONG,cbPropertyParams,LPVOID,pPropertyData,ULONG,cbPropertyData,PULONG,pcbReturnedData) \
ICOM_METHOD5(HRESULT,Set, PDSPROPERTY,pDsProperty,LPVOID,pPropertyParams,ULONG,cbPropertyParams,LPVOID,pPropertyData,ULONG,cbPropertyData) \
ICOM_METHOD3(HRESULT,QuerySupport, REFGUID,PropertySetId,ULONG,PropertyId,PULONG,pSupport)
STDMETHOD(Get)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData,PULONG pcbReturnedData) PURE; \
STDMETHOD(Set)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData) PURE; \
STDMETHOD(QuerySupport)(THIS_ REFGUID PropertySetId,ULONG PropertyId,PULONG pSupport) PURE;
#define IDsDriverPropertySet_IMETHODS \
IUnknown_METHODS \
IDsDriverPropertySet_METHODS
ICOM_DEFINE(IDsDriverPropertySet,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDsDriverPropertySet_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -254,14 +254,14 @@ typedef enum
/*****************************************************************************
* IDsDriverNotify interface
*/
#define ICOM_INTERFACE IDsDriverNotify
#define INTERFACE IDsDriverNotify
#define IDsDriverNotify_METHODS \
ICOM_METHOD2(HRESULT,SetNotificationPositions, DWORD,dwPositionNotifies,LPCDSBPOSITIONNOTIFY,pcPositionNotifies)
STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
#define IDsDriverNotify_IMETHODS \
IUnknown_METHODS \
IDsDriverNotify_METHODS
ICOM_DEFINE(IDsDriverNotify,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDsDriverNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -273,18 +273,18 @@ ICOM_DEFINE(IDsDriverNotify,IUnknown)
/*****************************************************************************
* IDsCaptureDriver interface
*/
#define ICOM_INTERFACE IDsCaptureDriver
#define INTERFACE IDsCaptureDriver
#define IDsCaptureDriver_METHODS \
ICOM_METHOD1(HRESULT,GetDriverDesc, PDSDRIVERDESC,pDsDriverDesc) \
ICOM_METHOD (HRESULT,Open) \
ICOM_METHOD (HRESULT,Close) \
ICOM_METHOD1(HRESULT,GetCaps, PDSCDRIVERCAPS,pDsDrvCaps) \
ICOM_METHOD6(HRESULT,CreateCaptureBuffer, LPWAVEFORMATEX,pwfx,DWORD,dwFlags,DWORD,dwCardAddress,LPDWORD,pdwcbBufferSize,LPBYTE*,ppbBuffer,LPVOID*,ppvObj)
STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE; \
STDMETHOD(Open)(THIS) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ PDSCDRIVERCAPS pDsDrvCaps) PURE; \
STDMETHOD(CreateCaptureBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE;
#define IDsCaptureDriver_IMETHODS \
IUnknown_METHODS \
IDsCaptureDriver_METHODS
ICOM_DEFINE(IDsCaptureDriver,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDsCaptureDriver_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -300,20 +300,20 @@ ICOM_DEFINE(IDsCaptureDriver,IUnknown)
/*****************************************************************************
* IDsCaptureDriverBuffer interface
*/
#define ICOM_INTERFACE IDsCaptureDriverBuffer
#define INTERFACE IDsCaptureDriverBuffer
#define IDsCaptureDriverBuffer_METHODS \
ICOM_METHOD7(HRESULT,Lock, LPVOID*,ppvAudio1,LPDWORD,pdwLen1,LPVOID*,ppvAudio2,LPDWORD,pdwLen2,DWORD,dwWritePosition,DWORD,dwWriteLen,DWORD,dwFlags) \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,pvAudio1,DWORD,dwLen1,LPVOID,pvAudio2,DWORD,dwLen2) \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,pwfxToSet) \
ICOM_METHOD2(HRESULT,GetPosition, LPDWORD,lpdwCurrentPlayCursor,LPDWORD,lpdwCurrentWriteCursor) \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \
ICOM_METHOD1(HRESULT,Start, DWORD,dwFlags) \
ICOM_METHOD (HRESULT,Stop)
STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *ppvAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE; \
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE; \
STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(Stop)(THIS) PURE;
#define IDsCaptureDriverBuffer_IMETHODS \
IUnknown_METHODS \
IDsCaptureDriverBuffer_METHODS
ICOM_DEFINE(IDsCaptureDriverBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IDirectSound
#define INTERFACE IDirectSound
#define IDirectSound_METHODS \
ICOM_METHOD3(HRESULT,CreateSoundBuffer, LPDSBUFFERDESC,lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER,lplpDirectSoundBuffer, IUnknown*,pUnkOuter) \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCAPS,lpDSCaps) \
ICOM_METHOD2(HRESULT,DuplicateSoundBuffer, LPDIRECTSOUNDBUFFER,lpDsbOriginal, LPLPDIRECTSOUNDBUFFER,lplpDsbDuplicate) \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hwnd, DWORD,dwLevel) \
ICOM_METHOD (HRESULT,Compact) \
ICOM_METHOD1(HRESULT,GetSpeakerConfig, LPDWORD,lpdwSpeakerConfig) \
ICOM_METHOD1(HRESULT,SetSpeakerConfig, DWORD,dwSpeakerConfig) \
ICOM_METHOD1(HRESULT,Initialize, LPCGUID,lpcGuid)
STDMETHOD(CreateSoundBuffer)(THIS_ LPDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE; \
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE; \
STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE; \
STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE;
#define IDirectSound_IMETHODS \
IUnknown_IMETHODS \
IDirectSound_METHODS
ICOM_DEFINE(IDirectSound,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectSound_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -364,22 +364,22 @@ ICOM_DEFINE(IDirectSound,IUnknown)
/*****************************************************************************
* IDirectSound8 interface
*/
#define ICOM_INTERFACE IDirectSound8
#define INTERFACE IDirectSound8
#define IDirectSound8_METHODS \
ICOM_METHOD3(HRESULT,CreateSoundBuffer, LPDSBUFFERDESC,lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER8,lplpDirectSoundBuffer, IUnknown*,pUnkOuter) \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCAPS,lpDSCaps) \
ICOM_METHOD2(HRESULT,DuplicateSoundBuffer, LPDIRECTSOUNDBUFFER8,lpDsbOriginal, LPLPDIRECTSOUNDBUFFER8,lplpDsbDuplicate) \
ICOM_METHOD2(HRESULT,SetCooperativeLevel, HWND,hwnd, DWORD,dwLevel) \
ICOM_METHOD (HRESULT,Compact) \
ICOM_METHOD1(HRESULT,GetSpeakerConfig, LPDWORD,lpdwSpeakerConfig) \
ICOM_METHOD1(HRESULT,SetSpeakerConfig, DWORD,dwSpeakerConfig) \
ICOM_METHOD1(HRESULT,Initialize, LPCGUID,lpcGuid) \
ICOM_METHOD1(HRESULT,VerifyCertification, LPDWORD,pdwCertified)
STDMETHOD(CreateSoundBuffer)(THIS_ LPDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER8 lpDsbOriginal, LPLPDIRECTSOUNDBUFFER8 lplpDsbDuplicate) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE; \
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE; \
STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE; \
STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE; \
STDMETHOD(VerifyCertification)(THIS_ LPDWORD pdwCertified) PURE;
#define IDirectSound8_IMETHODS \
IUnknown_IMETHODS \
IDirectSound8_METHODS
ICOM_DEFINE(IDirectSound8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectSound8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -401,31 +401,31 @@ ICOM_DEFINE(IDirectSound8,IUnknown)
/*****************************************************************************
* IDirectSoundBuffer interface
*/
#define ICOM_INTERFACE IDirectSoundBuffer
#define INTERFACE IDirectSoundBuffer
#define IDirectSoundBuffer_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDSBCAPS,lpDSBufferCaps) \
ICOM_METHOD2(HRESULT,GetCurrentPosition, LPDWORD,lpdwCurrentPlayCursor, LPDWORD,lpdwCurrentWriteCursor) \
ICOM_METHOD3(HRESULT,GetFormat, LPWAVEFORMATEX,lpwfxFormat, DWORD,dwSizeAllocated, LPDWORD,lpdwSizeWritten) \
ICOM_METHOD1(HRESULT,GetVolume, LPLONG,lplVolume) \
ICOM_METHOD1(HRESULT,GetPan, LPLONG,lplpan) \
ICOM_METHOD1(HRESULT,GetFrequency, LPDWORD,lpdwFrequency) \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTSOUND,lpDirectSound, LPDSBUFFERDESC,lpcDSBufferDesc) \
ICOM_METHOD7(HRESULT,Lock, DWORD,dwWriteCursor, DWORD,dwWriteBytes, LPVOID,lplpvAudioPtr1, LPDWORD,lpdwAudioBytes1, LPVOID,lplpvAudioPtr2, LPDWORD,lpdwAudioBytes2, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,Play, DWORD,dwReserved1, DWORD,dwReserved2, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,SetCurrentPosition, DWORD,dwNewPosition) \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,lpcfxFormat) \
ICOM_METHOD1(HRESULT,SetVolume, LONG,lVolume) \
ICOM_METHOD1(HRESULT,SetPan, LONG,lPan) \
ICOM_METHOD1(HRESULT,SetFrequency, DWORD,dwFrequency) \
ICOM_METHOD (HRESULT,Stop) \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,lpvAudioPtr1, DWORD,dwAudioBytes1, LPVOID,lpvAudioPtr2, DWORD,dwAudioPtr2) \
ICOM_METHOD (HRESULT,Restore)
STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE; \
STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE; \
STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPDSBUFFERDESC lpcDSBufferDesc) PURE; \
STDMETHOD(Lock)(THIS_ DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE; \
STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE; \
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX lpcfxFormat) PURE; \
STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE; \
STDMETHOD(SetPan)(THIS_ LONG lPan) PURE; \
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioPtr2) PURE; \
STDMETHOD(Restore)(THIS) PURE;
#define IDirectSoundBuffer_IMETHODS \
IUnknown_IMETHODS \
IDirectSoundBuffer_METHODS
ICOM_DEFINE(IDirectSoundBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectSoundBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -455,34 +455,34 @@ ICOM_DEFINE(IDirectSoundBuffer,IUnknown)
/*****************************************************************************
* IDirectSoundBuffer8 interface
*/
#define ICOM_INTERFACE IDirectSoundBuffer8
#define INTERFACE IDirectSoundBuffer8
#define IDirectSoundBuffer8_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDSBCAPS,lpDSBufferCaps) \
ICOM_METHOD2(HRESULT,GetCurrentPosition, LPDWORD,lpdwCurrentPlayCursor, LPDWORD,lpdwCurrentWriteCursor) \
ICOM_METHOD3(HRESULT,GetFormat, LPWAVEFORMATEX,lpwfxFormat, DWORD,dwSizeAllocated, LPDWORD,lpdwSizeWritten) \
ICOM_METHOD1(HRESULT,GetVolume, LPLONG,lplVolume) \
ICOM_METHOD1(HRESULT,GetPan, LPLONG,lplpan) \
ICOM_METHOD1(HRESULT,GetFrequency, LPDWORD,lpdwFrequency) \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTSOUND8,lpDirectSound, LPDSBUFFERDESC,lpcDSBufferDesc) \
ICOM_METHOD7(HRESULT,Lock, DWORD,dwWriteCursor, DWORD,dwWriteBytes, LPVOID,lplpvAudioPtr1, LPDWORD,lpdwAudioBytes1, LPVOID,lplpvAudioPtr2, LPDWORD,lpdwAudioBytes2, DWORD,dwFlags) \
ICOM_METHOD3(HRESULT,Play, DWORD,dwReserved1, DWORD,dwReserved2, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,SetCurrentPosition, DWORD,dwNewPosition) \
ICOM_METHOD1(HRESULT,SetFormat, LPWAVEFORMATEX,lpcfxFormat) \
ICOM_METHOD1(HRESULT,SetVolume, LONG,lVolume) \
ICOM_METHOD1(HRESULT,SetPan, LONG,lPan) \
ICOM_METHOD1(HRESULT,SetFrequency, DWORD,dwFrequency) \
ICOM_METHOD (HRESULT,Stop) \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,lpvAudioPtr1, DWORD,dwAudioBytes1, LPVOID,lpvAudioPtr2, DWORD,dwAudioPtr2) \
ICOM_METHOD (HRESULT,Restore) \
ICOM_METHOD3(HRESULT,SetFX, DWORD,dwEffectsCount, LPDSEFFECTDESC,pDSFXDesc, LPDWORD,pdwResultCodes) \
ICOM_METHOD3(HRESULT,AcquireResources, DWORD,dwFlags, DWORD,dwEffectsCount, LPDWORD,pdwResultCodes) \
ICOM_METHOD4(HRESULT,GetObjectInPath, REFGUID,rguidObject, DWORD,dwIndex, REFGUID,rguidInterface, LPVOID*,ppObject)
STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE; \
STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE; \
STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND8 lpDirectSound, LPDSBUFFERDESC lpcDSBufferDesc) PURE; \
STDMETHOD(Lock)(THIS_ DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE; \
STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE; \
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX lpcfxFormat) PURE; \
STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE; \
STDMETHOD(SetPan)(THIS_ LONG lPan) PURE; \
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioPtr2) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetFX)(THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE; \
STDMETHOD(AcquireResources)(THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE; \
STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
#define IDirectSoundBuffer8_IMETHODS \
IUnknown_IMETHODS \
IDirectSoundBuffer8_METHODS
ICOM_DEFINE(IDirectSoundBuffer8,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectSoundBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -516,17 +516,17 @@ ICOM_DEFINE(IDirectSoundBuffer8,IUnknown)
/*****************************************************************************
* IDirectSoundCapture interface
*/
#define ICOM_INTERFACE IDirectSoundCapture
#define INTERFACE IDirectSoundCapture
#define IDirectSoundCapture_METHODS \
ICOM_METHOD3(HRESULT,CreateCaptureBuffer, LPCDSCBUFFERDESC,lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER*,lplpDSCaptureBuffer, LPUNKNOWN,pUnk) \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCCAPS,lpDSCCaps) \
ICOM_METHOD1(HRESULT,Initialize, LPCGUID,lpcGUID)
STDMETHOD(CreateCaptureBuffer)(THIS_ LPCDSCBUFFERDESC lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER *lplpDSCaptureBuffer, LPUNKNOWN pUnk) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCCAPS lpDSCCaps) PURE; \
STDMETHOD(Initialize)(THIS_ LPCGUID lpcGUID) PURE;
#define IDirectSoundCapture_IMETHODS \
IUnknown_IMETHODS \
IDirectSoundCapture_METHODS
ICOM_DEFINE(IDirectSoundCapture,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IDirectSoundCapture_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundCapture_AddRef(p) ICOM_CALL (AddRef,p)
@ -538,23 +538,23 @@ ICOM_DEFINE(IDirectSoundCapture,IUnknown)
/*****************************************************************************
* IDirectSoundCaptureBuffer interface
*/
#define ICOM_INTERFACE IDirectSoundCaptureBuffer
#define INTERFACE IDirectSoundCaptureBuffer
#define IDirectSoundCaptureBuffer_METHODS \
ICOM_METHOD1(HRESULT,GetCaps, LPDSCBCAPS,lpDSCBCaps) \
ICOM_METHOD2(HRESULT,GetCurrentPosition, LPDWORD,lpdwCapturePosition,LPDWORD,lpdwReadPosition) \
ICOM_METHOD3(HRESULT,GetFormat, LPWAVEFORMATEX,lpwfxFormat, DWORD,dwSizeAllocated, LPDWORD,lpdwSizeWritten) \
ICOM_METHOD1(HRESULT,GetStatus, LPDWORD,lpdwStatus) \
ICOM_METHOD2(HRESULT,Initialize, LPDIRECTSOUNDCAPTURE,lpDSC, LPCDSCBUFFERDESC,lpcDSCBDesc) \
ICOM_METHOD7(HRESULT,Lock, DWORD,dwReadCusor, DWORD,dwReadBytes, LPVOID*,lplpvAudioPtr1, LPDWORD,lpdwAudioBytes1, LPVOID*,lplpvAudioPtr2, LPDWORD,lpdwAudioBytes2, DWORD,dwFlags) \
ICOM_METHOD1(HRESULT,Start, DWORD,dwFlags) \
ICOM_METHOD (HRESULT,Stop) \
ICOM_METHOD4(HRESULT,Unlock, LPVOID,lpvAudioPtr1, DWORD,dwAudioBytes1, LPVOID,lpvAudioPtr2, DWORD,dwAudioBytes2)
STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE; \
STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioBytes2) PURE;
#define IDirectSoundCaptureBuffer_IMETHODS \
IUnknown_IMETHODS \
IDirectSoundCaptureBuffer_METHODS
ICOM_DEFINE(IDirectSoundCaptureBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundCaptureBuffer_AddRef(p) ICOM_CALL (AddRef,p)
@ -572,16 +572,16 @@ ICOM_DEFINE(IDirectSoundCaptureBuffer,IUnknown)
/*****************************************************************************
* IDirectSoundCaptureBuffer8 interface
*/
#define ICOM_INTERFACE IDirectSoundCaptureBuffer8
#define INTERFACE IDirectSoundCaptureBuffer8
#define IDirectSoundCaptureBuffer8_METHODS \
ICOM_METHOD4(HRESULT,GetObjectInPath, REFGUID,rguidObject, DWORD,dwIndex, REFGUID,rguidInterface, LPVOID*,ppObject) \
ICOM_METHOD2(HRESULT,GetFXStatus, DWORD,dwFXCount, LPDWORD,pdwFXStatus)
STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE; \
STDMETHOD(GetFXStatus)(THIS_ DWORD dwFXCount, LPDWORD pdwFXStatus) PURE;
#define IDirectSoundCaptureBuffer8_IMETHODS \
IDirectSoundCaptureBuffer_IMETHODS \
IDirectSoundCaptureBuffer8_METHODS
ICOM_DEFINE(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IDirectSoundCaptureBuffer8_AddRef(p) ICOM_CALL (AddRef,p)
@ -605,14 +605,14 @@ ICOM_DEFINE(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
#define DSBPN_OFFSETSTOP -1
#define ICOM_INTERFACE IDirectSoundNotify
#define INTERFACE IDirectSoundNotify
#define IDirectSoundNotify_METHODS \
ICOM_METHOD2(HRESULT,SetNotificationPositions, DWORD,cPositionNotifies, LPCDSBPOSITIONNOTIFY,lpcPositionNotifies)
STDMETHOD(SetNotificationPositions)(THIS_ DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies) PURE;
#define IDirectSoundNotify_IMETHODS \
IUnknown_IMETHODS \
IDirectSoundNotify_METHODS
ICOM_DEFINE(IDirectSoundNotify,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectSoundNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -666,28 +666,28 @@ typedef struct _DS3DLISTENER {
typedef const DS3DLISTENER *LPCDS3DLISTENER;
#define ICOM_INTERFACE IDirectSound3DListener
#define INTERFACE IDirectSound3DListener
#define IDirectSound3DListener_METHODS \
ICOM_METHOD1(HRESULT,GetAllParameters, LPDS3DLISTENER,lpListener) \
ICOM_METHOD1(HRESULT,GetDistanceFactor, LPD3DVALUE,lpflDistanceFactor) \
ICOM_METHOD1(HRESULT,GetDopplerFactor, LPD3DVALUE,lpflDopplerFactor) \
ICOM_METHOD2(HRESULT,GetOrientation, LPD3DVECTOR,lpvOrientFront, LPD3DVECTOR,lpvOrientTop) \
ICOM_METHOD1(HRESULT,GetPosition, LPD3DVECTOR,lpvPosition) \
ICOM_METHOD1(HRESULT,GetRolloffFactor, LPD3DVALUE,lpflRolloffFactor) \
ICOM_METHOD1(HRESULT,GetVelocity, LPD3DVECTOR,lpvVelocity) \
ICOM_METHOD2(HRESULT,SetAllParameters, LPCDS3DLISTENER,lpcListener, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetDistanceFactor, D3DVALUE,flDistanceFactor, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetDopplerFactor, D3DVALUE,flDopplerFactor, DWORD,dwApply) \
ICOM_METHOD7(HRESULT,SetOrientation, D3DVALUE,xFront, D3DVALUE,yFront, D3DVALUE,zFront, D3DVALUE,xTop, D3DVALUE,yTop, D3DVALUE,zTop, DWORD,dwApply) \
ICOM_METHOD4(HRESULT,SetPosition, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetRolloffFactor, D3DVALUE,flRolloffFactor, DWORD,dwApply) \
ICOM_METHOD4(HRESULT,SetVelocity, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \
ICOM_METHOD (HRESULT,CommitDeferredSettings)
STDMETHOD(GetAllParameters)(THIS_ LPDS3DLISTENER lpListener) PURE; \
STDMETHOD(GetDistanceFactor)(THIS_ LPD3DVALUE lpflDistanceFactor) PURE; \
STDMETHOD(GetDopplerFactor)(THIS_ LPD3DVALUE lpflDopplerFactor) PURE; \
STDMETHOD(GetOrientation)(THIS_ LPD3DVECTOR lpvOrientFront, LPD3DVECTOR lpvOrientTop) PURE; \
STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE; \
STDMETHOD(GetRolloffFactor)(THIS_ LPD3DVALUE lpflRolloffFactor) PURE; \
STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE; \
STDMETHOD(SetAllParameters)(THIS_ LPCDS3DLISTENER lpcListener, DWORD dwApply) PURE; \
STDMETHOD(SetDistanceFactor)(THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE; \
STDMETHOD(SetDopplerFactor)(THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE; \
STDMETHOD(SetOrientation)(THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront, D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE; \
STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
STDMETHOD(SetRolloffFactor)(THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE; \
STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
STDMETHOD(CommitDeferredSettings)(THIS) PURE;
#define IDirectSound3DListener_IMETHODS \
IUnknown_IMETHODS \
IDirectSound3DListener_METHODS
ICOM_DEFINE(IDirectSound3DListener,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IDirectSound3DListener_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -729,31 +729,31 @@ typedef struct _DS3DBUFFER {
typedef const DS3DBUFFER *LPCDS3DBUFFER;
#define ICOM_INTERFACE IDirectSound3DBuffer
#define INTERFACE IDirectSound3DBuffer
#define IDirectSound3DBuffer_METHODS \
ICOM_METHOD1(HRESULT,GetAllParameters, LPDS3DBUFFER,lpDs3dBuffer) \
ICOM_METHOD2(HRESULT,GetConeAngles, LPDWORD,lpdwInsideConeAngle, LPDWORD,lpdwOutsideConeAngle) \
ICOM_METHOD1(HRESULT,GetConeOrientation, LPD3DVECTOR,lpvOrientation) \
ICOM_METHOD1(HRESULT,GetConeOutsideVolume, LPLONG,lplConeOutsideVolume) \
ICOM_METHOD1(HRESULT,GetMaxDistance, LPD3DVALUE,lpflMaxDistance) \
ICOM_METHOD1(HRESULT,GetMinDistance, LPD3DVALUE,lpflMinDistance) \
ICOM_METHOD1(HRESULT,GetMode, LPDWORD,lpwdMode) \
ICOM_METHOD1(HRESULT,GetPosition, LPD3DVECTOR,lpvPosition) \
ICOM_METHOD1(HRESULT,GetVelocity, LPD3DVECTOR,lpvVelocity) \
ICOM_METHOD2(HRESULT,SetAllParameters, LPCDS3DBUFFER,lpcDs3dBuffer, DWORD,dwApply) \
ICOM_METHOD3(HRESULT,SetConeAngles, DWORD,dwInsideConeAngle, DWORD,dwOutsideConeAngle, DWORD,dwApply) \
ICOM_METHOD4(HRESULT,SetConeOrientation, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetConeOutsideVolume, LONG,lConeOutsideVolume, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetMaxDistance, D3DVALUE,flMaxDistance, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetMinDistance, D3DVALUE,flMinDistance, DWORD,dwApply) \
ICOM_METHOD2(HRESULT,SetMode, DWORD,dwMode, DWORD,dwApply) \
ICOM_METHOD4(HRESULT,SetPosition, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply) \
ICOM_METHOD4(HRESULT,SetVelocity, D3DVALUE,x, D3DVALUE,y, D3DVALUE,z, DWORD,dwApply)
STDMETHOD(GetAllParameters)(THIS_ LPDS3DBUFFER lpDs3dBuffer) PURE; \
STDMETHOD(GetConeAngles)(THIS_ LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle) PURE; \
STDMETHOD(GetConeOrientation)(THIS_ LPD3DVECTOR lpvOrientation) PURE; \
STDMETHOD(GetConeOutsideVolume)(THIS_ LPLONG lplConeOutsideVolume) PURE; \
STDMETHOD(GetMaxDistance)(THIS_ LPD3DVALUE lpflMaxDistance) PURE; \
STDMETHOD(GetMinDistance)(THIS_ LPD3DVALUE lpflMinDistance) PURE; \
STDMETHOD(GetMode)(THIS_ LPDWORD lpwdMode) PURE; \
STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE; \
STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE; \
STDMETHOD(SetAllParameters)(THIS_ LPCDS3DBUFFER lpcDs3dBuffer, DWORD dwApply) PURE; \
STDMETHOD(SetConeAngles)(THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE; \
STDMETHOD(SetConeOrientation)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
STDMETHOD(SetConeOutsideVolume)(THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE; \
STDMETHOD(SetMaxDistance)(THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE; \
STDMETHOD(SetMinDistance)(THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE; \
STDMETHOD(SetMode)(THIS_ DWORD dwMode, DWORD dwApply) PURE; \
STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
#define IDirectSound3DBuffer_IMETHODS \
IUnknown_IMETHODS \
IDirectSound3DBuffer_METHODS
ICOM_DEFINE(IDirectSound3DBuffer,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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_SET 2
#define ICOM_INTERFACE IKsPropertySet
#define INTERFACE IKsPropertySet
#define IKsPropertySet_METHODS \
ICOM_METHOD7(HRESULT,Get,REFGUID,rgid,ULONG,x1,LPVOID,p1,ULONG,x2,LPVOID,p2,ULONG,x3,ULONG*,px4)\
ICOM_METHOD6(HRESULT,Set,REFGUID,rgid,ULONG,x1,LPVOID,p1,ULONG,x2,LPVOID,p2,ULONG,x3)\
ICOM_METHOD3(HRESULT,QuerySupport,REFGUID,rgid,ULONG,x1,ULONG*,px2)
STDMETHOD(Get)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3,ULONG *px4) PURE;\
STDMETHOD(Set)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3) PURE;\
STDMETHOD(QuerySupport)(THIS_ REFGUID rgid,ULONG x1,ULONG *px2) PURE;
#define IKsPropertySet_IMETHODS \
IUnknown_IMETHODS \
IKsPropertySet_METHODS
ICOM_DEFINE(IKsPropertySet,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IKsPropertySet_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IKsPropertySet_AddRef(p) ICOM_CALL (AddRef,p)
@ -807,14 +807,14 @@ ICOM_DEFINE(IKsPropertySet,IUnknown)
/*****************************************************************************
* IDirectSoundFullDuplex interface
*/
#define ICOM_INTERFACE IDirectSoundFullDuplex
#define INTERFACE IDirectSoundFullDuplex
#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 \
IUnknown_IMETHODS \
IDirectSoundFullDuplex_METHODS
ICOM_DEFINE(IDirectSoundFullDuplex,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IDirectSoundFullDuplex_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#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:
*
* #define ICOM_INTERFACE IDirect3D
* #define INTERFACE IDirect3D
* #define IDirect3D_METHODS \
* ICOM_METHOD1(HRESULT,Initialize, REFIID,) \
* ICOM_METHOD2(HRESULT,EnumDevices, LPD3DENUMDEVICESCALLBACK,, LPVOID,) \
* ICOM_METHOD2(HRESULT,CreateLight, LPDIRECT3DLIGHT*,, IUnknown*,) \
* ICOM_METHOD2(HRESULT,CreateMaterial,LPDIRECT3DMATERIAL*,, IUnknown*,) \
* ICOM_METHOD2(HRESULT,CreateViewport,LPDIRECT3DVIEWPORT*,, IUnknown*,) \
* ICOM_METHOD2(HRESULT,FindDevice, LPD3DFINDDEVICESEARCH,, LPD3DFINDDEVICERESULT,)
* STDMETHOD(Initialize)(THIS_ REFIID) PURE; \
* STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK, LPVOID) PURE; \
* STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT*, IUnknown*) PURE; \
* STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL*, IUnknown*) PURE; \
* STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT*, IUnknown*) PURE; \
* STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT) PURE;
* #define IDirect3D_IMETHODS \
* IUnknown_IMETHODS \
* IDirect3D_METHODS
* ICOM_DEFINE(IDirect3D,IUnknown)
* #undef ICOM_INTERFACE
* #undef INTERFACE
*
* #ifdef ICOM_CINTERFACE
* // *** IUnknown methods *** //
@ -321,10 +321,10 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
* #endif
*
* 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
* name everywhere. Note however that because of the way macros work, a macro like ICOM_METHOD1
* cannot use 'ICOM_INTERFACE##_VTABLE' because this would give 'ICOM_INTERFACE_VTABLE' and not
* name everywhere. Note however that because of the way macros work, a macro like STDMETHOD
* cannot use 'INTERFACE##_VTABLE' because this would give 'INTERFACE_VTABLE' and not
* 'IDirect3D_VTABLE'.
* - ICOM_METHODS defines the methods specific to this interface. It is then aggregated with the
* 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
* Xxx_IMETHODS macro. In C++ we need only use the IDirect3D_METHODS since method inheritance
* is taken care of by the language.
* - In C++ the ICOM_METHOD macros generate a function prototype and a call to a function pointer
* method. This means using once 't1 p1, t2 p2, ...' and once 'p1, p2' without the types. The
* only way I found to handle this is to have one ICOM_METHOD macro per number of parameters and
* 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.
* - The 'undef INTERFACE' is here to remind you that using 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 INTERFACE will be long gone anyway.
* - 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
* 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++):
*
* typedef struct IDirect3D: public IUnknown {
* private: HRESULT (*Initialize)(IDirect3D* me, REFIID a);
* public: inline HRESULT Initialize(REFIID a) { return ((IDirect3D*)t.lpVtbl)->Initialize(this,a); };
* private: HRESULT (*EnumDevices)(IDirect3D* me, LPD3DENUMDEVICESCALLBACK a, LPVOID b);
* public: inline HRESULT EnumDevices(LPD3DENUMDEVICESCALLBACK a, LPVOID b)
* { return ((IDirect3D*)t.lpVtbl)->EnumDevices(this,a,b); };
* private: HRESULT (*freateLight)(IDirect3D* me, LPDIRECT3DLIGHT* a, IUnknown* b);
* 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); };
* virtual HRESULT Initialize(REFIID a) = 0;
* virtual HRESULT EnumDevices(LPD3DENUMDEVICESCALLBACK a, LPVOID b) = 0;
* virtual HRESULT CreateLight(LPDIRECT3DLIGHT* a, IUnknown* b) = 0;
* virtual HRESULT CreateMaterial(LPDIRECT3DMATERIAL* a, IUnknown* b) = 0;
* virtual HRESULT CreateViewport(LPDIRECT3DVIEWPORT* a, IUnknown* b) = 0;
* virtual HRESULT FindDevice(LPD3DFINDDEVICESEARCH a, LPD3DFINDDEVICERESULT b) = 0;
* };
*
* 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.
* - 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
* 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.
@ -505,268 +465,81 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
#endif
#ifndef ICOM_CINTERFACE
/* C++ interface */
#define ICOM_METHOD(ret,xfn) \
public: virtual ret CALLBACK (xfn)(void) = 0;
#define ICOM_METHOD1(ret,xfn,ta,na) \
public: virtual ret CALLBACK (xfn)(ta a) = 0;
#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 STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
#define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method
#define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method
#define PURE = 0
#define THIS_
#define THIS void
#define ICOM_VMETHOD(xfn) \
public: virtual void CALLBACK (xfn)(void) = 0;
#define ICOM_VMETHOD1(xfn,ta,na) \
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 interface struct
#define DECLARE_INTERFACE(iface) interface iface
#define DECLARE_INTERFACE_(iface,ibase) interface iface : public ibase
#define BEGIN_INTERFACE
#define END_INTERFACE
/* Wine-specific macros */
#define ICOM_DEFINE(iface,ibase) \
struct iface: public ibase { \
iface##_METHODS \
} ICOM_COM_INTERFACE_ATTRIBUTE;
#define ICOM_DEFINE1(iface) \
struct iface { \
DECLARE_INTERFACE_(iface,ibase) { \
iface##_METHODS \
} ICOM_COM_INTERFACE_ATTRIBUTE;
#define ICOM_VTBL(iface) (iface)
#else
#else /* ICOM_CINTERFACE */
/* C interface */
#define ICOM_METHOD(ret,xfn) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me);
#define ICOM_METHOD1(ret,xfn,ta,na) \
ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a);
#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 STDMETHOD(method) HRESULT (STDMETHODCALLTYPE *method)
#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE *method)
#define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
#define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE *method)
#define ICOM_VMETHOD(xfn) \
void (CALLBACK *xfn)(ICOM_INTERFACE* me);
#define ICOM_VMETHOD1(xfn,ta,na) \
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 PURE
#define THIS_ INTERFACE *This,
#define THIS INTERFACE *This
#define interface struct
#define ICOM_VTABLE(iface) iface##Vtbl
#define ICOM_VFIELD(iface) ICOM_VTABLE(iface)* lpVtbl
#define ICOM_VTBL(iface) (iface)->lpVtbl
#ifdef CONST_VTABLE
#undef CONST_VTBL
#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) \
typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \
struct iface { \
const ICOM_VFIELD(iface); \
}; \
struct ICOM_VTABLE(iface) { \
DECLARE_INTERFACE_(iface,ibase) { \
ICOM_MSVTABLE_COMPAT_FIELDS \
ibase##_IMETHODS \
iface##_METHODS \
};
#define ICOM_DEFINE1(iface) \
typedef struct ICOM_VTABLE(iface) ICOM_VTABLE(iface); \
struct iface { \
const ICOM_VFIELD(iface); \
}; \
struct ICOM_VTABLE(iface) { \
ICOM_MSVTABLE_COMPAT_FIELDS \
iface##_METHODS \
};
#define ICOM_VTABLE(iface) iface##Vtbl
#define ICOM_VFIELD(iface) ICOM_VTABLE(iface)* lpVtbl
#define ICOM_VTBL(iface) (iface)->lpVtbl
#define ICOM_THIS(impl,iface) impl* const This=(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_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_CALL1(xfn, ptr,a) ICOM_VTBL(ptr)->xfn(ptr,a)
@ -806,59 +579,13 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
#ifndef __WINESRC__
/* These macros are msdev's way of defining COM objects.
* They are provided here for use by Winelib developpers.
*/
#define FARSTRUCT
#define HUGEP
#define WINOLEAPI STDAPI
#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 /* _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
*/
#define ICOM_INTERFACE IOleUILinkContainerA
#define INTERFACE IOleUILinkContainerA
#define IOleUILinkContainerA_METHODS \
ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \
ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \
ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \
ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPSTR,lpszDisplayName, \
ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \
ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \
LPSTR*,lplpszDisplayName, ULONG*,lplenFileName, \
LPSTR*,lplpszFullLinkType, LPSTR*,lplpszShortLinkType, \
BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \
ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \
ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \
BOOL,fErrorMessage, BOOL,fReserved) \
ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName, \
ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName, \
LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType, \
BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
#define IOleUILinkContainerA_IMETHODS \
IUnknown_IMETHODS \
IOleUILinkContainerA_METHODS
ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define ICOM_INTERFACE IOleUILinkContainerW
#define INTERFACE IOleUILinkContainerW
#define IOleUILinkContainerW_METHODS \
ICOM_METHOD1(DWORD,GetNextLink, DWORD,dwLink) \
ICOM_METHOD2(HRESULT,SetLinkUpdateOptions, DWORD,dwLink, DWORD,dwUpdateOpt) \
ICOM_METHOD2(HRESULT,GetLinkUpdateOptions, DWORD,dwLink, DWORD*,lpdwUpdateOpt) \
ICOM_METHOD5(HRESULT,SetLinkSource, DWORD,dwLink, LPWSTR,lpszDisplayName, \
ULONG,lenFileName, ULONG*,pchEaten, BOOL,fValidateSource) \
ICOM_METHOD7(HRESULT,GetLinkSource, DWORD,dwLink, \
LPWSTR*,lplpszDisplayName, ULONG*,lplenFileName, \
LPWSTR*,lplpszFullLinkType, LPWSTR*,lplpszShortLinkType, \
BOOL*,lpfSourceAvailable, BOOL*,lpfIsSelected) \
ICOM_METHOD1(HRESULT,OpenLinkSource, DWORD,dwLink) \
ICOM_METHOD3(HRESULT,UpdateLink, DWORD,dwLink, \
BOOL,fErrorMessage, BOOL,fReserved) \
ICOM_METHOD1(HRESULT,CancelLink, DWORD,dwLink)
STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName, \
ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName, \
LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType, \
BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
#define IOleUILinkContainerW_IMETHODS \
IUnknown_IMETHODS \
IOleUILinkContainerW_METHODS
ICOM_DEFINE(IOleUILinkContainerW, IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
#if ICOM_INTERFACE
#if ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IOleUILinkContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IOleUILinkContainer_AddRef(p) ICOM_CALL (AddRef,p)
@ -706,23 +702,23 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
/*****************************************************************************
* IOleUILinkInfo interface
*/
#define ICOM_INTERFACE IOleUILinkInfoA
#define INTERFACE IOleUILinkInfoA
#define IOleUILinkInfoA_METHODS \
ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate)
STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
#define IOleUILinkInfoA_IMETHODS \
IOleUILinkContainerA_IMETHODS \
IOleUILinkInfoA_METHODS
ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
#undef ICOM_INTERFACE
#undef INTERFACE
#define ICOM_INTERFACE IOleUILinkInfoW
#define INTERFACE IOleUILinkInfoW
#define IOleUILinkInfoW_METHODS \
ICOM_METHOD2(HRESULT,GetLastUpdate, DWORD,dwLink, FILETIME*,lpLastUpdate)
STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
#define IOleUILinkInfoW_IMETHODS \
IOleUILinkContainerW_IMETHODS \
IOleUILinkInfoW_METHODS
ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
#undef ICOM_INTERFACE
#undef INTERFACE
DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
@ -748,41 +744,37 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
/*****************************************************************************
* IOleUIObjInfo interface
*/
#define ICOM_INTERFACE IOleUIObjInfoA
#define INTERFACE IOleUIObjInfoA
#define IOleUIObjInfoA_METHODS \
ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPSTR*,lplpszLabel, \
LPSTR*,lplpszType, LPSTR*,lplpszShortType, LPSTR*,lplpszLocation) \
ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \
CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \
ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \
ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \
HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \
ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \
HGLOBAL,hMetaPict, DWORD,dvAspect, \
INT,nCurrentScale, BOOL,bRelativeToOrig)
STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel, \
LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE; \
STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
INT nCurrentScale, BOOL bRelativeToOrig) PURE;
#define IOleUIObjInfoA_IMETHODS \
IUnknown_IMETHODS \
IOleUIObjInfoA_METHODS
ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define ICOM_INTERFACE IOleUIObjInfoW
#define INTERFACE IOleUIObjInfoW
#define IOleUIObjInfoW_METHODS \
ICOM_METHOD6(HRESULT,GetObjectInfo, DWORD,dwObject, DWORD*,lpdwObjSize, LPWSTR*,lplpszLabel, \
LPWSTR*,lplpszType, LPWSTR*,lplpszShortType, LPWSTR*,lplpszLocation) \
ICOM_METHOD6(HRESULT,GetConvertInfo, DWORD,dwObject, CLSID*,lpClassID, WORD*,lpwFormat, \
CLSID*,lpConvertDefaultClassID, LPCLSID*,lplpClsidExclude, UINT*,lpcClsidExclude) \
ICOM_METHOD2(HRESULT,ConvertObject, DWORD,dwObject, REFCLSID,clsidNew) \
ICOM_METHOD4(HRESULT,GetViewInfo, DWORD,dwObject, \
HGLOBAL*,phMetaPict, DWORD*,pdvAspect, INT*,pnCurrentScale) \
ICOM_METHOD5(HRESULT,SetViewInfo, DWORD,dwObject, \
HGLOBAL,hMetaPict, DWORD,dvAspect, \
INT,nCurrentScale, BOOL,bRelativeToOrig)
STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel, \
LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE; \
STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
INT nCurrentScale, BOOL bRelativeToOrig) PURE;
#define IOleUIObjInfoW_IMETHODS \
IUnknown_IMETHODS \
IOleUIObjInfoW_METHODS
ICOM_DEFINE(IOleUIObjInfoW, IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
@ -839,8 +831,3 @@ UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
#endif /* __WINE_OLEDLG_H */

View File

@ -40,14 +40,14 @@ typedef struct IServiceProvider IServiceProvider,*LPSERVICEPROVIDER;
/*****************************************************************************
* IServiceProvider interface
*/
#define ICOM_INTERFACE IServiceProvider
#define INTERFACE IServiceProvider
#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 \
IUnknown_IMETHODS \
IServiceProvider_METHODS
ICOM_DEFINE(IServiceProvider,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IServiceProvider_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -122,14 +122,14 @@ typedef GUID SHELLVIEWID;
* IShellIcon interface
*/
#define ICOM_INTERFACE IShellIcon
#define INTERFACE IShellIcon
#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 \
IUnknown_IMETHODS \
IShellIcon_METHODS
ICOM_DEFINE(IShellIcon, IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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;
#define ICOM_INTERFACE IQueryAssociations
#define INTERFACE IQueryAssociations
#define IQueryAssociations_METHODS \
ICOM_METHOD4 (HRESULT, Init, ASSOCF, flags, LPCWSTR, pszAssoc, HKEY, hkProgid, HWND, hwnd) \
ICOM_METHOD5 (HRESULT, GetString, ASSOCF, flags, ASSOCSTR, str, LPCWSTR, pszExtra, LPWSTR, pszOut, DWORD*, pcchOut) \
ICOM_METHOD4 (HRESULT, GetKey, ASSOCF, flags, ASSOCKEY, key, LPCWSTR, pszExtra, HKEY*, phkeyOut) \
ICOM_METHOD5 (HRESULT, GetData, ASSOCF, flags, ASSOCDATA, data, LPCWSTR, pszExtra, LPVOID, pvOut, DWORD*, pcbOut) \
ICOM_METHOD5 (HRESULT, GetEnum, ASSOCF, flags, ASSOCENUM, assocenum, LPCWSTR, pszExtra, REFIID, riid, LPVOID*, ppvOut)
STDMETHOD(Init)(THIS_ ASSOCF flags, LPCWSTR pszAssoc, HKEY hkProgid, HWND hwnd) PURE; \
STDMETHOD(GetString)(THIS_ ASSOCF flags, ASSOCSTR str, LPCWSTR pszExtra, LPWSTR pszOut, DWORD * pcchOut) PURE; \
STDMETHOD(GetKey)(THIS_ ASSOCF flags, ASSOCKEY key, LPCWSTR pszExtra, HKEY * phkeyOut) PURE; \
STDMETHOD(GetData)(THIS_ ASSOCF flags, ASSOCDATA data, LPCWSTR pszExtra, LPVOID pvOut, DWORD * pcbOut) PURE; \
STDMETHOD(GetEnum)(THIS_ ASSOCF flags, ASSOCENUM assocenum, LPCWSTR pszExtra, REFIID riid, LPVOID * ppvOut) PURE;
#define IQueryAssociations_IMETHODS \
IUnknown_IMETHODS \
IQueryAssociations_METHODS
ICOM_DEFINE(IQueryAssociations,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IQueryAssociations_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#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)
struct IUnknown {
virtual HRESULT CALLBACK QueryInterface(
virtual HRESULT STDMETHODCALLTYPE QueryInterface(
REFIID riid,
void** ppvObject) = 0;
virtual ULONG CALLBACK AddRef(
virtual ULONG STDMETHODCALLTYPE AddRef(
) = 0;
virtual ULONG CALLBACK Release(
virtual ULONG STDMETHODCALLTYPE Release(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
@ -55,23 +55,24 @@ struct IUnknownVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IUnknown* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
ULONG (STDMETHODCALLTYPE *AddRef)(
IUnknown* This);
ULONG (CALLBACK *Release)(
ULONG (STDMETHODCALLTYPE *Release)(
IUnknown* This);
};
#define IUnknown_IMETHODS \
ICOM_METHOD2 (HRESULT,QueryInterface,REFIID,riid,void**,ppvObject) \
ICOM_METHOD (ULONG,AddRef) \
ICOM_METHOD (ULONG,Release)
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This);
/*** IUnknown methods ***/
#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)
struct IClassFactory: IUnknown {
virtual HRESULT CALLBACK CreateInstance(
virtual HRESULT STDMETHODCALLTYPE CreateInstance(
IUnknown* pUnkOuter,
REFIID riid,
void** ppvObject) = 0;
virtual HRESULT CALLBACK LockServer(
virtual HRESULT STDMETHODCALLTYPE LockServer(
BOOL fLock) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
@ -132,34 +133,38 @@ struct IClassFactoryVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IClassFactory* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
ULONG (STDMETHODCALLTYPE *AddRef)(
IClassFactory* This);
ULONG (CALLBACK *Release)(
ULONG (STDMETHODCALLTYPE *Release)(
IClassFactory* This);
/*** IClassFactory methods ***/
HRESULT (CALLBACK *CreateInstance)(
HRESULT (STDMETHODCALLTYPE *CreateInstance)(
IClassFactory* This,
IUnknown* pUnkOuter,
REFIID riid,
void** ppvObject);
HRESULT (CALLBACK *LockServer)(
HRESULT (STDMETHODCALLTYPE *LockServer)(
IClassFactory* This,
BOOL fLock);
};
#define IClassFactory_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,void**,ppvObject) \
ICOM_METHOD1 (HRESULT,LockServer,BOOL,fLock)
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
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 ***/
#define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)

View File

@ -170,19 +170,19 @@ typedef enum BINDSTATUS {
/*****************************************************************************
* IBinding interface
*/
#define ICOM_INTERFACE IBinding
#define INTERFACE IBinding
#define IBinding_METHODS \
ICOM_METHOD (HRESULT,Abort) \
ICOM_METHOD (HRESULT,Suspend) \
ICOM_METHOD (HRESULT,Resume) \
ICOM_METHOD1 (HRESULT,SetPriority, LONG,nPriority) \
ICOM_METHOD1 (HRESULT,GetPriority, LONG*,pnPriority) \
ICOM_METHOD4 (HRESULT,GetBindResult, CLSID*,pclsidProtocol, DWORD*,pdwResult, LPOLESTR*,pszResult, DWORD*,pdwReserved)
STDMETHOD(Abort)(THIS) PURE; \
STDMETHOD(Suspend)(THIS) PURE; \
STDMETHOD(Resume)(THIS) PURE; \
STDMETHOD(SetPriority)(THIS_ LONG nPriority) PURE; \
STDMETHOD(GetPriority)(THIS_ LONG *pnPriority) PURE; \
STDMETHOD(GetBindResult)(THIS_ CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved) PURE;
#define IBinding_IMETHODS \
IUnknown_IMETHODS \
IBinding_METHODS
ICOM_DEFINE(IBinding,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IBinding_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -199,21 +199,21 @@ ICOM_DEFINE(IBinding,IUnknown)
/*****************************************************************************
* IBindStatusCallback interface
*/
#define ICOM_INTERFACE IBindStatusCallback
#define INTERFACE IBindStatusCallback
#define IBindStatusCallback_METHODS \
ICOM_METHOD2 (HRESULT,OnStartBinding, DWORD,dwReserved, IBinding*,pib) \
ICOM_METHOD1 (HRESULT,GetPriority, LONG*,pnPriority) \
ICOM_METHOD (HRESULT,OnLowResource) \
ICOM_METHOD4 (HRESULT,OnProgress, ULONG,ulProgress, ULONG,ulProgressMax, ULONG,ulStatusCode, LPCWSTR,szStatusText) \
ICOM_METHOD2 (HRESULT,OnStopBinding, HRESULT,hresult, LPCWSTR,szError) \
ICOM_METHOD2 (HRESULT,GetBindInfo, DWORD*,grfBINDF, BINDINFO*,pbindinfo) \
ICOM_METHOD4 (HRESULT,OnDataAvailable, DWORD,grfBSCF, DWORD,dwSize, FORMATETC*,pformatetc, STGMEDIUM*,pstgmed) \
ICOM_METHOD2 (HRESULT,OnObjectAvailable, REFIID,iid, IUnknown*,punk)
STDMETHOD(OnStartBinding)(THIS_ DWORD dwReserved, IBinding *pib) PURE; \
STDMETHOD(GetPriority)(THIS_ LONG *pnPriority) PURE; \
STDMETHOD(OnLowResource)(THIS) PURE; \
STDMETHOD(OnProgress)(THIS_ ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) PURE; \
STDMETHOD(OnStopBinding)(THIS_ HRESULT hresult, LPCWSTR szError) PURE; \
STDMETHOD(GetBindInfo)(THIS_ DWORD *grfBINDF, BINDINFO *pbindinfo) PURE; \
STDMETHOD(OnDataAvailable)(THIS_ DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) PURE; \
STDMETHOD(OnObjectAvailable)(THIS_ REFIID iid, IUnknown *punk) PURE;
#define IBindStatusCallback_IMETHODS \
IUnknown_IMETHODS \
IBindStatusCallback_METHODS
ICOM_DEFINE(IBindStatusCallback,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IBindStatusCallback_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -232,16 +232,16 @@ ICOM_DEFINE(IBindStatusCallback,IUnknown)
/*****************************************************************************
* IBindHost interface
*/
#define ICOM_INTERFACE IBindHost
#define INTERFACE IBindHost
#define IBindHost_METHODS \
ICOM_METHOD4 (HRESULT,CreateMoniker, LPOLESTR,szName, IBindCtx*,pBC, IMoniker**,ppmk, DWORD,dwReserved) \
ICOM_METHOD5 (HRESULT,MonikerBindToStorage, IMoniker*,pMk, IBindCtx*,pBC, IBindStatusCallback*,pBSC, REFIID,riid, LPVOID*,ppvObj) \
ICOM_METHOD5 (HRESULT,MonikerBindToObject, IMoniker*,pMk, IBindCtx*,pBC, IBindStatusCallback*,pBSC, REFIID,riid, LPVOID*,ppvObj)
STDMETHOD(CreateMoniker)(THIS_ LPOLESTR szName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved) PURE; \
STDMETHOD(MonikerBindToStorage)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, LPVOID *ppvObj) PURE; \
STDMETHOD(MonikerBindToObject)(THIS_ IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, REFIID riid, LPVOID *ppvObj) PURE;
#define IBindHost_IMETHODS \
IUnknown_IMETHODS \
IBindHost_METHODS
ICOM_DEFINE(IBindHost,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IBindHost_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -273,14 +273,14 @@ typedef enum _tagQUERYOPTION {
/*****************************************************************************
* IWinInetInfo interface
*/
#define ICOM_INTERFACE IWinInetInfo
#define INTERFACE IWinInetInfo
#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 \
IUnknown_IMETHODS \
IWinInetInfo_METHODS
ICOM_DEFINE(IWinInetInfo,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IWinInetInfo_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -292,14 +292,14 @@ ICOM_DEFINE(IWinInetInfo,IUnknown)
/*****************************************************************************
* IWinInetHttpInfo interface
*/
#define ICOM_INTERFACE IWinInetHttpInfo
#define INTERFACE IWinInetHttpInfo
#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 \
IWinInetInfo_IMETHODS \
IWinInetHttpInfo_METHODS
ICOM_DEFINE(IWinInetHttpInfo,IWinInetInfo)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IAVIStream
#define INTERFACE IAVIStream
#define IAVIStream_METHODS \
ICOM_METHOD2(HRESULT,Create, LPARAM,lParam1, LPARAM,lParam2) \
ICOM_METHOD2(HRESULT,Info, AVISTREAMINFOW*,psi, LONG,lSize) \
ICOM_METHOD2(LONG, FindSample, LONG,lPos, LONG,lFlags) \
ICOM_METHOD3(HRESULT,ReadFormat, LONG,lPos, LPVOID,lpFormat, LONG*,lpcbFormat) \
ICOM_METHOD3(HRESULT,SetFormat, LONG,lPos, LPVOID,lpFormat, LONG,cbFormat) \
ICOM_METHOD6(HRESULT,Read, LONG,lStart, LONG,lSamples, LPVOID,lpBuffer, LONG,cbBuffer, LONG*,plBytes, LONG*,plSamples) \
ICOM_METHOD7(HRESULT,Write, LONG,lStart, LONG,lSamples, LPVOID,lpBuffer, LONG,cbBuffer, DWORD,dwFlags, LONG*,plSampWritten, LONG*,plBytesWritten) \
ICOM_METHOD2(HRESULT,Delete, LONG,lStart, LONG,lSamples) \
ICOM_METHOD3(HRESULT,ReadData, DWORD,fcc, LPVOID,lpBuffer, LONG*,lpcbBuffer) \
ICOM_METHOD3(HRESULT,WriteData, DWORD,fcc, LPVOID,lpBuffer, LONG,cbBuffer) \
ICOM_METHOD2(HRESULT,SetInfo, AVISTREAMINFOW*,plInfo, LONG,cbInfo)
STDMETHOD(Create)(THIS_ LPARAM lParam1, LPARAM lParam2) PURE; \
STDMETHOD(Info)(THIS_ AVISTREAMINFOW *psi, LONG lSize) PURE; \
STDMETHOD_(LONG,FindSample)(THIS_ LONG lPos, LONG lFlags) PURE; \
STDMETHOD(ReadFormat)(THIS_ LONG lPos, LPVOID lpFormat, LONG *lpcbFormat) PURE; \
STDMETHOD(SetFormat)(THIS_ LONG lPos, LPVOID lpFormat, LONG cbFormat) PURE; \
STDMETHOD(Read)(THIS_ LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, LONG *plBytes, LONG *plSamples) PURE; \
STDMETHOD(Write)(THIS_ LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, DWORD dwFlags, LONG *plSampWritten, LONG *plBytesWritten) PURE; \
STDMETHOD(Delete)(THIS_ LONG lStart, LONG lSamples) PURE; \
STDMETHOD(ReadData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG *lpcbBuffer) PURE; \
STDMETHOD(WriteData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG cbBuffer) PURE; \
STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW *plInfo, LONG cbInfo) PURE;
#define IAVIStream_IMETHODS \
IUnknown_IMETHODS \
IAVIStream_METHODS
ICOM_DEFINE(IAVIStream, IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
/* In Win32 this interface uses UNICODE only */
#define ICOM_INTERFACE IAVIFile
#define INTERFACE IAVIFile
#define IAVIFile_METHODS \
ICOM_METHOD2(HRESULT,Info, AVIFILEINFOW*,pfi, LONG,lSize) \
ICOM_METHOD3(HRESULT,GetStream, PAVISTREAM*,ppStream, DWORD,fccType, LONG,lParam) \
ICOM_METHOD2(HRESULT,CreateStream, PAVISTREAM*,ppStream, AVISTREAMINFOW*,psi) \
ICOM_METHOD3(HRESULT,WriteData, DWORD,fcc, LPVOID,lpBuffer, LONG,cbBuffer) \
ICOM_METHOD3(HRESULT,ReadData, DWORD,fcc, LPVOID,lpBuffer, LONG*,lpcbBuffer) \
ICOM_METHOD (HRESULT,EndRecord) \
ICOM_METHOD2(HRESULT,DeleteStream, DWORD,fccType, LONG,lParam)
STDMETHOD(Info)(THIS_ AVIFILEINFOW *pfi, LONG lSize) PURE; \
STDMETHOD(GetStream)(THIS_ PAVISTREAM *ppStream, DWORD fccType, LONG lParam) PURE; \
STDMETHOD(CreateStream)(THIS_ PAVISTREAM *ppStream, AVISTREAMINFOW *psi) PURE; \
STDMETHOD(WriteData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG cbBuffer) PURE; \
STDMETHOD(ReadData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG *lpcbBuffer) PURE; \
STDMETHOD(EndRecord)(THIS) PURE; \
STDMETHOD(DeleteStream)(THIS_ DWORD fccType, LONG lParam) PURE;
#define IAVIFile_IMETHODS \
IUnknown_IMETHODS \
IAVIFile_METHODS
ICOM_DEFINE(IAVIFile,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IAVIFile_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -1138,17 +1138,17 @@ HRESULT WINAPI AVIFileEndRecord(PAVIFILE pfile);
/*****************************************************************************
* IGetFrame interface
*/
#define ICOM_INTERFACE IGetFrame
#define INTERFACE IGetFrame
#define IGetFrame_METHODS \
ICOM_METHOD1(LPVOID, GetFrame, LONG,lPos) \
ICOM_METHOD3(HRESULT,Begin, LONG,lStart, LONG,lEnd, LONG,lRate) \
ICOM_METHOD (HRESULT,End) \
ICOM_METHOD6(HRESULT,SetFormat, LPBITMAPINFOHEADER,lpbi, LPVOID,lpBits, INT,x, INT,y, INT,dx, INT,dy)
STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG lPos) PURE; \
STDMETHOD(Begin)(THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; \
STDMETHOD(End)(THIS) PURE; \
STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, INT x, INT y, INT dx, INT dy) PURE;
#define IGetFrame_IMETHODS \
IUnknown_IMETHODS \
IGetFrame_METHODS
ICOM_DEFINE(IGetFrame,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IOleCache
#define INTERFACE IOleCache
#define IOleCache_METHODS \
ICOM_METHOD3(HRESULT,Cache, FORMATETC*,pformatetc, DWORD,advf, DWORD*, pdwConnection) \
ICOM_METHOD1(HRESULT,Uncache, DWORD,dwConnection) \
ICOM_METHOD1(HRESULT,EnumCache, IEnumSTATDATA**,ppenumSTATDATA) \
ICOM_METHOD1(HRESULT,InitCache, IDataObject*,pDataObject) \
ICOM_METHOD3(HRESULT,SetData, FORMATETC*,pformatetc, STGMEDIUM*,pmedium, BOOL,fRelease)
STDMETHOD(Cache)(THIS_ FORMATETC *pformatetc, DWORD advf, DWORD * pdwConnection) PURE; \
STDMETHOD(Uncache)(THIS_ DWORD dwConnection) PURE; \
STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA **ppenumSTATDATA) PURE; \
STDMETHOD(InitCache)(THIS_ IDataObject *pDataObject) PURE; \
STDMETHOD(SetData)(THIS_ FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease) PURE;
#define IOleCache_IMETHODS \
IUnknown_IMETHODS \
IOleCache_METHODS
ICOM_DEFINE(IOleCache,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleCache_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -76,15 +76,15 @@ ICOM_DEFINE(IOleCache,IUnknown)
/*****************************************************************************
* IOleCache2 interface
*/
#define ICOM_INTERFACE IOleCache2
#define INTERFACE IOleCache2
#define IOleCache2_METHODS \
ICOM_METHOD3(HRESULT,UpdateCache, LPDATAOBJECT,pDataObject, DWORD,grfUpdf, LPVOID,pReserved) \
ICOM_METHOD1(HRESULT,DiscardCache, DWORD,dwDiscardOptions)
STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) PURE; \
STDMETHOD(DiscardCache)(THIS_ DWORD dwDiscardOptions) PURE;
#define IOleCache2_IMETHODS \
IOleCache_IMETHODS \
IOleCache2_METHODS
ICOM_DEFINE(IOleCache2,IOleCache)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleCache2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -104,15 +104,15 @@ ICOM_DEFINE(IOleCache2,IOleCache)
/*****************************************************************************
* IOleCacheControl interface
*/
#define ICOM_INTERFACE IOleCacheControl
#define INTERFACE IOleCacheControl
#define IOleCacheControl_METHODS \
ICOM_METHOD1(HRESULT,OnRun, LPDATAOBJECT,pDataObject) \
ICOM_METHOD (HRESULT,OnStop)
STDMETHOD(OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
STDMETHOD(OnStop)(THIS) PURE;
#define IOleCacheControl_IMETHODS \
IUnknown_IMETHODS \
IOleCacheControl_METHODS
ICOM_DEFINE(IOleCacheControl,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleCacheControl_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -128,5 +128,3 @@ ICOM_DEFINE(IOleCacheControl,IUnknown)
#endif /* defined(__cplusplus) */
#endif /* __WINE_WINE_OBJ_CONTROL_H */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -32,17 +32,17 @@ extern "C" {
*/
typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
#define ICOM_INTERFACE IEnumIDList
#define INTERFACE IEnumIDList
#define IEnumIDList_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, LPITEMIDLIST*, rgelt, ULONG*, pceltFetched) \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
ICOM_METHOD (HRESULT, Reset) \
ICOM_METHOD1(HRESULT, Clone, IEnumIDList**, ppenum)
STDMETHOD(Next)(THIS_ ULONG celt, LPITEMIDLIST * rgelt, ULONG * pceltFetched) PURE; \
STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
STDMETHOD(Reset)(THIS) PURE; \
STDMETHOD(Clone)(THIS_ IEnumIDList ** ppenum) PURE;
#define IEnumIDList_IMETHODS \
IUnknown_IMETHODS \
IEnumIDList_METHODS
ICOM_DEFINE(IEnumIDList,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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 ICOM_INTERFACE IExtractIconA
#define INTERFACE IExtractIconA
#define IExtractIconA_METHODS \
ICOM_METHOD5(HRESULT, GetIconLocation, UINT, uFlags, LPSTR, szIconFile, UINT, cchMax, INT*, piIndex, UINT *, pwFlags) \
ICOM_METHOD5(HRESULT, Extract, LPCSTR, pszFile, UINT, nIconIndex, HICON*, phiconLarge, HICON*, phiconSmall, UINT, nIconSize)
STDMETHOD(GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT * piIndex, UINT * pwFlags) PURE; \
STDMETHOD(Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIconSize) PURE;
#define IExtractIconA_IMETHODS \
IUnknown_IMETHODS \
IExtractIconA_METHODS
ICOM_DEFINE(IExtractIconA,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IExtractIconA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#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 ICOM_INTERFACE IExtractIconW
#define INTERFACE IExtractIconW
#define IExtractIconW_METHODS \
ICOM_METHOD5(HRESULT, GetIconLocation, UINT, uFlags, LPWSTR, szIconFile, UINT, cchMax, INT*, piIndex, UINT *, pwFlags) \
ICOM_METHOD5(HRESULT, Extract, LPCWSTR, pszFile, UINT, nIconIndex, HICON*, phiconLarge, HICON*, phiconSmall, UINT, nIconSize)
STDMETHOD(GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT * piIndex, UINT * pwFlags) PURE; \
STDMETHOD(Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON * phiconLarge, HICON * phiconSmall, UINT nIconSize) PURE;
#define IExtractIconW_IMETHODS \
IUnknown_IMETHODS \
IExtractIconW_METHODS
ICOM_DEFINE(IExtractIconW,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
#define IExtractIconW_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IExtractIconW_AddRef(p) ICOM_CALL(AddRef,p)

View File

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

View File

@ -41,37 +41,37 @@ typedef TEXTMETRICW TEXTMETRICOLE;
/*****************************************************************************
* IFont interface
*/
#define ICOM_INTERFACE IFont
#define INTERFACE IFont
#define IFont_METHODS \
ICOM_METHOD1(HRESULT, get_Name, BSTR*, pname) \
ICOM_METHOD1(HRESULT, put_Name, BSTR, name) \
ICOM_METHOD1(HRESULT, get_Size, CY*, psize) \
ICOM_METHOD1(HRESULT, put_Size, CY, size) \
ICOM_METHOD1(HRESULT, get_Bold, BOOL*, pbold) \
ICOM_METHOD1(HRESULT, put_Bold, BOOL, bold) \
ICOM_METHOD1(HRESULT, get_Italic, BOOL*, pitalic) \
ICOM_METHOD1(HRESULT, put_Italic, BOOL, italic) \
ICOM_METHOD1(HRESULT, get_Underline, BOOL*, punderline) \
ICOM_METHOD1(HRESULT, put_Underline, BOOL, underline) \
ICOM_METHOD1(HRESULT, get_Strikethrough, BOOL*, pstrikethrough) \
ICOM_METHOD1(HRESULT, put_Strikethrough, BOOL, strikethrough) \
ICOM_METHOD1(HRESULT, get_Weight, short*, pweight) \
ICOM_METHOD1(HRESULT, put_Weight, short, weight) \
ICOM_METHOD1(HRESULT, get_Charset, short*, pcharset) \
ICOM_METHOD1(HRESULT, put_Charset, short, charset) \
ICOM_METHOD1(HRESULT, get_hFont, HFONT*, phfont) \
ICOM_METHOD1(HRESULT, Clone, IFont**, ppfont) \
ICOM_METHOD1(HRESULT, IsEqual, IFont*, pFontOther) \
ICOM_METHOD2(HRESULT, SetRatio, long, cyLogical, long, cyHimetric) \
ICOM_METHOD1(HRESULT, QueryTextMetrics, TEXTMETRICOLE*, ptm) \
ICOM_METHOD1(HRESULT, AddRefHfont, HFONT, hfont) \
ICOM_METHOD1(HRESULT, ReleaseHfont, HFONT, hfont) \
ICOM_METHOD1(HRESULT, SetHdc, HDC, hdc)
STDMETHOD(get_Name)(THIS_ BSTR * pname) PURE; \
STDMETHOD(put_Name)(THIS_ BSTR name) PURE; \
STDMETHOD(get_Size)(THIS_ CY * psize) PURE; \
STDMETHOD(put_Size)(THIS_ CY size) PURE; \
STDMETHOD(get_Bold)(THIS_ BOOL * pbold) PURE; \
STDMETHOD(put_Bold)(THIS_ BOOL bold) PURE; \
STDMETHOD(get_Italic)(THIS_ BOOL * pitalic) PURE; \
STDMETHOD(put_Italic)(THIS_ BOOL italic) PURE; \
STDMETHOD(get_Underline)(THIS_ BOOL * punderline) PURE; \
STDMETHOD(put_Underline)(THIS_ BOOL underline) PURE; \
STDMETHOD(get_Strikethrough)(THIS_ BOOL * pstrikethrough) PURE; \
STDMETHOD(put_Strikethrough)(THIS_ BOOL strikethrough) PURE; \
STDMETHOD(get_Weight)(THIS_ short * pweight) PURE; \
STDMETHOD(put_Weight)(THIS_ short weight) PURE; \
STDMETHOD(get_Charset)(THIS_ short * pcharset) PURE; \
STDMETHOD(put_Charset)(THIS_ short charset) PURE; \
STDMETHOD(get_hFont)(THIS_ HFONT * phfont) PURE; \
STDMETHOD(Clone)(THIS_ IFont ** ppfont) PURE; \
STDMETHOD(IsEqual)(THIS_ IFont * pFontOther) PURE; \
STDMETHOD(SetRatio)(THIS_ long cyLogical, long cyHimetric) PURE; \
STDMETHOD(QueryTextMetrics)(THIS_ TEXTMETRICOLE * ptm) PURE; \
STDMETHOD(AddRefHfont)(THIS_ HFONT hfont) PURE; \
STDMETHOD(ReleaseHfont)(THIS_ HFONT hfont) PURE; \
STDMETHOD(SetHdc)(THIS_ HDC hdc) PURE;
#define IFont_IMETHODS \
IUnknown_IMEHTODS \
IFont_METHODS
ICOM_DEFINE(IFont,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IFont_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -107,13 +107,13 @@ ICOM_DEFINE(IFont,IUnknown)
/*****************************************************************************
* IFont interface
*/
#define ICOM_INTERFACE IFontDisp
#define INTERFACE IFontDisp
#define IFontDisp_METHODS
#define IFontDisp_IMETHODS \
IUnknown_IMETHODS \
IFontDisp_METHODS
ICOM_DEFINE(IFontDisp,IDispatch)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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
*/
#define ICOM_INTERFACE IOleObject
#define INTERFACE IOleObject
#define IOleObject_METHODS \
ICOM_METHOD1(HRESULT,SetClientSite, IOleClientSite*,pClientSite) \
ICOM_METHOD1(HRESULT,GetClientSite, IOleClientSite**,ppClientSite) \
ICOM_METHOD2(HRESULT,SetHostNames, LPCOLESTR,szContainerApp, LPCOLESTR,szContainerObj) \
ICOM_METHOD1(HRESULT,Close, DWORD,dwSaveOption) \
ICOM_METHOD2(HRESULT,SetMoniker, DWORD,dwWhichMoniker, IMoniker*,pmk) \
ICOM_METHOD3(HRESULT,GetMoniker, DWORD,dwAssign, DWORD,dwWhichMoniker, IMoniker**,ppmk) \
ICOM_METHOD3(HRESULT,InitFromData, IDataObject*,pDataObject, BOOL,fCreation, DWORD,dwReserved) \
ICOM_METHOD2(HRESULT,GetClipboardData, DWORD,dwReserved, IDataObject**,ppDataObject) \
ICOM_METHOD6(HRESULT,DoVerb, LONG,iVerb, struct tagMSG*,lpmsg, IOleClientSite*,pActiveSite, LONG,lindex, HWND,hwndParent, LPCRECT,lprcPosRect) \
ICOM_METHOD1(HRESULT,EnumVerbs, IEnumOLEVERB**,ppEnumOleVerb) \
ICOM_METHOD (HRESULT,Update) \
ICOM_METHOD (HRESULT,IsUpToDate) \
ICOM_METHOD1(HRESULT,GetUserClassID, CLSID*,pClsid) \
ICOM_METHOD2(HRESULT,GetUserType, DWORD,dwFormOfType, LPOLESTR*,pszUserType) \
ICOM_METHOD2(HRESULT,SetExtent, DWORD,dwDrawAspect, SIZEL*,psizel) \
ICOM_METHOD2(HRESULT,GetExtent, DWORD,dwDrawAspect, SIZEL*,psizel) \
ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvSink, DWORD*,pdwConnection) \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \
ICOM_METHOD2(HRESULT,GetMiscStatus, DWORD,dwAspect, DWORD*,pdwStatus) \
ICOM_METHOD1(HRESULT,SetColorScheme, struct tagLOGPALETTE*,pLogpal)
STDMETHOD(SetClientSite)(THIS_ IOleClientSite *pClientSite) PURE; \
STDMETHOD(GetClientSite)(THIS_ IOleClientSite **ppClientSite) PURE; \
STDMETHOD(SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
STDMETHOD(Close)(THIS_ DWORD dwSaveOption) PURE; \
STDMETHOD(SetMoniker)(THIS_ DWORD dwWhichMoniker, IMoniker *pmk) PURE; \
STDMETHOD(GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) PURE; \
STDMETHOD(InitFromData)(THIS_ IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
STDMETHOD(GetClipboardData)(THIS_ DWORD dwReserved, IDataObject **ppDataObject) PURE; \
STDMETHOD(DoVerb)(THIS_ LONG iVerb, struct tagMSG *lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
STDMETHOD(EnumVerbs)(THIS_ IEnumOLEVERB **ppEnumOleVerb) PURE; \
STDMETHOD(Update)(THIS) PURE; \
STDMETHOD(IsUpToDate)(THIS) PURE; \
STDMETHOD(GetUserClassID)(THIS_ CLSID *pClsid) PURE; \
STDMETHOD(GetUserType)(THIS_ DWORD dwFormOfType, LPOLESTR *pszUserType) PURE; \
STDMETHOD(SetExtent)(THIS_ DWORD dwDrawAspect, SIZEL *psizel) PURE; \
STDMETHOD(GetExtent)(THIS_ DWORD dwDrawAspect, SIZEL *psizel) PURE; \
STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvSink, DWORD *pdwConnection) PURE; \
STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE; \
STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA **ppenumAdvise) PURE; \
STDMETHOD(GetMiscStatus)(THIS_ DWORD dwAspect, DWORD *pdwStatus) PURE; \
STDMETHOD(SetColorScheme)(THIS_ struct tagLOGPALETTE *pLogpal) PURE;
#define IOleObject_IMETHODS \
IUnknown_IMETHODS \
IOleObject_METHODS
ICOM_DEFINE(IOleObject,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -152,19 +152,19 @@ ICOM_DEFINE(IOleObject,IUnknown)
/*****************************************************************************
* IOleAdviseHolder interface
*/
#define ICOM_INTERFACE IOleAdviseHolder
#define INTERFACE IOleAdviseHolder
#define IOleAdviseHolder_METHODS \
ICOM_METHOD2(HRESULT,Advise, IAdviseSink*,pAdvise, DWORD*,pdwConnection) \
ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwConnection) \
ICOM_METHOD1(HRESULT,EnumAdvise, IEnumSTATDATA**,ppenumAdvise) \
ICOM_METHOD1(HRESULT,SendOnRename, IMoniker*,pmk) \
ICOM_METHOD (HRESULT,SendOnSave) \
ICOM_METHOD (HRESULT,SendOnClose)
STDMETHOD(Advise)(THIS_ IAdviseSink *pAdvise, DWORD *pdwConnection) PURE; \
STDMETHOD(Unadvise)(THIS_ DWORD dwConnection) PURE; \
STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA **ppenumAdvise) PURE; \
STDMETHOD(SendOnRename)(THIS_ IMoniker *pmk) PURE; \
STDMETHOD(SendOnSave)(THIS) PURE; \
STDMETHOD(SendOnClose)(THIS) PURE;
#define IOleAdviseHolder_IMETHODS \
IUnknown_IMETHODS \
IOleAdviseHolder_METHODS
ICOM_DEFINE(IOleAdviseHolder,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IOleAdviseHolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -182,17 +182,17 @@ ICOM_DEFINE(IOleAdviseHolder,IUnknown)
/*****************************************************************************
* IEnumOLEVERB interface
*/
#define ICOM_INTERFACE IEnumOLEVERB
#define INTERFACE IEnumOLEVERB
#define IEnumOLEVERB_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, LPOLEVERB,rgelt, ULONG*,pceltFetched) \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1(HRESULT,Clone, IEnumOLEVERB**,ppenum)
STDMETHOD(Next)(THIS_ ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched) PURE; \
STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
STDMETHOD(Reset)(THIS) PURE; \
STDMETHOD(Clone)(THIS_ IEnumOLEVERB **ppenum) PURE;
#define IEnumOLEVERB_IMETHODS \
IUnknown_IMETHODS \
IEnumOLEVERB_METHODS
ICOM_DEFINE(IEnumOLEVERB,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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 /* __WINE_WINE_OBJ_OLEOBJ_H */

View File

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

View File

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

View File

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

View File

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

View File

@ -40,14 +40,14 @@ typedef struct IServiceProvider IServiceProvider, *LPSERVICEPROVIDER;
/*****************************************************************************
* IServiceProvider interface
*/
#define ICOM_INTERFACE IServiceProvider
#define INTERFACE IServiceProvider
#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 \
IUnknown_IMETHODS \
IServiceProvider_METHODS
ICOM_DEFINE(IServiceProvider,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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_ADDTOEND 0x0004
#define ICOM_INTERFACE IShellBrowser
#define INTERFACE IShellBrowser
#define IShellBrowser_METHODS \
ICOM_METHOD2(HRESULT, InsertMenusSB, HMENU, hmenuShared, LPOLEMENUGROUPWIDTHS, lpMenuWidths) \
ICOM_METHOD3(HRESULT, SetMenuSB, HMENU, hmenuShared, HOLEMENU, holemenuReserved, HWND, hwndActiveObject) \
ICOM_METHOD1(HRESULT, RemoveMenusSB, HMENU, hmenuShared) \
ICOM_METHOD1(HRESULT, SetStatusTextSB, LPCOLESTR, lpszStatusText) \
ICOM_METHOD1(HRESULT, EnableModelessSB, BOOL, fEnable) \
ICOM_METHOD2(HRESULT, TranslateAcceleratorSB, LPMSG, lpmsg, WORD, wID) \
ICOM_METHOD2(HRESULT, BrowseObject, LPCITEMIDLIST, pidl, UINT, wFlags) \
ICOM_METHOD2(HRESULT, GetViewStateStream, DWORD, grfMode, LPSTREAM*, ppStrm) \
ICOM_METHOD2(HRESULT, GetControlWindow, UINT, id, HWND*, lphwnd) \
ICOM_METHOD5(HRESULT, SendControlMsg, UINT, id, UINT, uMsg, WPARAM, wParam, LPARAM, lParam, LRESULT*, pret) \
ICOM_METHOD1(HRESULT, QueryActiveShellView, IShellView**, IShellView) \
ICOM_METHOD1(HRESULT, OnViewWindowActive, IShellView*, IShellView) \
ICOM_METHOD3(HRESULT, SetToolbarItems, LPTBBUTTON, lpButtons, UINT, nButtons, UINT, uFlags)
STDMETHOD(InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
STDMETHOD(SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
STDMETHOD(RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR lpszStatusText) PURE; \
STDMETHOD(EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(TranslateAcceleratorSB)(THIS_ LPMSG lpmsg, WORD wID) PURE; \
STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
STDMETHOD(GetViewStateStream)(THIS_ DWORD grfMode, LPSTREAM * ppStrm) PURE; \
STDMETHOD(GetControlWindow)(THIS_ UINT id, HWND * lphwnd) PURE; \
STDMETHOD(SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT * pret) PURE; \
STDMETHOD(QueryActiveShellView)(THIS_ IShellView ** IShellView) PURE; \
STDMETHOD(OnViewWindowActive)(THIS_ IShellView * IShellView) PURE; \
STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) PURE;
#define IShellBrowser_IMETHODS \
IOleWindow_IMETHODS \
IShellBrowser_METHODS
ICOM_DEFINE(IShellBrowser,IOleWindow)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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;
#define ICOM_INTERFACE IShellExtInit
#define INTERFACE IShellExtInit
#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 \
IUnknown_IMETHODS \
IShellExtInit_METHODS
ICOM_DEFINE(IShellExtInit,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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];
} EXTRASEARCH,* LPEXTRASEARCH;
#define ICOM_INTERFACE IEnumExtraSearch
#define INTERFACE IEnumExtraSearch
#define IEnumExtraSearch_METHODS \
ICOM_METHOD3(HRESULT, Next, ULONG, celt, LPEXTRASEARCH*, rgelt, ULONG*, pceltFetched) \
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
ICOM_METHOD (HRESULT, Reset) \
ICOM_METHOD1(HRESULT, Clone, IEnumExtraSearch**, ppenum)
STDMETHOD(Next)(THIS_ ULONG celt, LPEXTRASEARCH * rgelt, ULONG * pceltFetched) PURE; \
STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \
STDMETHOD(Reset)(THIS) PURE; \
STDMETHOD(Clone)(THIS_ IEnumExtraSearch ** ppenum) PURE;
#define IEnumExtraSearch_IMETHODS \
IUnknown_IMETHODS \
IEnumExtraSearch_METHODS
ICOM_DEFINE(IEnumExtraSearch,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IEnumIDList_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -196,23 +196,23 @@ DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
/*****************************************************************************
* IShellFolder interface
*/
#define ICOM_INTERFACE IShellFolder
#define INTERFACE IShellFolder
#define IShellFolder_METHODS \
ICOM_METHOD6( HRESULT, ParseDisplayName, HWND, hwndOwner,LPBC, pbcReserved, LPOLESTR, lpszDisplayName, ULONG *, pchEaten, LPITEMIDLIST *, ppidl, ULONG *, pdwAttributes) \
ICOM_METHOD3( HRESULT, EnumObjects, HWND, hwndOwner, DWORD, grfFlags, LPENUMIDLIST *, ppenumIDList)\
ICOM_METHOD4( HRESULT, BindToObject, LPCITEMIDLIST, pidl, LPBC, pbcReserved, REFIID, riid, LPVOID *, ppvOut)\
ICOM_METHOD4( HRESULT, BindToStorage, LPCITEMIDLIST, pidl, LPBC, pbcReserved, REFIID, riid, LPVOID *, ppvObj)\
ICOM_METHOD3( HRESULT, CompareIDs, LPARAM, lParam, LPCITEMIDLIST, pidl1, LPCITEMIDLIST, pidl2)\
ICOM_METHOD3( HRESULT, CreateViewObject, HWND, hwndOwner, REFIID, riid, LPVOID *, ppvOut)\
ICOM_METHOD3( HRESULT, GetAttributesOf, UINT, cidl, LPCITEMIDLIST *, apidl, ULONG *, rgfInOut)\
ICOM_METHOD6( HRESULT, GetUIObjectOf, HWND, hwndOwner, UINT, cidl, LPCITEMIDLIST *, apidl, REFIID, riid, UINT *, prgfInOut, LPVOID *, ppvOut)\
ICOM_METHOD3( HRESULT, GetDisplayNameOf, LPCITEMIDLIST, pidl, DWORD, uFlags, LPSTRRET, lpName)\
ICOM_METHOD5( HRESULT, SetNameOf, HWND, hwndOwner, LPCITEMIDLIST, pidl,LPCOLESTR, lpszName, DWORD, uFlags,LPITEMIDLIST *, ppidlOut)
STDMETHOD(ParseDisplayName)(THIS_ HWND hwndOwner,LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG * pchEaten, LPITEMIDLIST * ppidl, ULONG * pdwAttributes) PURE; \
STDMETHOD(EnumObjects)(THIS_ HWND hwndOwner, DWORD grfFlags, LPENUMIDLIST * ppenumIDList) PURE;\
STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut) PURE;\
STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvObj) PURE;\
STDMETHOD(CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE;\
STDMETHOD(CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, LPVOID * ppvOut) PURE;\
STDMETHOD(GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST * apidl, ULONG * rgfInOut) PURE;\
STDMETHOD(GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut) PURE;\
STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, DWORD uFlags, LPSTRRET lpName) PURE;\
STDMETHOD(SetNameOf)(THIS_ HWND hwndOwner, LPCITEMIDLIST pidl,LPCOLESTR lpszName, DWORD uFlags,LPITEMIDLIST * ppidlOut) PURE;
#define IShellFolder_IMETHODS \
IUnknown_IMETHODS \
IShellFolder_METHODS
ICOM_DEFINE(IShellFolder,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IShellFolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -268,20 +268,20 @@ typedef struct
STRRET str;
} SHELLDETAILS, *LPSHELLDETAILS;
#define ICOM_INTERFACE IShellFolder2
#define INTERFACE IShellFolder2
#define IShellFolder2_METHODS \
ICOM_METHOD1( HRESULT, GetDefaultSearchGUID, LPGUID, lpguid)\
ICOM_METHOD1( HRESULT, EnumSearches, LPENUMEXTRASEARCH *, ppEnum) \
ICOM_METHOD3( HRESULT, GetDefaultColumn, DWORD, dwReserved, ULONG *, pSort, ULONG *, pDisplay)\
ICOM_METHOD2( HRESULT, GetDefaultColumnState, UINT, iColumn, DWORD *, pcsFlags)\
ICOM_METHOD3( HRESULT, GetDetailsEx, LPCITEMIDLIST, pidl, const SHCOLUMNID *, pscid, VARIANT *, pv)\
ICOM_METHOD3( HRESULT, GetDetailsOf, LPCITEMIDLIST, pidl, UINT, iColumn, LPSHELLDETAILS, pDetails)\
ICOM_METHOD2( HRESULT, MapNameToSCID, LPCWSTR, pwszName, SHCOLUMNID *, pscid)
STDMETHOD(GetDefaultSearchGUID)(THIS_ LPGUID lpguid) PURE;\
STDMETHOD(EnumSearches)(THIS_ LPENUMEXTRASEARCH * ppEnum) PURE; \
STDMETHOD(GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG * pSort, ULONG * pDisplay) PURE;\
STDMETHOD(GetDefaultColumnState)(THIS_ UINT iColumn, DWORD * pcsFlags) PURE;\
STDMETHOD(GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID * pscid, VARIANT * pv) PURE;\
STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, LPSHELLDETAILS pDetails) PURE;\
STDMETHOD(MapNameToSCID)(THIS_ LPCWSTR pwszName, SHCOLUMNID * pscid) PURE;
#define IShellFolder2_IMETHODS \
IShellFolder_METHODS \
IShellFolder2_METHODS
ICOM_DEFINE(IShellFolder2, IShellFolder)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IShellFolder2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -311,14 +311,14 @@ ICOM_DEFINE(IShellFolder2, IShellFolder)
* IPersistFolder interface
*/
#define ICOM_INTERFACE IPersistFolder
#define INTERFACE IPersistFolder
#define IPersistFolder_METHODS \
ICOM_METHOD1( HRESULT, Initialize, LPCITEMIDLIST, pidl)
STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
#define IPersistFolder_IMETHODS \
IPersist_IMETHODS \
IPersistFolder_METHODS
ICOM_DEFINE(IPersistFolder, IPersist)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IPersistFolder_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -333,15 +333,15 @@ ICOM_DEFINE(IPersistFolder, IPersist)
* IPersistFolder2 interface
*/
#define ICOM_INTERFACE IPersistFolder2
#define INTERFACE IPersistFolder2
#define IPersistFolder2_METHODS \
ICOM_METHOD1( HRESULT, GetCurFolder, LPITEMIDLIST*, pidl)
STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST * pidl) PURE;
#define IPersistFolder2_IMETHODS \
IPersist_IMETHODS \
IPersistFolder_METHODS \
IPersistFolder2_METHODS
ICOM_DEFINE(IPersistFolder2, IPersistFolder)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IPersistFolder2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -367,17 +367,17 @@ typedef struct {
int csidl;
} PERSIST_FOLDER_TARGET_INFO;
#define ICOM_INTERFACE IPersistFolder3
#define INTERFACE IPersistFolder3
#define IPersistFolder3_METHODS \
ICOM_METHOD3( HRESULT, InitializeEx, IBindCtx*, pbc, LPCITEMIDLIST, pidlRoot, const PERSIST_FOLDER_TARGET_INFO*, ppfti)\
ICOM_METHOD1( HRESULT, GetFolderTargetInfo, PERSIST_FOLDER_TARGET_INFO*, ppfti)
STDMETHOD(InitializeEx)(THIS_ IBindCtx * pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO * ppfti) PURE;\
STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO * ppfti) PURE;
#define IPersistFolder3_IMETHODS \
IPersist_IMETHODS \
IPersistFolder_METHODS \
IPersistFolder2_METHODS \
IPersistFolder3_METHODS
ICOM_DEFINE(IPersistFolder3, IPersistFolder2)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IPersistFolder3_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

@ -52,31 +52,31 @@ typedef enum
/*****************************************************************************
* IShellLink interface
*/
#define ICOM_INTERFACE IShellLinkA
#define INTERFACE IShellLinkA
#define IShellLinkA_METHODS \
ICOM_METHOD4( HRESULT, GetPath, LPSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \
ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \
ICOM_METHOD1( HRESULT, SetIDList, LPCITEMIDLIST, pidl) \
ICOM_METHOD2( HRESULT, GetDescription, LPSTR, pszName, INT, cchMaxName) \
ICOM_METHOD1( HRESULT, SetDescription, LPCSTR, pszName) \
ICOM_METHOD2( HRESULT, GetWorkingDirectory, LPSTR, pszDir,INT, cchMaxPath) \
ICOM_METHOD1( HRESULT, SetWorkingDirectory, LPCSTR, pszDir) \
ICOM_METHOD2( HRESULT, GetArguments, LPSTR, pszArgs, INT, cchMaxPath) \
ICOM_METHOD1( HRESULT, SetArguments, LPCSTR, pszArgs) \
ICOM_METHOD1( HRESULT, GetHotkey, WORD*, pwHotkey) \
ICOM_METHOD1( HRESULT, SetHotkey, WORD, wHotkey) \
ICOM_METHOD1( HRESULT, GetShowCmd, INT*, piShowCmd) \
ICOM_METHOD1( HRESULT, SetShowCmd, INT, iShowCmd) \
ICOM_METHOD3( HRESULT, GetIconLocation, LPSTR, pszIconPath, INT, cchIconPath,INT *, piIcon) \
ICOM_METHOD2( HRESULT, SetIconLocation, LPCSTR, pszIconPath,INT, iIcon) \
ICOM_METHOD2( HRESULT, SetRelativePath, LPCSTR, pszPathRel, DWORD, dwReserved) \
ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \
ICOM_METHOD1( HRESULT, SetPath, LPCSTR, pszFile)
STDMETHOD(GetPath)(THIS_ LPSTR pszFile, INT cchMaxPath, WIN32_FIND_DATAA * pfd, DWORD fFlags) PURE; \
STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST * ppidl) PURE; \
STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
STDMETHOD(GetDescription)(THIS_ LPSTR pszName, INT cchMaxName) PURE; \
STDMETHOD(SetDescription)(THIS_ LPCSTR pszName) PURE; \
STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR pszDir,INT cchMaxPath) PURE; \
STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
STDMETHOD(GetArguments)(THIS_ LPSTR pszArgs, INT cchMaxPath) PURE; \
STDMETHOD(SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
STDMETHOD(GetHotkey)(THIS_ WORD * pwHotkey) PURE; \
STDMETHOD(SetHotkey)(THIS_ WORD wHotkey) PURE; \
STDMETHOD(GetShowCmd)(THIS_ INT * piShowCmd) PURE; \
STDMETHOD(SetShowCmd)(THIS_ INT iShowCmd) PURE; \
STDMETHOD(GetIconLocation)(THIS_ LPSTR pszIconPath, INT cchIconPath,INT * piIcon) PURE; \
STDMETHOD(SetIconLocation)(THIS_ LPCSTR pszIconPath,INT iIcon) PURE; \
STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
STDMETHOD(Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
STDMETHOD(SetPath)(THIS_ LPCSTR pszFile) PURE;
#define IShellLinkA_IMETHODS \
IUnknown_IMETHODS \
IShellLinkA_METHODS
ICOM_DEFINE(IShellLinkA,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IShellLinkA_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
@ -105,31 +105,31 @@ ICOM_DEFINE(IShellLinkA,IUnknown)
/*****************************************************************************
* IShellLinkW interface
*/
#define ICOM_INTERFACE IShellLinkW
#define INTERFACE IShellLinkW
#define IShellLinkW_METHODS \
ICOM_METHOD4( HRESULT, GetPath, LPWSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \
ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \
ICOM_METHOD1( HRESULT, SetIDList, LPCITEMIDLIST, pidl) \
ICOM_METHOD2( HRESULT, GetDescription, LPWSTR, pszName, INT, cchMaxName) \
ICOM_METHOD1( HRESULT, SetDescription, LPCWSTR, pszName) \
ICOM_METHOD2( HRESULT, GetWorkingDirectory, LPWSTR, pszDir,INT, cchMaxPath) \
ICOM_METHOD1( HRESULT, SetWorkingDirectory, LPCWSTR, pszDir) \
ICOM_METHOD2( HRESULT, GetArguments, LPWSTR, pszArgs, INT, cchMaxPath) \
ICOM_METHOD1( HRESULT, SetArguments, LPCWSTR, pszArgs) \
ICOM_METHOD1( HRESULT, GetHotkey, WORD*, pwHotkey) \
ICOM_METHOD1( HRESULT, SetHotkey, WORD, wHotkey) \
ICOM_METHOD1( HRESULT, GetShowCmd, INT*, piShowCmd) \
ICOM_METHOD1( HRESULT, SetShowCmd, INT, iShowCmd) \
ICOM_METHOD3( HRESULT, GetIconLocation, LPWSTR, pszIconPath, INT, cchIconPath,INT *, piIcon) \
ICOM_METHOD2( HRESULT, SetIconLocation, LPCWSTR, pszIconPath,INT, iIcon) \
ICOM_METHOD2( HRESULT, SetRelativePath, LPCWSTR, pszPathRel, DWORD, dwReserved) \
ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \
ICOM_METHOD1( HRESULT, SetPath, LPCWSTR, pszFile)
STDMETHOD(GetPath)(THIS_ LPWSTR pszFile, INT cchMaxPath, WIN32_FIND_DATAA * pfd, DWORD fFlags) PURE; \
STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST * ppidl) PURE; \
STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
STDMETHOD(GetDescription)(THIS_ LPWSTR pszName, INT cchMaxName) PURE; \
STDMETHOD(SetDescription)(THIS_ LPCWSTR pszName) PURE; \
STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR pszDir,INT cchMaxPath) PURE; \
STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
STDMETHOD(GetArguments)(THIS_ LPWSTR pszArgs, INT cchMaxPath) PURE; \
STDMETHOD(SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
STDMETHOD(GetHotkey)(THIS_ WORD * pwHotkey) PURE; \
STDMETHOD(SetHotkey)(THIS_ WORD wHotkey) PURE; \
STDMETHOD(GetShowCmd)(THIS_ INT * piShowCmd) PURE; \
STDMETHOD(SetShowCmd)(THIS_ INT iShowCmd) PURE; \
STDMETHOD(GetIconLocation)(THIS_ LPWSTR pszIconPath, INT cchIconPath,INT * piIcon) PURE; \
STDMETHOD(SetIconLocation)(THIS_ LPCWSTR pszIconPath,INT iIcon) PURE; \
STDMETHOD(SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
STDMETHOD(Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
STDMETHOD(SetPath)(THIS_ LPCWSTR pszFile) PURE;
#define IShellLinkW_IMETHODS \
IUnknown_IMETHODS \
IShellLinkW_METHODS
ICOM_DEFINE(IShellLinkW,IUnknown)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#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_STATUS;
#define ICOM_INTERFACE IShellView
#define INTERFACE IShellView
#define IShellView_METHODS \
ICOM_METHOD1(HRESULT, TranslateAccelerator, LPMSG, lpmsg) \
ICOM_METHOD1(HRESULT, EnableModeless, BOOL, fEnable) \
ICOM_METHOD1(HRESULT, UIActivate, UINT, uState) \
ICOM_METHOD(HRESULT, Refresh) \
ICOM_METHOD5(HRESULT, CreateViewWindow, IShellView*, lpPrevView, LPCFOLDERSETTINGS, lpfs, IShellBrowser*, psb, RECT*, prcView, HWND*, phWnd) \
ICOM_METHOD(HRESULT, DestroyViewWindow) \
ICOM_METHOD1(HRESULT, GetCurrentInfo, LPFOLDERSETTINGS, lpfs) \
ICOM_METHOD3(HRESULT, AddPropertySheetPages, DWORD, dwReserved, LPFNADDPROPSHEETPAGE, lpfn, LPARAM, lparam) \
ICOM_METHOD (HRESULT, SaveViewState) \
ICOM_METHOD2(HRESULT, SelectItem, LPCITEMIDLIST, pidlItem, UINT, uFlags) \
ICOM_METHOD3(HRESULT, GetItemObject, UINT, uItem, REFIID, riid, LPVOID*, ppv) \
ICOM_METHOD1(HRESULT, EditItem, LPCITEMIDLIST, pidlItem)
STDMETHOD(TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(UIActivate)(THIS_ UINT uState) PURE; \
STDMETHOD(Refresh)(THIS) PURE; \
STDMETHOD(CreateViewWindow)(THIS_ IShellView * lpPrevView, LPCFOLDERSETTINGS lpfs, IShellBrowser * psb, RECT * prcView, HWND * phWnd) PURE; \
STDMETHOD(DestroyViewWindow)(THIS) PURE; \
STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
STDMETHOD(AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam) PURE; \
STDMETHOD(SaveViewState)(THIS) PURE; \
STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST pidlItem, UINT uFlags) PURE; \
STDMETHOD(GetItemObject)(THIS_ UINT uItem, REFIID riid, LPVOID * ppv) PURE; \
STDMETHOD(EditItem)(THIS_ LPCITEMIDLIST pidlItem) PURE;
#define IShellView_IMETHODS \
IOleWindow_IMETHODS \
IShellView_METHODS
ICOM_DEFINE(IShellView,IOleWindow)
#undef ICOM_INTERFACE
#undef INTERFACE
/*** IUnknown methods ***/
#define IShellView_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)

View File

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

View File

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

View File

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