Simplified COM interface declarations, removing the need to define

both an xxx_METHODS and an xxx_IMETHODS macro.
oldstable
Alexandre Julliard 2003-04-11 00:31:02 +00:00
parent 55379110c5
commit aae3cb61cd
57 changed files with 1401 additions and 2014 deletions

View File

@ -53,6 +53,7 @@ typedef BOOL (CALLBACK *LPENUMMRUCALLBACK)( LPCVOID lpData,
/* Define the COM interface */
#define INTERFACE IDirectPlaySP
#define IDirectPlaySP_METHODS \
IUnknown_METHODS \
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; \
@ -65,11 +66,6 @@ typedef BOOL (CALLBACK *LPENUMMRUCALLBACK)( LPCVOID lpData,
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 INTERFACE

View File

@ -458,6 +458,7 @@ HRESULT WINAPI DPLSPInit(LPSPDATA_INIT);
/* Define the COM interface */
#define INTERFACE IDPLobbySP
#define IDPLobbySP_METHODS \
IUnknown_METHODS \
STDMETHOD(AddGroupToGroup)(THIS_ LPSPDATA_ADDREMOTEGROUPTOGROUP argtg ) PURE; \
STDMETHOD(AddPlayerToGroup)(THIS_ LPSPDATA_ADDREMOTEPLAYERTOGROUP arptg ) PURE; \
STDMETHOD(CreateGroup)(THIS_ LPSPDATA_CREATEREMOTEGROUP crg ) PURE; \
@ -474,11 +475,6 @@ HRESULT WINAPI DPLSPInit(LPSPDATA_INIT);
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 INTERFACE

View File

@ -29,15 +29,13 @@ typedef struct IMalloc16 IMalloc16, *LPMALLOC16;
#define INTERFACE IMalloc16
#define IMalloc16_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -51,6 +49,7 @@ typedef struct ILockBytes16 *LPLOCKBYTES16, ILockBytes16;
#define INTERFACE ILockBytes
#define ILockBytes16_METHODS \
IUnknown_METHODS \
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; \
@ -58,11 +57,6 @@ typedef struct ILockBytes16 *LPLOCKBYTES16, ILockBytes16;
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 INTERFACE

View File

@ -37,13 +37,11 @@ typedef struct ISFHelper ISFHelper, *LPISFHELPER;
#define INTERFACE ISFHelper
#define ISFHelper_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -582,7 +582,7 @@ HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,INT,INT,
COLORREF,UINT,UINT);
#define ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,INT,HIMAGELIST,INT,INT,INT);
#ifdef IStream_IMETHODS
#ifdef IStream_METHODS
HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
#endif
BOOL WINAPI ImageList_Remove(HIMAGELIST,INT);
@ -594,7 +594,7 @@ BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,INT,INT,INT);
BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,INT,INT);
BOOL WINAPI ImageList_SetImageCount(HIMAGELIST,INT);
BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT,INT);
#ifdef IStream_IMETHODS
#ifdef IStream_METHODS
BOOL WINAPI ImageList_Write(HIMAGELIST, LPSTREAM);
#endif

View File

@ -200,15 +200,13 @@ typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
*/
#define INTERFACE IDirect3D
#define IDirect3D_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -232,15 +230,13 @@ ICOM_DEFINE(IDirect3D,IUnknown)
*/
#define INTERFACE IDirect3D2
#define IDirect3D2_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -264,6 +260,7 @@ ICOM_DEFINE(IDirect3D2,IUnknown)
*/
#define INTERFACE IDirect3D3
#define IDirect3D3_METHODS \
IUnknown_METHODS \
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE; \
@ -273,9 +270,6 @@ ICOM_DEFINE(IDirect3D2,IUnknown)
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 INTERFACE
@ -301,14 +295,12 @@ ICOM_DEFINE(IDirect3D3,IUnknown)
*/
#define INTERFACE IDirect3D7
#define IDirect3D7_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -331,12 +323,10 @@ ICOM_DEFINE(IDirect3D7,IUnknown)
*/
#define INTERFACE IDirect3DLight
#define IDirect3DLight_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -357,15 +347,13 @@ ICOM_DEFINE(IDirect3DLight,IUnknown)
*/
#define INTERFACE IDirect3DMaterial
#define IDirect3DMaterial_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -389,12 +377,10 @@ ICOM_DEFINE(IDirect3DMaterial,IUnknown)
*/
#define INTERFACE IDirect3DMaterial2
#define IDirect3DMaterial2_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -415,12 +401,10 @@ ICOM_DEFINE(IDirect3DMaterial2,IUnknown)
*/
#define INTERFACE IDirect3DMaterial3
#define IDirect3DMaterial3_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -441,14 +425,12 @@ ICOM_DEFINE(IDirect3DMaterial3,IUnknown)
*/
#define INTERFACE IDirect3DTexture
#define IDirect3DTexture_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -471,12 +453,10 @@ ICOM_DEFINE(IDirect3DTexture,IUnknown)
*/
#define INTERFACE IDirect3DTexture2
#define IDirect3DTexture2_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -497,6 +477,7 @@ ICOM_DEFINE(IDirect3DTexture2,IUnknown)
*/
#define INTERFACE IDirect3DViewport
#define IDirect3DViewport_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
@ -510,9 +491,6 @@ ICOM_DEFINE(IDirect3DTexture2,IUnknown)
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 INTERFACE
@ -543,11 +521,9 @@ ICOM_DEFINE(IDirect3DViewport,IUnknown)
*/
#define INTERFACE IDirect3DViewport2
#define IDirect3DViewport2_METHODS \
IDirect3DViewport_METHODS \
STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; \
STDMETHOD(SetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE;
#define IDirect3DViewport2_IMETHODS \
IDirect3DViewport_IMETHODS \
IDirect3DViewport2_METHODS
ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
#undef INTERFACE
@ -580,12 +556,10 @@ ICOM_DEFINE(IDirect3DViewport2,IDirect3DViewport)
*/
#define INTERFACE IDirect3DViewport3
#define IDirect3DViewport3_METHODS \
IDirect3DViewport2_METHODS \
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 INTERFACE
@ -624,6 +598,7 @@ ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
*/
#define INTERFACE IDirect3DExecuteBuffer
#define IDirect3DExecuteBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
@ -631,9 +606,6 @@ ICOM_DEFINE(IDirect3DViewport3,IDirect3DViewport2)
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 INTERFACE
@ -658,6 +630,7 @@ ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown)
*/
#define INTERFACE IDirect3DDevice
#define IDirect3DDevice_METHODS \
IUnknown_METHODS \
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; \
@ -677,9 +650,6 @@ ICOM_DEFINE(IDirect3DExecuteBuffer,IUnknown)
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 INTERFACE
@ -716,6 +686,7 @@ ICOM_DEFINE(IDirect3DDevice,IUnknown)
*/
#define INTERFACE IDirect3DDevice2
#define IDirect3DDevice2_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
@ -747,9 +718,6 @@ ICOM_DEFINE(IDirect3DDevice,IUnknown)
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 INTERFACE
@ -796,6 +764,7 @@ ICOM_DEFINE(IDirect3DDevice2,IUnknown)
*/
#define INTERFACE IDirect3DDevice3
#define IDirect3DDevice3_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
@ -836,9 +805,6 @@ ICOM_DEFINE(IDirect3DDevice2,IUnknown)
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 INTERFACE
@ -894,6 +860,7 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
*/
#define INTERFACE IDirect3DDevice7
#define IDirect3DDevice7_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
@ -940,9 +907,6 @@ ICOM_DEFINE(IDirect3DDevice3,IUnknown)
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 INTERFACE
@ -1005,14 +969,12 @@ ICOM_DEFINE(IDirect3DDevice7,IUnknown)
*/
#define INTERFACE IDirect3DVertexBuffer
#define IDirect3DVertexBuffer_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -1034,15 +996,13 @@ ICOM_DEFINE(IDirect3DVertexBuffer,IUnknown)
*/
#define INTERFACE IDirect3DVertexBuffer7
#define IDirect3DVertexBuffer7_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -104,7 +104,7 @@ typedef struct IDirect3DVolumeTexture8 IDirect3DVolumeTexture8, *LPDIRECT3DVOL
*/
#define INTERFACE IDirect3D8
#define IDirect3D8_METHODS \
/*** IDirect3D8 methods ***/ \
IUnknown_METHODS \
STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE; \
STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE; \
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE; \
@ -118,11 +118,6 @@ typedef struct IDirect3DVolumeTexture8 IDirect3DVolumeTexture8, *LPDIRECT3DVOL
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 INTERFACE
@ -152,7 +147,7 @@ ICOM_DEFINE(IDirect3D8,IUnknown)
*/
#define INTERFACE IDirect3DDevice8
#define IDirect3DDevice8_METHODS \
/*** IDirect3DDevice8 methods ***/ \
IUnknown_METHODS \
STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE; \
STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE; \
@ -246,12 +241,7 @@ ICOM_DEFINE(IDirect3D8,IUnknown)
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
STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE;
ICOM_DEFINE(IDirect3DDevice8,IUnknown)
#undef INTERFACE
@ -362,7 +352,7 @@ ICOM_DEFINE(IDirect3DDevice8,IUnknown)
*/
#define INTERFACE IDirect3DVolume8
#define IDirect3DVolume8_METHODS \
/*** IDirect3DVolume8 methods ***/ \
IUnknown_METHODS \
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; \
@ -370,12 +360,7 @@ ICOM_DEFINE(IDirect3DDevice8,IUnknown)
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
STDMETHOD(UnlockBox)(THIS) PURE;
ICOM_DEFINE(IDirect3DVolume8,IUnknown)
#undef INTERFACE
@ -400,14 +385,9 @@ ICOM_DEFINE(IDirect3DVolume8,IUnknown)
*/
#define INTERFACE IDirect3DSwapChain8
#define IDirect3DSwapChain8_METHODS \
/*** IDirect3DSwapChain8 methods ***/ \
IUnknown_METHODS \
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
STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer, D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE;
ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
#undef INTERFACE
@ -426,7 +406,7 @@ ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
*/
#define INTERFACE IDirect3DSurface8
#define IDirect3DSurface8_METHODS \
/*** IDirect3DSurface8 methods ***/ \
IUnknown_METHODS \
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; \
@ -434,12 +414,7 @@ ICOM_DEFINE(IDirect3DSwapChain8,IUnknown)
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
STDMETHOD(UnlockRect)(THIS) PURE;
ICOM_DEFINE(IDirect3DSurface8,IUnknown)
#undef INTERFACE
@ -464,7 +439,7 @@ ICOM_DEFINE(IDirect3DSurface8,IUnknown)
*/
#define INTERFACE IDirect3DResource8
#define IDirect3DResource8_METHODS \
/*** IDirect3DResource8 methods ***/ \
IUnknown_METHODS \
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; \
@ -473,11 +448,6 @@ ICOM_DEFINE(IDirect3DSurface8,IUnknown)
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 INTERFACE
@ -502,16 +472,10 @@ ICOM_DEFINE(IDirect3DResource8,IUnknown)
*/
#define INTERFACE IDirect3DVertexBuffer8
#define IDirect3DVertexBuffer8_METHODS \
/*** IDirect3DVertexBuffer8 methods ***/ \
IDirect3DResource8_METHODS \
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 \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS \
IDirect3DVertexBuffer8_METHODS
ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
#undef INTERFACE
@ -540,16 +504,10 @@ ICOM_DEFINE(IDirect3DVertexBuffer8,IDirect3DResource8)
*/
#define INTERFACE IDirect3DIndexBuffer8
#define IDirect3DIndexBuffer8_METHODS \
/*** IDirect3DIndexBuffer8 methods ***/ \
IDirect3DResource8_METHODS \
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 \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS \
IDirect3DIndexBuffer8_METHODS
STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC * pDesc) PURE;
ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
#undef INTERFACE
@ -578,16 +536,10 @@ ICOM_DEFINE(IDirect3DIndexBuffer8,IDirect3DResource8)
*/
#define INTERFACE IDirect3DBaseTexture8
#define IDirect3DBaseTexture8_METHODS \
/*** IDirect3DBaseTexture8 methods ***/ \
IDirect3DResource8_METHODS \
STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; \
STDMETHOD_(DWORD,GetLOD)(THIS) PURE; \
STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
/*** IDirect3DBaseTexture8 methods ***/
#define IDirect3DBaseTexture8_IMETHODS \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS \
IDirect3DBaseTexture8_METHODS
ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
#undef INTERFACE
@ -616,19 +568,12 @@ ICOM_DEFINE(IDirect3DBaseTexture8,IDirect3DResource8)
*/
#define INTERFACE IDirect3DCubeTexture8
#define IDirect3DCubeTexture8_METHODS \
/*** IDirect3DCubeTexture8 methods ***/ \
IDirect3DBaseTexture8_METHODS \
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 \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS \
IDirect3DBaseTexture8_METHODS \
IDirect3DCubeTexture8_METHODS
STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES FaceType,CONST RECT * pDirtyRect) PURE;
ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
#undef INTERFACE
@ -663,19 +608,12 @@ ICOM_DEFINE(IDirect3DCubeTexture8,IDirect3DBaseTexture8)
*/
#define INTERFACE IDirect3DTexture8
#define IDirect3DTexture8_METHODS \
/*** IDirect3DTexture8 methods ***/ \
IDirect3DBaseTexture8_METHODS \
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 \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS \
IDirect3DBaseTexture8_METHODS \
IDirect3DTexture8_METHODS
STDMETHOD(AddDirtyRect)(THIS_ CONST RECT * pDirtyRect) PURE;
ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
#undef INTERFACE
@ -710,19 +648,12 @@ ICOM_DEFINE(IDirect3DTexture8,IDirect3DBaseTexture8)
*/
#define INTERFACE IDirect3DVolumeTexture8
#define IDirect3DVolumeTexture8_METHODS \
/*** IDirect3DVolumeTexture8 methods ***/ \
IDirect3DBaseTexture8_METHODS \
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 \
IUnknown_IMETHODS \
IDirect3DResource8_METHODS \
IDirect3DBaseTexture8_METHODS \
IDirect3DVolumeTexture8_METHODS
ICOM_DEFINE(IDirect3DVolumeTexture8,IDirect3DBaseTexture8)
#undef INTERFACE

View File

@ -58,14 +58,9 @@ typedef struct ID3DXFont ID3DXFont, *LPD3DXFONT;
#undef INTERFACE
#define INTERFACE ID3DXBuffer
#define ID3DXBuffer_METHODS \
/*** ID3DXBuffer methods ***/ \
IUnknown_METHODS \
STDMETHOD_(LPVOID,GetBufferPointer)(THIS) PURE; \
STDMETHOD_(DWORD,GetBufferSize)(THIS) PURE;
/*** ID3DXBuffer methods ***/
#define ID3DXBuffer_IMETHODS \
IUnknown_IMETHODS \
ID3DXBuffer_METHODS
ICOM_DEFINE(ID3DXBuffer,IUnknown)
#undef INTERFACE
@ -85,15 +80,10 @@ ICOM_DEFINE(ID3DXBuffer,IUnknown)
#undef INTERFACE
#define INTERFACE ID3DXFont
#define ID3DXFont_METHODS \
/*** ID3DXFont methods ***/ \
IUnknown_METHODS \
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 INTERFACE

View File

@ -1203,13 +1203,11 @@ typedef struct tagDDDEVICEIDENTIFIER2 {
*/
#define INTERFACE IDirectDrawPalette
#define IDirectDrawPalette_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -1231,15 +1229,13 @@ ICOM_DEFINE(IDirectDrawPalette,IUnknown)
*/
#define INTERFACE IDirectDrawClipper
#define IDirectDrawClipper_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -1263,6 +1259,7 @@ ICOM_DEFINE(IDirectDrawClipper,IUnknown)
*/
#define INTERFACE IDirectDraw
#define IDirectDraw_METHODS \
IUnknown_METHODS \
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; \
@ -1283,9 +1280,6 @@ ICOM_DEFINE(IDirectDrawClipper,IUnknown)
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 INTERFACE
@ -1337,6 +1331,7 @@ ICOM_DEFINE(IDirectDraw,IUnknown)
*/
#define INTERFACE IDirectDraw2
#define IDirectDraw2_METHODS \
/*00*/ IUnknown_METHODS \
/*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; \
@ -1359,9 +1354,6 @@ ICOM_DEFINE(IDirectDraw,IUnknown)
/*58*/ STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */ \
/*5c*/ STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE;
#define IDirectDraw2_IMETHODS \
IUnknown_IMETHODS \
IDirectDraw2_METHODS
ICOM_DEFINE(IDirectDraw2,IUnknown)
#undef INTERFACE
@ -1401,6 +1393,7 @@ ICOM_DEFINE(IDirectDraw2,IUnknown)
*/
#define INTERFACE IDirectDraw4
#define IDirectDraw4_METHODS \
/*00*/ IUnknown_METHODS \
/*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; \
@ -1428,9 +1421,6 @@ ICOM_DEFINE(IDirectDraw2,IUnknown)
/*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 INTERFACE
@ -1478,6 +1468,7 @@ ICOM_DEFINE(IDirectDraw4,IUnknown)
*/
#define INTERFACE IDirectDraw7
#define IDirectDraw7_METHODS \
/*00*/ IUnknown_METHODS \
/*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; \
@ -1508,9 +1499,6 @@ ICOM_DEFINE(IDirectDraw4,IUnknown)
/* added in v7 */ \
/*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 INTERFACE
@ -1558,6 +1546,7 @@ ICOM_DEFINE(IDirectDraw7,IUnknown)
*/
#define INTERFACE IDirectDrawSurface
#define IDirectDrawSurface_METHODS \
/*00*/ IUnknown_METHODS \
/*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; \
@ -1591,9 +1580,6 @@ ICOM_DEFINE(IDirectDraw7,IUnknown)
/*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 INTERFACE
@ -1647,6 +1633,7 @@ ICOM_DEFINE(IDirectDrawSurface,IUnknown)
*/
#define INTERFACE IDirectDrawSurface2
#define IDirectDrawSurface2_METHODS \
IUnknown_METHODS \
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; \
@ -1684,9 +1671,6 @@ ICOM_DEFINE(IDirectDrawSurface,IUnknown)
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 INTERFACE
@ -1744,6 +1728,7 @@ ICOM_DEFINE(IDirectDrawSurface2,IUnknown)
*/
#define INTERFACE IDirectDrawSurface3
#define IDirectDrawSurface3_METHODS \
IUnknown_METHODS \
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; \
@ -1783,9 +1768,6 @@ ICOM_DEFINE(IDirectDrawSurface2,IUnknown)
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */ \
STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSD, DWORD dwFlags) PURE;
#define IDirectDrawSurface3_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawSurface3_METHODS
ICOM_DEFINE(IDirectDrawSurface3,IUnknown)
#undef INTERFACE
@ -1844,6 +1826,7 @@ ICOM_DEFINE(IDirectDrawSurface3,IUnknown)
*/
#define INTERFACE IDirectDrawSurface4
#define IDirectDrawSurface4_METHODS \
IUnknown_METHODS \
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; \
@ -1889,9 +1872,6 @@ ICOM_DEFINE(IDirectDrawSurface3,IUnknown)
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 INTERFACE
@ -1954,6 +1934,7 @@ ICOM_DEFINE(IDirectDrawSurface4,IUnknown)
*/
#define INTERFACE IDirectDrawSurface7
#define IDirectDrawSurface7_METHODS \
IUnknown_METHODS \
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; \
@ -2004,9 +1985,6 @@ ICOM_DEFINE(IDirectDrawSurface4,IUnknown)
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 INTERFACE
@ -2073,11 +2051,9 @@ ICOM_DEFINE(IDirectDrawSurface7,IUnknown)
*/
#define INTERFACE IDirectDrawColorControl
#define IDirectDrawColorControl_METHODS \
IUnknown_METHODS \
STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE; \
STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE;
#define IDirectDrawColorControl_IMETHODS \
IUnknown_IMETHODS \
IDirectDrawColorControl_METHODS
ICOM_DEFINE(IDirectDrawColorControl,IUnknown)
#undef INTERFACE
@ -2096,11 +2072,9 @@ ICOM_DEFINE(IDirectDrawColorControl,IUnknown)
*/
#define INTERFACE IDirectDrawGammaControl
#define IDirectDrawGammaControl_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -1050,6 +1050,7 @@ DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFOHEADER)
*/
#define INTERFACE IDirectInputEffect
#define IDirectInputEffect_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ HINSTANCE, DWORD, REFGUID) PURE; \
STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE; \
STDMETHOD(GetParameters)(THIS_ LPDIEFFECT, DWORD) PURE; \
@ -1060,9 +1061,6 @@ DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFOHEADER)
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 INTERFACE
@ -1090,6 +1088,7 @@ ICOM_DEFINE(IDirectInputEffect,IUnknown)
*/
#define INTERFACE IDirectInputDeviceA
#define IDirectInputDeviceA_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE; \
STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE; \
@ -1105,9 +1104,6 @@ ICOM_DEFINE(IDirectInputEffect,IUnknown)
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 INTERFACE
@ -1140,6 +1136,7 @@ ICOM_DEFINE(IDirectInputDeviceA,IUnknown)
*/
#define INTERFACE IDirectInputDevice2A
#define IDirectInputDevice2A_METHODS \
IDirectInputDeviceA_METHODS \
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; \
@ -1149,9 +1146,6 @@ ICOM_DEFINE(IDirectInputDeviceA,IUnknown)
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 INTERFACE
@ -1194,11 +1188,9 @@ ICOM_DEFINE(IDirectInputDevice2A,IDirectInputDeviceA)
*/
#define INTERFACE IDirectInputDevice7A
#define IDirectInputDevice7A_METHODS \
IDirectInputDevice2A_METHODS \
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 INTERFACE
@ -1246,12 +1238,10 @@ ICOM_DEFINE(IDirectInputDevice7A,IDirectInputDevice2A)
*/
#define INTERFACE IDirectInputDevice8A
#define IDirectInputDevice8A_METHODS \
IDirectInputDevice7A_METHODS \
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 INTERFACE
@ -1338,14 +1328,12 @@ extern const DIDATAFORMAT c_dfDIJoystick2;
*/
#define INTERFACE IDirectInputA
#define IDirectInputA_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -1367,10 +1355,8 @@ ICOM_DEFINE(IDirectInputA,IUnknown)
*/
#define INTERFACE IDirectInput2A
#define IDirectInput2A_METHODS \
IDirectInputA_METHODS \
STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE;
#define IDirectInput2A_IMETHODS \
IDirectInputA_IMETHODS \
IDirectInput2A_METHODS
ICOM_DEFINE(IDirectInput2A,IDirectInputA)
#undef INTERFACE
@ -1395,10 +1381,8 @@ ICOM_DEFINE(IDirectInput2A,IDirectInputA)
*/
#define INTERFACE IDirectInput7A
#define IDirectInput7A_METHODS \
IDirectInput2A_METHODS \
STDMETHOD(CreateDeviceEx)(THIS_ REFGUID rguid, REFIID riid, LPVOID *pvOut, LPUNKNOWN lpUnknownOuter) PURE;
#define IDirectInput7A_IMETHODS \
IDirectInput2A_IMETHODS \
IDirectInput7A_METHODS
ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
#undef INTERFACE
@ -1427,6 +1411,7 @@ ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
*/
#define INTERFACE IDirectInput8A
#define IDirectInput8A_METHODS \
IUnknown_METHODS \
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; \
@ -1435,9 +1420,6 @@ ICOM_DEFINE(IDirectInput7A,IDirectInput2A)
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 INTERFACE

View File

@ -67,18 +67,13 @@ DEFINE_GUID(CLSID_DirectMusicWaveTrack, 0xeed36461,0x9ea5,0x11d3,0x9b,0xd1,
#undef INTERFACE
#define INTERFACE IDirectMusicTool
#define IDirectMusicTool_METHODS \
/*** IDirectMusicTool methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -103,14 +98,8 @@ ICOM_DEFINE(IDirectMusicTool,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicTool8
#define IDirectMusicTool8_METHODS \
/*** IDirectMusicTool8 methods ***/ \
STDMETHOD(Clone)(THIS_ IDirectMusicTool **ppTool) PURE;
/*** IDirectMusicTool8 methods ***/
#define IDirectMusicTool8_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicTool_METHODS \
IDirectMusicTool8_METHODS
STDMETHOD(Clone)(THIS_ IDirectMusicTool **ppTool) PURE;
ICOM_DEFINE(IDirectMusicTool8,IDirectMusicTool)
#undef INTERFACE
@ -156,7 +145,7 @@ typedef enum enumDMUS_TRACKF_FLAGS
#undef INTERFACE
#define INTERFACE IDirectMusicTrack
#define IDirectMusicTrack_METHODS \
/*** IDirectMusicTrack methods ***/ \
IUnknown_METHODS \
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; \
@ -167,11 +156,6 @@ typedef enum enumDMUS_TRACKF_FLAGS
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 INTERFACE
@ -200,19 +184,12 @@ ICOM_DEFINE(IDirectMusicTrack,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicTrack8
#define IDirectMusicTrack8_METHODS \
/*** IDirectMusicTrack8 methods ***/ \
IDirectMusicTrack_METHODS \
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 \
IUnknown_IMETHODS \
IDirectMusicTrack_METHODS \
IDirectMusicTrack8_METHODS
ICOM_DEFINE(IDirectMusicTrack8,IDirectMusicTrack)
#undef INTERFACE

View File

@ -288,7 +288,7 @@ typedef struct _DMUS_CLOCKINFO8
#undef INTERFACE
#define INTERFACE IDirectMusic
#define IDirectMusic_METHODS \
/*** IDirectMusic methods ***/ \
IUnknown_METHODS \
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; \
@ -298,11 +298,6 @@ typedef struct _DMUS_CLOCKINFO8
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 INTERFACE
@ -330,14 +325,8 @@ ICOM_DEFINE(IDirectMusic,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusic8
#define IDirectMusic8_METHODS \
/*** IDirectMusic8 methods ***/ \
STDMETHOD(SetExternalMasterClock)(THIS_ IReferenceClock *pClock) PURE;
/*** IDirectMusic8 methods ***/
#define IDirectMusic8_IMETHODS \
IUnknown_IMETHODS \
IDirectMusic_METHODS \
IDirectMusic8_METHODS
STDMETHOD(SetExternalMasterClock)(THIS_ IReferenceClock *pClock) PURE;
ICOM_DEFINE(IDirectMusic8,IDirectMusic)
#undef INTERFACE
@ -367,7 +356,7 @@ ICOM_DEFINE(IDirectMusic8,IDirectMusic)
#undef INTERFACE
#define INTERFACE IDirectMusicBuffer
#define IDirectMusicBuffer_METHODS \
/*** IDirectMusicBuffer methods ***/ \
IUnknown_METHODS \
STDMETHOD(Flush)(THIS) PURE; \
STDMETHOD(TotalTime)(THIS_ LPREFERENCE_TIME prtTime) PURE; \
STDMETHOD(PackStructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD dwChannelMessage) PURE; \
@ -381,11 +370,6 @@ ICOM_DEFINE(IDirectMusic8,IDirectMusic)
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 INTERFACE
@ -416,14 +400,9 @@ ICOM_DEFINE(IDirectMusicBuffer,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicInstrument
#define IDirectMusicInstrument_METHODS \
/*** IDirectMusicInstrument methods ***/ \
IUnknown_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 INTERFACE
@ -444,13 +423,8 @@ ICOM_DEFINE(IDirectMusicInstrument,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicDownloadedInstrument
#define IDirectMusicDownloadedInstrument_METHODS \
/*** IDirectMusicDownloadedInstrument methods ***/ \
/* none at this time */
/*** IDirectMusicDownloadedInstrument methods ***/
#define IDirectMusicDownloadedInstrument_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicDownloadedInstrument_METHODS
IUnknown_METHODS \
/* no IDirectMusicDownloadedInstrument methods at this time */
ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown)
#undef INTERFACE
@ -470,14 +444,9 @@ ICOM_DEFINE(IDirectMusicDownloadedInstrument,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicCollection
#define IDirectMusicCollection_METHODS \
/*** IDirectMusicCollection methods ***/ \
IUnknown_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 INTERFACE
@ -498,13 +467,8 @@ ICOM_DEFINE(IDirectMusicCollection,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicDownload
#define IDirectMusicDownload_METHODS \
/*** IDirectMusicDownload methods ***/ \
IUnknown_METHODS \
STDMETHOD(GetBuffer)(THIS_ void **ppvBuffer, DWORD *pdwSize) PURE;
/*** IDirectMusicDownload methods ***/
#define IDirectMusicDownload_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicDownload_METHODS
ICOM_DEFINE(IDirectMusicDownload,IUnknown)
#undef INTERFACE
@ -524,18 +488,13 @@ ICOM_DEFINE(IDirectMusicDownload,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicPortDownload
#define IDirectMusicPortDownload_METHODS \
/*** IDirectMusicPortDownload methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -606,7 +565,7 @@ ICOM_DEFINE(IDirectMusicPortDownload,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicPort
#define IDirectMusicPort_METHODS \
/*** IDirectMusicPort methods ***/ \
IUnknown_METHODS \
STDMETHOD(PlayBuffer)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
STDMETHOD(SetReadNotificationHandle)(THIS_ HANDLE hEvent) PURE; \
STDMETHOD(Read)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
@ -623,11 +582,6 @@ ICOM_DEFINE(IDirectMusicPortDownload,IUnknown)
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 INTERFACE
@ -662,13 +616,8 @@ ICOM_DEFINE(IDirectMusicPort,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicThru
#define IDirectMusicThru_METHODS \
/*** IDirectMusicThru methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -692,16 +641,11 @@ ICOM_DEFINE(IDirectMusicThru,IUnknown)
#undef INTERFACE
#define INTERFACE IReferenceClock
#define IReferenceClock_METHODS \
/*** IReferenceClock methods ***/ \
IUnknown_METHODS \
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 INTERFACE

View File

@ -797,15 +797,10 @@ typedef struct _DMUS_VARIATIONS_PARAM
#undef INTERFACE
#define INTERFACE IDirectMusicBand
#define IDirectMusicBand_METHODS \
/*** IDirectMusicBand methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -827,15 +822,10 @@ ICOM_DEFINE(IDirectMusicBand,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicObject
#define IDirectMusicObject_METHODS \
/*** IDirectMusicObject methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -857,7 +847,7 @@ ICOM_DEFINE(IDirectMusicObject,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicLoader
#define IDirectMusicLoader_METHODS \
/*** IDirectMusicLoader methods ***/ \
IUnknown_METHODS \
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; \
@ -867,11 +857,6 @@ ICOM_DEFINE(IDirectMusicObject,IUnknown)
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 INTERFACE
@ -899,16 +884,10 @@ ICOM_DEFINE(IDirectMusicLoader,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicLoader8
#define IDirectMusicLoader8_METHODS \
/*** IDirectMusicLoader8 methods ***/ \
IDirectMusicLoader_METHODS \
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 \
IUnknown_IMETHODS \
IDirectMusicLoader_METHODS \
IDirectMusicLoader8_METHODS
ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader)
#undef INTERFACE
@ -940,13 +919,8 @@ ICOM_DEFINE(IDirectMusicLoader8,IDirectMusicLoader)
#undef INTERFACE
#define INTERFACE IDirectMusicGetLoader
#define IDirectMusicGetLoader_METHODS \
/*** IDirectMusicGetLoader methods ***/ \
IUnknown_METHODS \
STDMETHOD(GetLoader)(THIS_ IDirectMusicLoader **ppLoader) PURE;
/*** IDirectMusicGetLoader methods ***/
#define IDirectMusicGetLoader_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicGetLoader_METHODS
ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
#undef INTERFACE
@ -966,7 +940,7 @@ ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicSegment
#define IDirectMusicSegment_METHODS \
/*** IDirectMusicSegment methods ***/ \
IUnknown_METHODS \
STDMETHOD(GetLength)(THIS_ MUSIC_TIME *pmtLength) PURE; \
STDMETHOD(SetLength)(THIS_ MUSIC_TIME mtLength) PURE; \
STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
@ -990,11 +964,6 @@ ICOM_DEFINE(IDirectMusicGetLoader,IUnknown)
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 INTERFACE
@ -1036,18 +1005,12 @@ ICOM_DEFINE(IDirectMusicSegment,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicSegment8
#define IDirectMusicSegment8_METHODS \
/*** IDirectMusicSegment8 methods ***/ \
IDirectMusicSegment_METHODS \
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 \
IUnknown_IMETHODS \
IDirectMusicSegment_METHODS \
IDirectMusicSegment8_METHODS
ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment)
#undef INTERFACE
@ -1095,17 +1058,12 @@ ICOM_DEFINE(IDirectMusicSegment8,IDirectMusicSegment)
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState
#define IDirectMusicSegmentState_METHODS \
/*** IDirectMusicSegmentState methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -1129,15 +1087,9 @@ ICOM_DEFINE(IDirectMusicSegmentState,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState8
#define IDirectMusicSegmentState8_METHODS \
/*** IDirectMusicSegmentState8 methods ***/ \
IDirectMusicSegmentState_METHODS \
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 \
IUnknown_IMETHODS \
IDirectMusicSegmentState_METHODS \
IDirectMusicSegmentState8_METHODS
ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState)
#undef INTERFACE
@ -1164,16 +1116,11 @@ ICOM_DEFINE(IDirectMusicSegmentState8,IDirectMusicSegmentState)
#undef INTERFACE
#define INTERFACE IDirectMusicAudioPath
#define IDirectMusicAudioPath_METHODS \
/*** IDirectMusicAudioPath methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -1196,7 +1143,7 @@ ICOM_DEFINE(IDirectMusicAudioPath,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance
#define IDirectMusicPerformance_METHODS \
/*** IDirectMusicPerformance methods ***/ \
IUnknown_METHODS \
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; \
@ -1238,11 +1185,6 @@ ICOM_DEFINE(IDirectMusicAudioPath,IUnknown)
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 INTERFACE
@ -1302,7 +1244,7 @@ ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance8
#define IDirectMusicPerformance8_METHODS \
/*** IDirectMusicPerformance8 methods ***/ \
IDirectMusicPerformance_METHODS \
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; \
@ -1312,12 +1254,6 @@ ICOM_DEFINE(IDirectMusicPerformance,IUnknown)
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 \
IUnknown_IMETHODS \
IDirectMusicPerformance_METHODS \
IDirectMusicPerformance8_METHODS
ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance)
#undef INTERFACE
@ -1387,16 +1323,11 @@ ICOM_DEFINE(IDirectMusicPerformance8,IDirectMusicPerformance)
#undef INTERFACE
#define INTERFACE IDirectMusicGraph
#define IDirectMusicGraph_METHODS \
/*** IDirectMusicGraph methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -1419,7 +1350,7 @@ ICOM_DEFINE(IDirectMusicGraph,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicStyle
#define IDirectMusicStyle_METHODS \
/*** IDirectMusicStyle methods ***/ \
IUnknown_METHODS \
STDMETHOD(GetBand)(THIS_ WCHAR *pwszName, IDirectMusicBand **ppBand) PURE; \
STDMETHOD(EnumBand)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetDefaultBand)(THIS_ IDirectMusicBand **ppBand) PURE; \
@ -1431,11 +1362,6 @@ ICOM_DEFINE(IDirectMusicGraph,IUnknown)
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 INTERFACE
@ -1465,14 +1391,8 @@ ICOM_DEFINE(IDirectMusicStyle,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicStyle8
#define IDirectMusicStyle8_METHODS \
/*** IDirectMusicStyle8 methods ***/ \
STDMETHOD(EnumPattern)(THIS_ DWORD dwIndex, DWORD dwPatternType, WCHAR *pwszName) PURE;
/*** IDirectMusicStyle8 methods ***/
#define IDirectMusicStyle8_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicStyle_METHODS \
IDirectMusicStyle8_METHODS
STDMETHOD(EnumPattern)(THIS_ DWORD dwIndex, DWORD dwPatternType, WCHAR *pwszName) PURE;
ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle)
#undef INTERFACE
@ -1504,13 +1424,8 @@ ICOM_DEFINE(IDirectMusicStyle8,IDirectMusicStyle)
#undef INTERFACE
#define INTERFACE IDirectMusicChordMap
#define IDirectMusicChordMap_METHODS \
/*** IDirectMusicChordMap methods ***/ \
IUnknown_METHODS \
STDMETHOD(GetScale)(THIS_ DWORD *pdwScale) PURE;
/*** IDirectMusicChordMap methods ***/
#define IDirectMusicChordMap_IMETHODS \
IUnknown_IMETHODS \
IDirectMusicChordMap_METHODS
ICOM_DEFINE(IDirectMusicChordMap,IUnknown)
#undef INTERFACE
@ -1530,18 +1445,13 @@ ICOM_DEFINE(IDirectMusicChordMap,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicComposer
#define IDirectMusicComposer_METHODS \
/*** IDirectMusicComposer methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -1566,15 +1476,10 @@ ICOM_DEFINE(IDirectMusicComposer,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicPatternTrack
#define IDirectMusicPatternTrack_METHODS \
/*** IDirectMusicPatternTrack methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -1596,7 +1501,7 @@ ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicScript
#define IDirectMusicScript_METHODS \
/*** IDirectMusicScript methods ***/ \
IUnknown_METHODS \
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; \
@ -1607,11 +1512,6 @@ ICOM_DEFINE(IDirectMusicPatternTrack,IUnknown)
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 INTERFACE
@ -1640,13 +1540,8 @@ ICOM_DEFINE(IDirectMusicScript,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicContainer
#define IDirectMusicContainer_METHODS \
/*** IDirectMusicContainer methods ***/ \
IUnknown_METHODS \
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 INTERFACE
@ -1666,7 +1561,7 @@ ICOM_DEFINE(IDirectMusicContainer,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicSong
#define IDirectMusicSong_METHODS \
/*** IDirectMusicSong methods ***/ \
IUnknown_METHODS \
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; \
@ -1674,11 +1569,6 @@ ICOM_DEFINE(IDirectMusicContainer,IUnknown)
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 INTERFACE

View File

@ -66,7 +66,7 @@ typedef struct _DMUS_VOICE_STATE
#undef INTERFACE
#define INTERFACE IDirectMusicSynth
#define IDirectMusicSynth_METHODS \
/*** IDirectMusicSynth methods ***/ \
IUnknown_METHODS \
STDMETHOD(Open)(THIS_ LPDMUS_PORTPARAMS pPortParams) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwGroups) PURE; \
@ -84,11 +84,6 @@ typedef struct _DMUS_VOICE_STATE
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 INTERFACE
@ -124,18 +119,12 @@ ICOM_DEFINE(IDirectMusicSynth,IUnknown)
#undef INTERFACE
#define INTERFACE IDirectMusicSynth8
#define IDirectMusicSynth8_METHODS \
/*** IDirectMusicSynth8 methods ***/ \
IDirectMusicSynth_METHODS \
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 \
IDirectMusicSynth8_METHODS
ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
#undef INTERFACE
@ -177,7 +166,7 @@ ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
#undef INTERFACE
#define INTERFACE IDirectMusicSynthSink
#define IDirectMusicSynthSink_METHODS \
/*** IDirectMusicSynthSink methods ***/ \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ IDirectMusicSynth *pSynth) PURE; \
STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
@ -186,11 +175,6 @@ ICOM_DEFINE(IDirectMusicSynth8,IDirectMusicSynth)
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 INTERFACE

View File

@ -195,12 +195,10 @@ typedef struct IPrint IPrint, *LPPRINT;
*/
#define INTERFACE IOleDocument
#define IOleDocument_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -221,10 +219,8 @@ ICOM_DEFINE(IOleDocument,IUnknown)
*/
#define INTERFACE IOleDocumentSite
#define IOleDocumentSite_METHODS \
IUnknown_METHODS \
STDMETHOD(ActivateMe)(THIS_ IOleDocumentView *pViewToActivate) PURE;
#define IOleDocumentSite_IMETHODS \
IUnknown_IMETHODS \
IOleDocumentSite_METHODS
ICOM_DEFINE(IOleDocumentSite,IUnknown)
#undef INTERFACE
@ -243,6 +239,7 @@ ICOM_DEFINE(IOleDocumentSite,IUnknown)
*/
#define INTERFACE IOleDocumentView
#define IOleDocumentView_METHODS \
IUnknown_METHODS \
STDMETHOD(SetInPlaceSite)(THIS_ IOleInPlaceSite *pIPSite) PURE; \
STDMETHOD(GetInPlaceSite)(THIS_ IOleInPlaceSite **ppIPSite) PURE; \
STDMETHOD(GetDocument)(THIS_ IUnknown **ppunk) PURE; \
@ -256,9 +253,6 @@ ICOM_DEFINE(IOleDocumentSite,IUnknown)
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 INTERFACE
@ -289,13 +283,11 @@ ICOM_DEFINE(IOleDocumentView,IUnknown)
*/
#define INTERFACE IEnumOleDocumentViews
#define IEnumOleDocumentViews_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -317,11 +309,9 @@ ICOM_DEFINE(IEnumOleDocumentViews,IUnknown)
*/
#define INTERFACE IOleCommandTarget
#define IOleCommandTarget_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -341,11 +331,9 @@ ICOM_DEFINE(IOleCommandTarget,IUnknown)
*/
#define INTERFACE IContinueCallback
#define IContinueCallback_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -365,12 +353,10 @@ ICOM_DEFINE(IContinueCallback,IUnknown)
*/
#define INTERFACE IPrint
#define IPrint_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -421,6 +421,7 @@ typedef BOOL (CALLBACK *LPDPENUMSESSIONSCALLBACK2)(
*/
#define INTERFACE IDirectPlay
#define IDirectPlay_METHODS \
IUnknown_METHODS \
STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPSTR lpPlayerName, LPSTR, LPHANDLE) PURE; \
@ -443,9 +444,6 @@ typedef BOOL (CALLBACK *LPDPENUMSESSIONSCALLBACK2)(
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 INTERFACE
@ -485,6 +483,7 @@ ICOM_DEFINE(IDirectPlay,IUnknown)
*/
#define INTERFACE IDirectPlay2
#define IDirectPlay2_METHODS \
IUnknown_METHODS \
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; \
@ -514,9 +513,6 @@ ICOM_DEFINE(IDirectPlay,IUnknown)
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 INTERFACE
@ -563,6 +559,7 @@ ICOM_DEFINE(IDirectPlay2,IUnknown)
*/
#define INTERFACE IDirectPlay3
#define IDirectPlay3_METHODS \
IDirectPlay2_METHODS \
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; \
@ -578,9 +575,6 @@ ICOM_DEFINE(IDirectPlay2,IUnknown)
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 INTERFACE
@ -642,16 +636,13 @@ ICOM_DEFINE(IDirectPlay3,IDirectPlay2)
*/
#define INTERFACE IDirectPlay4
#define IDirectPlay4_METHODS \
IDirectPlay3_METHODS \
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 INTERFACE

View File

@ -370,6 +370,7 @@ typedef BOOL (CALLBACK *LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
*/
#define INTERFACE IDirectPlayLobby
#define IDirectPlayLobby_METHODS \
IUnknown_METHODS \
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; \
@ -381,9 +382,6 @@ typedef BOOL (CALLBACK *LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
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 INTERFACE
@ -392,10 +390,8 @@ ICOM_DEFINE(IDirectPlayLobby,IUnknown)
*/
#define INTERFACE IDirectPlayLobby2
#define IDirectPlayLobby2_METHODS \
IDirectPlayLobby_METHODS \
STDMETHOD(CreateCompoundAddress)(THIS_ LPCDPCOMPOUNDADDRESSELEMENT, DWORD, LPVOID, LPDWORD) PURE;
#define IDirectPlayLobby2_IMETHODS \
IDirectPlayLobby_IMETHODS \
IDirectPlayLobby2_METHODS
ICOM_DEFINE(IDirectPlayLobby2,IDirectPlayLobby)
#undef INTERFACE
@ -404,14 +400,11 @@ ICOM_DEFINE(IDirectPlayLobby2,IDirectPlayLobby)
*/
#define INTERFACE IDirectPlayLobby3
#define IDirectPlayLobby3_METHODS \
IDirectPlayLobby2_METHODS \
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 INTERFACE

View File

@ -134,15 +134,13 @@ typedef struct _DSCDRIVERCAPS
*/
#define INTERFACE IDsDriver
#define IDsDriver_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -165,6 +163,7 @@ ICOM_DEFINE(IDsDriver,IUnknown)
*/
#define INTERFACE IDsDriverBuffer
#define IDsDriverBuffer_METHODS \
IUnknown_METHODS \
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; \
@ -174,9 +173,6 @@ ICOM_DEFINE(IDsDriver,IUnknown)
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 INTERFACE
@ -202,12 +198,10 @@ ICOM_DEFINE(IDsDriverBuffer,IUnknown)
*/
#define INTERFACE IDsDriverPropertySet
#define IDsDriverPropertySet_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -262,10 +256,8 @@ typedef enum
*/
#define INTERFACE IDsDriverNotify
#define IDsDriverNotify_METHODS \
STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
#define IDsDriverNotify_IMETHODS \
IUnknown_METHODS \
IDsDriverNotify_METHODS
STDMETHOD(SetNotificationPositions)(THIS_ DWORD dwPositionNotifies,LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
ICOM_DEFINE(IDsDriverNotify,IUnknown)
#undef INTERFACE
@ -283,14 +275,12 @@ ICOM_DEFINE(IDsDriverNotify,IUnknown)
*/
#define INTERFACE IDsCaptureDriver
#define IDsCaptureDriver_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -312,6 +302,7 @@ ICOM_DEFINE(IDsCaptureDriver,IUnknown)
*/
#define INTERFACE IDsCaptureDriverBuffer
#define IDsCaptureDriverBuffer_METHODS \
IUnknown_METHODS \
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; \
@ -319,9 +310,6 @@ ICOM_DEFINE(IDsCaptureDriver,IUnknown)
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 INTERFACE

View File

@ -332,6 +332,7 @@ extern HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
*/
#define INTERFACE IDirectSound
#define IDirectSound_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateSoundBuffer)(THIS_ LPDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE; \
@ -340,9 +341,6 @@ extern HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
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 INTERFACE
@ -368,6 +366,7 @@ ICOM_DEFINE(IDirectSound,IUnknown)
*/
#define INTERFACE IDirectSound8
#define IDirectSound8_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateSoundBuffer)(THIS_ LPDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER8 lpDsbOriginal, LPLPDIRECTSOUNDBUFFER8 lplpDsbDuplicate) PURE; \
@ -377,9 +376,6 @@ ICOM_DEFINE(IDirectSound,IUnknown)
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 INTERFACE
@ -407,6 +403,7 @@ ICOM_DEFINE(IDirectSound8,IUnknown)
*/
#define INTERFACE IDirectSoundBuffer
#define IDirectSoundBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
@ -425,9 +422,6 @@ ICOM_DEFINE(IDirectSound8,IUnknown)
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 INTERFACE
@ -463,6 +457,7 @@ ICOM_DEFINE(IDirectSoundBuffer,IUnknown)
*/
#define INTERFACE IDirectSoundBuffer8
#define IDirectSoundBuffer8_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
@ -484,9 +479,6 @@ ICOM_DEFINE(IDirectSoundBuffer,IUnknown)
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 INTERFACE
@ -526,13 +518,10 @@ ICOM_DEFINE(IDirectSoundBuffer8,IUnknown)
*/
#define INTERFACE IDirectSoundCapture
#define IDirectSoundCapture_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -550,6 +539,7 @@ ICOM_DEFINE(IDirectSoundCapture,IUnknown)
*/
#define INTERFACE IDirectSoundCaptureBuffer
#define IDirectSoundCaptureBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
@ -559,10 +549,6 @@ ICOM_DEFINE(IDirectSoundCapture,IUnknown)
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 INTERFACE
@ -586,12 +572,9 @@ ICOM_DEFINE(IDirectSoundCaptureBuffer,IUnknown)
*/
#define INTERFACE IDirectSoundCaptureBuffer8
#define IDirectSoundCaptureBuffer8_METHODS \
IDirectSoundCaptureBuffer_METHODS \
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 INTERFACE
@ -621,10 +604,8 @@ ICOM_DEFINE(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer)
#define INTERFACE IDirectSoundNotify
#define IDirectSoundNotify_METHODS \
IUnknown_METHODS \
STDMETHOD(SetNotificationPositions)(THIS_ DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies) PURE;
#define IDirectSoundNotify_IMETHODS \
IUnknown_IMETHODS \
IDirectSoundNotify_METHODS
ICOM_DEFINE(IDirectSoundNotify,IUnknown)
#undef INTERFACE
@ -684,6 +665,7 @@ typedef const DS3DLISTENER *LPCDS3DLISTENER;
#define INTERFACE IDirectSound3DListener
#define IDirectSound3DListener_METHODS \
IUnknown_METHODS \
STDMETHOD(GetAllParameters)(THIS_ LPDS3DLISTENER lpListener) PURE; \
STDMETHOD(GetDistanceFactor)(THIS_ LPD3DVALUE lpflDistanceFactor) PURE; \
STDMETHOD(GetDopplerFactor)(THIS_ LPD3DVALUE lpflDopplerFactor) PURE; \
@ -699,9 +681,6 @@ typedef const DS3DLISTENER *LPCDS3DLISTENER;
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 INTERFACE
@ -749,6 +728,7 @@ typedef const DS3DBUFFER *LPCDS3DBUFFER;
#define INTERFACE IDirectSound3DBuffer
#define IDirectSound3DBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetAllParameters)(THIS_ LPDS3DBUFFER lpDs3dBuffer) PURE; \
STDMETHOD(GetConeAngles)(THIS_ LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle) PURE; \
STDMETHOD(GetConeOrientation)(THIS_ LPD3DVECTOR lpvOrientation) PURE; \
@ -767,9 +747,6 @@ typedef const DS3DBUFFER *LPCDS3DBUFFER;
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 INTERFACE
@ -807,12 +784,10 @@ ICOM_DEFINE(IDirectSound3DBuffer,IUnknown)
#define INTERFACE IKsPropertySet
#define IKsPropertySet_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -831,10 +806,8 @@ ICOM_DEFINE(IKsPropertySet,IUnknown)
*/
#define INTERFACE IDirectSoundFullDuplex
#define IDirectSoundFullDuplex_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -663,17 +663,6 @@ struct IDispatchVtbl {
};
#define IDispatch_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** IDispatch methods ***/ \
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(INTERFACE *This, UINT* pctinfo); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo); \
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(INTERFACE *This, REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId); \
HRESULT (STDMETHODCALLTYPE *Invoke)(INTERFACE *This, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr);
/*** IUnknown methods ***/
#define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -686,6 +675,18 @@ struct IDispatchVtbl {
#endif
#define IDispatch_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IDispatch methods ***/ \
STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE;
HRESULT CALLBACK IDispatch_GetTypeInfoCount_Proxy(
IDispatch* This,
UINT* pctinfo);
@ -823,17 +824,6 @@ struct IEnumVARIANTVtbl {
};
#define IEnumVARIANT_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** IEnumVARIANT methods ***/ \
HRESULT (STDMETHODCALLTYPE *Next)(INTERFACE *This, ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched); \
HRESULT (STDMETHODCALLTYPE *Skip)(INTERFACE *This, ULONG celt); \
HRESULT (STDMETHODCALLTYPE *Reset)(INTERFACE *This); \
HRESULT (STDMETHODCALLTYPE *Clone)(INTERFACE *This, IEnumVARIANT** ppEnum);
/*** IUnknown methods ***/
#define IEnumVARIANT_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IEnumVARIANT_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -846,6 +836,18 @@ struct IEnumVARIANTVtbl {
#endif
#define IEnumVARIANT_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IEnumVARIANT methods ***/ \
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched) PURE; \
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumVARIANT** ppEnum) PURE;
HRESULT CALLBACK IEnumVARIANT_RemoteNext_Proxy(
IEnumVARIANT* This,
ULONG celt,
@ -969,15 +971,6 @@ struct ITypeCompVtbl {
};
#define ITypeComp_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeComp methods ***/ \
HRESULT (STDMETHODCALLTYPE *Bind)(INTERFACE *This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr); \
HRESULT (STDMETHODCALLTYPE *BindType)(INTERFACE *This, LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp);
/*** IUnknown methods ***/
#define ITypeComp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeComp_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -988,6 +981,16 @@ struct ITypeCompVtbl {
#endif
#define ITypeComp_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeComp methods ***/ \
STDMETHOD_(HRESULT,Bind)(THIS_ LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo** ppTInfo, DESCKIND* pDescKind, BINDPTR* pBindPtr) PURE; \
STDMETHOD_(HRESULT,BindType)(THIS_ LPOLESTR szName, ULONG lHashVal, ITypeInfo** ppTInfo, ITypeComp** ppTComp) PURE;
HRESULT CALLBACK ITypeComp_RemoteBind_Proxy(
ITypeComp* This,
LPOLESTR szName,
@ -1271,32 +1274,6 @@ struct ITypeInfoVtbl {
};
#define ITypeInfo_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(INTERFACE *This, TYPEATTR** ppTypeAttr); \
HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(INTERFACE *This, UINT index, FUNCDESC** ppFuncDesc); \
HRESULT (STDMETHODCALLTYPE *GetVarDesc)(INTERFACE *This, UINT index, VARDESC** ppVarDesc); \
HRESULT (STDMETHODCALLTYPE *GetNames)(INTERFACE *This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); \
HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(INTERFACE *This, UINT index, HREFTYPE* pRefType); \
HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(INTERFACE *This, UINT index, INT* pImplTypeFlags); \
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(INTERFACE *This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); \
HRESULT (STDMETHODCALLTYPE *Invoke)(INTERFACE *This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); \
HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
HRESULT (STDMETHODCALLTYPE *GetDllEntry)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); \
HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(INTERFACE *This, HREFTYPE hRefType, ITypeInfo** ppTInfo); \
HRESULT (STDMETHODCALLTYPE *AddressOfMember)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); \
HRESULT (STDMETHODCALLTYPE *CreateInstance)(INTERFACE *This, IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj); \
HRESULT (STDMETHODCALLTYPE *GetMops)(INTERFACE *This, MEMBERID memid, BSTR* pBstrMops); \
HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(INTERFACE *This, ITypeLib** ppTLib, UINT* pIndex); \
void (STDMETHODCALLTYPE *ReleaseTypeAttr)(INTERFACE *This, TYPEATTR* pTypeAttr); \
void (STDMETHODCALLTYPE *ReleaseFuncDesc)(INTERFACE *This, FUNCDESC* pFuncDesc); \
void (STDMETHODCALLTYPE *ReleaseVarDesc)(INTERFACE *This, VARDESC* pVarDesc);
/*** IUnknown methods ***/
#define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -1324,6 +1301,33 @@ struct ITypeInfoVtbl {
#endif
#define ITypeInfo_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeInfo methods ***/ \
STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE;
HRESULT CALLBACK ITypeInfo_RemoteGetTypeAttr_Proxy(
ITypeInfo* This,
LPTYPEATTR* ppTypeAttr,
@ -1909,48 +1913,6 @@ struct ITypeInfo2Vtbl {
};
#define ITypeInfo2_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *GetTypeAttr)(INTERFACE *This, TYPEATTR** ppTypeAttr); \
HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
HRESULT (STDMETHODCALLTYPE *GetFuncDesc)(INTERFACE *This, UINT index, FUNCDESC** ppFuncDesc); \
HRESULT (STDMETHODCALLTYPE *GetVarDesc)(INTERFACE *This, UINT index, VARDESC** ppVarDesc); \
HRESULT (STDMETHODCALLTYPE *GetNames)(INTERFACE *This, MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames); \
HRESULT (STDMETHODCALLTYPE *GetRefTypeOfImplType)(INTERFACE *This, UINT index, HREFTYPE* pRefType); \
HRESULT (STDMETHODCALLTYPE *GetImplTypeFlags)(INTERFACE *This, UINT index, INT* pImplTypeFlags); \
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(INTERFACE *This, LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId); \
HRESULT (STDMETHODCALLTYPE *Invoke)(INTERFACE *This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr); \
HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
HRESULT (STDMETHODCALLTYPE *GetDllEntry)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal); \
HRESULT (STDMETHODCALLTYPE *GetRefTypeInfo)(INTERFACE *This, HREFTYPE hRefType, ITypeInfo** ppTInfo); \
HRESULT (STDMETHODCALLTYPE *AddressOfMember)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, PVOID* ppv); \
HRESULT (STDMETHODCALLTYPE *CreateInstance)(INTERFACE *This, IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj); \
HRESULT (STDMETHODCALLTYPE *GetMops)(INTERFACE *This, MEMBERID memid, BSTR* pBstrMops); \
HRESULT (STDMETHODCALLTYPE *GetContainingTypeLib)(INTERFACE *This, ITypeLib** ppTLib, UINT* pIndex); \
void (STDMETHODCALLTYPE *ReleaseTypeAttr)(INTERFACE *This, TYPEATTR* pTypeAttr); \
void (STDMETHODCALLTYPE *ReleaseFuncDesc)(INTERFACE *This, FUNCDESC* pFuncDesc); \
void (STDMETHODCALLTYPE *ReleaseVarDesc)(INTERFACE *This, VARDESC* pVarDesc); \
/*** ITypeInfo2 methods ***/ \
HRESULT (STDMETHODCALLTYPE *GetTypeKind)(INTERFACE *This, TYPEKIND* pTypeKind); \
HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(INTERFACE *This, ULONG* pTypeFlags); \
HRESULT (STDMETHODCALLTYPE *GetFuncIndexOfMemId)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex); \
HRESULT (STDMETHODCALLTYPE *GetVarIndexOfMemId)(INTERFACE *This, MEMBERID memid, UINT* pVarIndex); \
HRESULT (STDMETHODCALLTYPE *GetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *GetFuncCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *GetParamCustData)(INTERFACE *This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *GetVarCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *GetImplTypeCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(INTERFACE *This, MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); \
HRESULT (STDMETHODCALLTYPE *GetAllCustData)(INTERFACE *This, CUSTDATA* pCustData); \
HRESULT (STDMETHODCALLTYPE *GetAllFuncCustData)(INTERFACE *This, UINT index, CUSTDATA* pCustData); \
HRESULT (STDMETHODCALLTYPE *GetAllParamCustData)(INTERFACE *This, UINT indexFunc, UINT indexParam, CUSTDATA* pCustData); \
HRESULT (STDMETHODCALLTYPE *GetAllVarCustData)(INTERFACE *This, UINT index, CUSTDATA* pCustData); \
HRESULT (STDMETHODCALLTYPE *GetAllImplTypeCustData)(INTERFACE *This, UINT index, CUSTDATA* pCustData);
/*** IUnknown methods ***/
#define ITypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -1994,6 +1956,49 @@ struct ITypeInfo2Vtbl {
#endif
#define ITypeInfo2_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeInfo methods ***/ \
STDMETHOD_(HRESULT,GetTypeAttr)(THIS_ TYPEATTR** ppTypeAttr) PURE; \
STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
STDMETHOD_(HRESULT,GetFuncDesc)(THIS_ UINT index, FUNCDESC** ppFuncDesc) PURE; \
STDMETHOD_(HRESULT,GetVarDesc)(THIS_ UINT index, VARDESC** ppVarDesc) PURE; \
STDMETHOD_(HRESULT,GetNames)(THIS_ MEMBERID memid, BSTR* rgBstrNames, UINT cMaxNames, UINT* pcNames) PURE; \
STDMETHOD_(HRESULT,GetRefTypeOfImplType)(THIS_ UINT index, HREFTYPE* pRefType) PURE; \
STDMETHOD_(HRESULT,GetImplTypeFlags)(THIS_ UINT index, INT* pImplTypeFlags) PURE; \
STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ LPOLESTR* rgszNames, UINT cNames, MEMBERID* pMemId) PURE; \
STDMETHOD_(HRESULT,Invoke)(THIS_ PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
STDMETHOD_(HRESULT,GetDocumentation)(THIS_ MEMBERID memid, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
STDMETHOD_(HRESULT,GetDllEntry)(THIS_ MEMBERID memid, INVOKEKIND invKind, BSTR* pBstrDllName, BSTR* pBstrName, WORD* pwOrdinal) PURE; \
STDMETHOD_(HRESULT,GetRefTypeInfo)(THIS_ HREFTYPE hRefType, ITypeInfo** ppTInfo) PURE; \
STDMETHOD_(HRESULT,AddressOfMember)(THIS_ MEMBERID memid, INVOKEKIND invKind, PVOID* ppv) PURE; \
STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, PVOID* ppvObj) PURE; \
STDMETHOD_(HRESULT,GetMops)(THIS_ MEMBERID memid, BSTR* pBstrMops) PURE; \
STDMETHOD_(HRESULT,GetContainingTypeLib)(THIS_ ITypeLib** ppTLib, UINT* pIndex) PURE; \
STDMETHOD_(void,ReleaseTypeAttr)(THIS_ TYPEATTR* pTypeAttr) PURE; \
STDMETHOD_(void,ReleaseFuncDesc)(THIS_ FUNCDESC* pFuncDesc) PURE; \
STDMETHOD_(void,ReleaseVarDesc)(THIS_ VARDESC* pVarDesc) PURE; \
/*** ITypeInfo2 methods ***/ \
STDMETHOD_(HRESULT,GetTypeKind)(THIS_ TYPEKIND* pTypeKind) PURE; \
STDMETHOD_(HRESULT,GetTypeFlags)(THIS_ ULONG* pTypeFlags) PURE; \
STDMETHOD_(HRESULT,GetFuncIndexOfMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind, UINT* pFuncIndex) PURE; \
STDMETHOD_(HRESULT,GetVarIndexOfMemId)(THIS_ MEMBERID memid, UINT* pVarIndex) PURE; \
STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,GetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,GetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,GetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,GetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ MEMBERID memid, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE; \
STDMETHOD_(HRESULT,GetAllFuncCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
STDMETHOD_(HRESULT,GetAllParamCustData)(THIS_ UINT indexFunc, UINT indexParam, CUSTDATA* pCustData) PURE; \
STDMETHOD_(HRESULT,GetAllVarCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE; \
STDMETHOD_(HRESULT,GetAllImplTypeCustData)(THIS_ UINT index, CUSTDATA* pCustData) PURE;
HRESULT CALLBACK ITypeInfo2_GetTypeKind_Proxy(
ITypeInfo2* This,
TYPEKIND* pTypeKind);
@ -2303,23 +2308,6 @@ struct ITypeLibVtbl {
};
#define ITypeLib_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeLib methods ***/ \
UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(INTERFACE *This); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, UINT index, ITypeInfo** ppTInfo); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(INTERFACE *This, UINT index, TYPEKIND* pTKind); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(INTERFACE *This, REFGUID guid, ITypeInfo** ppTinfo); \
HRESULT (STDMETHODCALLTYPE *GetLibAttr)(INTERFACE *This, TLIBATTR** ppTLibAttr); \
HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
HRESULT (STDMETHODCALLTYPE *IsName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName); \
HRESULT (STDMETHODCALLTYPE *FindName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound); \
void (STDMETHODCALLTYPE *ReleaseTLibAttr)(INTERFACE *This, TLIBATTR* pTLibAttr);
/*** IUnknown methods ***/
#define ITypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -2338,6 +2326,24 @@ struct ITypeLibVtbl {
#endif
#define ITypeLib_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeLib methods ***/ \
STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE;
HRESULT CALLBACK ITypeLib_RemoteGetTypeInfoCount_Proxy(
ITypeLib* This,
UINT* pcTInfo);
@ -2620,28 +2626,6 @@ struct ITypeLib2Vtbl {
};
#define ITypeLib2_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeLib methods ***/ \
UINT (STDMETHODCALLTYPE *GetTypeInfoCount)(INTERFACE *This); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, UINT index, ITypeInfo** ppTInfo); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfoType)(INTERFACE *This, UINT index, TYPEKIND* pTKind); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfoOfGuid)(INTERFACE *This, REFGUID guid, ITypeInfo** ppTinfo); \
HRESULT (STDMETHODCALLTYPE *GetLibAttr)(INTERFACE *This, TLIBATTR** ppTLibAttr); \
HRESULT (STDMETHODCALLTYPE *GetTypeComp)(INTERFACE *This, ITypeComp** ppTComp); \
HRESULT (STDMETHODCALLTYPE *GetDocumentation)(INTERFACE *This, INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile); \
HRESULT (STDMETHODCALLTYPE *IsName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName); \
HRESULT (STDMETHODCALLTYPE *FindName)(INTERFACE *This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound); \
void (STDMETHODCALLTYPE *ReleaseTLibAttr)(INTERFACE *This, TLIBATTR* pTLibAttr); \
/*** ITypeLib2 methods ***/ \
HRESULT (STDMETHODCALLTYPE *GetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *GetLibStatistics)(INTERFACE *This, ULONG* pcUniqueNames, ULONG* pcchUniqueNames); \
HRESULT (STDMETHODCALLTYPE *GetDocumentation2)(INTERFACE *This, INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll); \
HRESULT (STDMETHODCALLTYPE *GetAllCustData)(INTERFACE *This, CUSTDATA* pCustData);
/*** IUnknown methods ***/
#define ITypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -2665,6 +2649,29 @@ struct ITypeLib2Vtbl {
#endif
#define ITypeLib2_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeLib methods ***/ \
STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE; \
STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT index, ITypeInfo** ppTInfo) PURE; \
STDMETHOD_(HRESULT,GetTypeInfoType)(THIS_ UINT index, TYPEKIND* pTKind) PURE; \
STDMETHOD_(HRESULT,GetTypeInfoOfGuid)(THIS_ REFGUID guid, ITypeInfo** ppTinfo) PURE; \
STDMETHOD_(HRESULT,GetLibAttr)(THIS_ TLIBATTR** ppTLibAttr) PURE; \
STDMETHOD_(HRESULT,GetTypeComp)(THIS_ ITypeComp** ppTComp) PURE; \
STDMETHOD_(HRESULT,GetDocumentation)(THIS_ INT index, BSTR* pBstrName, BSTR* pBstrDocString, DWORD* pdwHelpContext, BSTR* pBstrHelpFile) PURE; \
STDMETHOD_(HRESULT,IsName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, BOOL* pfName) PURE; \
STDMETHOD_(HRESULT,FindName)(THIS_ LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo** ppTInfo, MEMBERID* rgMemId, USHORT* pcFound) PURE; \
STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR* pTLibAttr) PURE; \
/*** ITypeLib2 methods ***/ \
STDMETHOD_(HRESULT,GetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,GetLibStatistics)(THIS_ ULONG* pcUniqueNames, ULONG* pcchUniqueNames) PURE; \
STDMETHOD_(HRESULT,GetDocumentation2)(THIS_ INT index, LCID lcid, BSTR* pbstrHelpString, DWORD* pdwHelpStringContext, BSTR* pbstrHelpStringDll) PURE; \
STDMETHOD_(HRESULT,GetAllCustData)(THIS_ CUSTDATA* pCustData) PURE;
HRESULT CALLBACK ITypeLib2_GetCustData_Proxy(
ITypeLib2* This,
REFGUID guid,
@ -2797,15 +2804,6 @@ struct ITypeChangeEventsVtbl {
};
#define ITypeChangeEvents_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeChangeEvents methods ***/ \
HRESULT (STDMETHODCALLTYPE *RequestTypeChange)(INTERFACE *This, CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel); \
HRESULT (STDMETHODCALLTYPE *AfterTypeChange)(INTERFACE *This, CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName);
/*** IUnknown methods ***/
#define ITypeChangeEvents_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeChangeEvents_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -2816,6 +2814,16 @@ struct ITypeChangeEventsVtbl {
#endif
#define ITypeChangeEvents_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeChangeEvents methods ***/ \
STDMETHOD_(HRESULT,RequestTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoBefore, LPOLESTR pStrName, INT* pfCancel) PURE; \
STDMETHOD_(HRESULT,AfterTypeChange)(THIS_ CHANGEKIND changeKind, ITypeInfo* pTInfoAfter, LPOLESTR pStrName) PURE;
HRESULT CALLBACK ITypeChangeEvents_RequestTypeChange_Proxy(
ITypeChangeEvents* This,
CHANGEKIND changeKind,
@ -2907,18 +2915,6 @@ struct IErrorInfoVtbl {
};
#define IErrorInfo_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** IErrorInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *GetGUID)(INTERFACE *This, GUID* pGUID); \
HRESULT (STDMETHODCALLTYPE *GetSource)(INTERFACE *This, BSTR* pBstrSource); \
HRESULT (STDMETHODCALLTYPE *GetDescription)(INTERFACE *This, BSTR* pBstrDescription); \
HRESULT (STDMETHODCALLTYPE *GetHelpFile)(INTERFACE *This, BSTR* pBstrHelpFile); \
HRESULT (STDMETHODCALLTYPE *GetHelpContext)(INTERFACE *This, DWORD* pdwHelpContext);
/*** IUnknown methods ***/
#define IErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -2932,6 +2928,19 @@ struct IErrorInfoVtbl {
#endif
#define IErrorInfo_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IErrorInfo methods ***/ \
STDMETHOD_(HRESULT,GetGUID)(THIS_ GUID* pGUID) PURE; \
STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pBstrSource) PURE; \
STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pBstrDescription) PURE; \
STDMETHOD_(HRESULT,GetHelpFile)(THIS_ BSTR* pBstrHelpFile) PURE; \
STDMETHOD_(HRESULT,GetHelpContext)(THIS_ DWORD* pdwHelpContext) PURE;
HRESULT CALLBACK IErrorInfo_GetGUID_Proxy(
IErrorInfo* This,
GUID* pGUID);
@ -3042,18 +3051,6 @@ struct ICreateErrorInfoVtbl {
};
#define ICreateErrorInfo_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ICreateErrorInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *SetGUID)(INTERFACE *This, REFGUID rguid); \
HRESULT (STDMETHODCALLTYPE *SetSource)(INTERFACE *This, LPOLESTR szSource); \
HRESULT (STDMETHODCALLTYPE *SetDescription)(INTERFACE *This, LPOLESTR szDescription); \
HRESULT (STDMETHODCALLTYPE *SetHelpFile)(INTERFACE *This, LPOLESTR szHelpFile); \
HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext);
/*** IUnknown methods ***/
#define ICreateErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICreateErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -3067,6 +3064,19 @@ struct ICreateErrorInfoVtbl {
#endif
#define ICreateErrorInfo_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ICreateErrorInfo methods ***/ \
STDMETHOD_(HRESULT,SetGUID)(THIS_ REFGUID rguid) PURE; \
STDMETHOD_(HRESULT,SetSource)(THIS_ LPOLESTR szSource) PURE; \
STDMETHOD_(HRESULT,SetDescription)(THIS_ LPOLESTR szDescription) PURE; \
STDMETHOD_(HRESULT,SetHelpFile)(THIS_ LPOLESTR szHelpFile) PURE; \
STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE;
HRESULT CALLBACK ICreateErrorInfo_SetGUID_Proxy(
ICreateErrorInfo* This,
REFGUID rguid);
@ -3149,14 +3159,6 @@ struct ISupportErrorInfoVtbl {
};
#define ISupportErrorInfo_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ISupportErrorInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *InterfaceSupportsErrorInfo)(INTERFACE *This, REFIID riid);
/*** IUnknown methods ***/
#define ISupportErrorInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ISupportErrorInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -3166,6 +3168,15 @@ struct ISupportErrorInfoVtbl {
#endif
#define ISupportErrorInfo_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ISupportErrorInfo methods ***/ \
STDMETHOD_(HRESULT,InterfaceSupportsErrorInfo)(THIS_ REFIID riid) PURE;
HRESULT CALLBACK ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy(
ISupportErrorInfo* This,
REFIID riid);
@ -3218,14 +3229,6 @@ struct ITypeFactoryVtbl {
};
#define ITypeFactory_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeFactory methods ***/ \
HRESULT (STDMETHODCALLTYPE *CreateFromTypeInfo)(INTERFACE *This, ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv);
/*** IUnknown methods ***/
#define ITypeFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -3235,6 +3238,15 @@ struct ITypeFactoryVtbl {
#endif
#define ITypeFactory_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeFactory methods ***/ \
STDMETHOD_(HRESULT,CreateFromTypeInfo)(THIS_ ITypeInfo* pTypeInfo, REFIID riid, IUnknown** ppv) PURE;
HRESULT CALLBACK ITypeFactory_CreateFromTypeInfo_Proxy(
ITypeFactory* This,
ITypeInfo* pTypeInfo,
@ -3330,17 +3342,6 @@ struct ITypeMarshalVtbl {
};
#define ITypeMarshal_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ITypeMarshal methods ***/ \
HRESULT (STDMETHODCALLTYPE *Size)(INTERFACE *This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize); \
HRESULT (STDMETHODCALLTYPE *Marshal)(INTERFACE *This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten); \
HRESULT (STDMETHODCALLTYPE *Unmarshal)(INTERFACE *This, PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead); \
HRESULT (STDMETHODCALLTYPE *Free)(INTERFACE *This, PVOID pvType);
/*** IUnknown methods ***/
#define ITypeMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITypeMarshal_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -3353,6 +3354,18 @@ struct ITypeMarshalVtbl {
#endif
#define ITypeMarshal_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ITypeMarshal methods ***/ \
STDMETHOD_(HRESULT,Size)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG* pSize) PURE; \
STDMETHOD_(HRESULT,Marshal)(THIS_ PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbWritten) PURE; \
STDMETHOD_(HRESULT,Unmarshal)(THIS_ PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE* pBuffer, ULONG* pcbRead) PURE; \
STDMETHOD_(HRESULT,Free)(THIS_ PVOID pvType) PURE;
HRESULT CALLBACK ITypeMarshal_Size_Proxy(
ITypeMarshal* This,
PVOID pvType,
@ -3570,29 +3583,6 @@ struct IRecordInfoVtbl {
};
#define IRecordInfo_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** IRecordInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *RecordInit)(INTERFACE *This, PVOID pvNew); \
HRESULT (STDMETHODCALLTYPE *RecordClear)(INTERFACE *This, PVOID pvExisting); \
HRESULT (STDMETHODCALLTYPE *RecordCopy)(INTERFACE *This, PVOID pvExisting, PVOID pvNew); \
HRESULT (STDMETHODCALLTYPE *GetGuid)(INTERFACE *This, GUID* pguid); \
HRESULT (STDMETHODCALLTYPE *GetName)(INTERFACE *This, BSTR* pbstrName); \
HRESULT (STDMETHODCALLTYPE *GetSize)(INTERFACE *This, ULONG* pcbSize); \
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(INTERFACE *This, ITypeInfo** ppTypeInfo); \
HRESULT (STDMETHODCALLTYPE *GetField)(INTERFACE *This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); \
HRESULT (STDMETHODCALLTYPE *GetFieldNoCopy)(INTERFACE *This, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray); \
HRESULT (STDMETHODCALLTYPE *PutField)(INTERFACE *This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); \
HRESULT (STDMETHODCALLTYPE *PutFieldNoCopy)(INTERFACE *This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField); \
HRESULT (STDMETHODCALLTYPE *GetFieldNames)(INTERFACE *This, ULONG* pcNames, BSTR* rgBstrNames); \
BOOL (STDMETHODCALLTYPE *IsMatchingType)(INTERFACE *This, IRecordInfo* pRecordInfo); \
PVOID (STDMETHODCALLTYPE *RecordCreate)(INTERFACE *This); \
HRESULT (STDMETHODCALLTYPE *RecordCreateCopy)(INTERFACE *This, PVOID pvSource, PVOID* ppvDest); \
HRESULT (STDMETHODCALLTYPE *RecordDestroy)(INTERFACE *This, PVOID pvRecord);
/*** IUnknown methods ***/
#define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -3617,6 +3607,30 @@ struct IRecordInfoVtbl {
#endif
#define IRecordInfo_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IRecordInfo methods ***/ \
STDMETHOD_(HRESULT,RecordInit)(THIS_ PVOID pvNew) PURE; \
STDMETHOD_(HRESULT,RecordClear)(THIS_ PVOID pvExisting) PURE; \
STDMETHOD_(HRESULT,RecordCopy)(THIS_ PVOID pvExisting, PVOID pvNew) PURE; \
STDMETHOD_(HRESULT,GetGuid)(THIS_ GUID* pguid) PURE; \
STDMETHOD_(HRESULT,GetName)(THIS_ BSTR* pbstrName) PURE; \
STDMETHOD_(HRESULT,GetSize)(THIS_ ULONG* pcbSize) PURE; \
STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ ITypeInfo** ppTypeInfo) PURE; \
STDMETHOD_(HRESULT,GetField)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
STDMETHOD_(HRESULT,GetFieldNoCopy)(THIS_ PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField, PVOID* ppvDataCArray) PURE; \
STDMETHOD_(HRESULT,PutField)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
STDMETHOD_(HRESULT,PutFieldNoCopy)(THIS_ ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT* pvarField) PURE; \
STDMETHOD_(HRESULT,GetFieldNames)(THIS_ ULONG* pcNames, BSTR* rgBstrNames) PURE; \
STDMETHOD_(BOOL,IsMatchingType)(THIS_ IRecordInfo* pRecordInfo) PURE; \
STDMETHOD_(PVOID,RecordCreate)(THIS) PURE; \
STDMETHOD_(HRESULT,RecordCreateCopy)(THIS_ PVOID pvSource, PVOID* ppvDest) PURE; \
STDMETHOD_(HRESULT,RecordDestroy)(THIS_ PVOID pvRecord) PURE;
HRESULT CALLBACK IRecordInfo_RecordInit_Proxy(
IRecordInfo* This,
PVOID pvNew);
@ -3985,36 +3999,6 @@ struct ICreateTypeInfoVtbl {
};
#define ICreateTypeInfo_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ICreateTypeInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(INTERFACE *This, UINT uTypeFlags); \
HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR pStrDoc); \
HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(INTERFACE *This, ITypeInfo* pTInfo, HREFTYPE* phRefType); \
HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(INTERFACE *This, UINT index, FUNCDESC* pFuncDesc); \
HRESULT (STDMETHODCALLTYPE *AddImplType)(INTERFACE *This, UINT index, HREFTYPE hRefType); \
HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(INTERFACE *This, UINT index, INT implTypeFlags); \
HRESULT (STDMETHODCALLTYPE *SetAlignment)(INTERFACE *This, WORD cbAlignment); \
HRESULT (STDMETHODCALLTYPE *SetSchema)(INTERFACE *This, LPOLESTR pStrSchema); \
HRESULT (STDMETHODCALLTYPE *AddVarDesc)(INTERFACE *This, UINT index, VARDESC* pVarDesc); \
HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(INTERFACE *This, UINT index, LPOLESTR* rgszNames, UINT cNames); \
HRESULT (STDMETHODCALLTYPE *SetVarName)(INTERFACE *This, UINT index, LPOLESTR szName); \
HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(INTERFACE *This, TYPEDESC* pTDescAlias); \
HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(INTERFACE *This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); \
HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
HRESULT (STDMETHODCALLTYPE *SetVarDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetMops)(INTERFACE *This, UINT index, BSTR bstrMops); \
HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(INTERFACE *This, IDLDESC* pIdlDesc); \
HRESULT (STDMETHODCALLTYPE *LayOut)(INTERFACE *This);
/*** IUnknown methods ***/
#define ICreateTypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICreateTypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -4046,6 +4030,37 @@ struct ICreateTypeInfoVtbl {
#endif
#define ICreateTypeInfo_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ICreateTypeInfo methods ***/ \
STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
STDMETHOD_(HRESULT,LayOut)(THIS) PURE;
HRESULT CALLBACK ICreateTypeInfo_SetGuid_Proxy(
ICreateTypeInfo* This,
REFGUID guid);
@ -4518,52 +4533,6 @@ struct ICreateTypeInfo2Vtbl {
};
#define ICreateTypeInfo2_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ICreateTypeInfo methods ***/ \
HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
HRESULT (STDMETHODCALLTYPE *SetTypeFlags)(INTERFACE *This, UINT uTypeFlags); \
HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR pStrDoc); \
HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
HRESULT (STDMETHODCALLTYPE *AddRefTypeInfo)(INTERFACE *This, ITypeInfo* pTInfo, HREFTYPE* phRefType); \
HRESULT (STDMETHODCALLTYPE *AddFuncDesc)(INTERFACE *This, UINT index, FUNCDESC* pFuncDesc); \
HRESULT (STDMETHODCALLTYPE *AddImplType)(INTERFACE *This, UINT index, HREFTYPE hRefType); \
HRESULT (STDMETHODCALLTYPE *SetImplTypeFlags)(INTERFACE *This, UINT index, INT implTypeFlags); \
HRESULT (STDMETHODCALLTYPE *SetAlignment)(INTERFACE *This, WORD cbAlignment); \
HRESULT (STDMETHODCALLTYPE *SetSchema)(INTERFACE *This, LPOLESTR pStrSchema); \
HRESULT (STDMETHODCALLTYPE *AddVarDesc)(INTERFACE *This, UINT index, VARDESC* pVarDesc); \
HRESULT (STDMETHODCALLTYPE *SetFuncAndParamNames)(INTERFACE *This, UINT index, LPOLESTR* rgszNames, UINT cNames); \
HRESULT (STDMETHODCALLTYPE *SetVarName)(INTERFACE *This, UINT index, LPOLESTR szName); \
HRESULT (STDMETHODCALLTYPE *SetTypeDescAlias)(INTERFACE *This, TYPEDESC* pTDescAlias); \
HRESULT (STDMETHODCALLTYPE *DefineFuncAsDllEntry)(INTERFACE *This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName); \
HRESULT (STDMETHODCALLTYPE *SetFuncDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
HRESULT (STDMETHODCALLTYPE *SetVarDocString)(INTERFACE *This, UINT index, LPOLESTR szDocString); \
HRESULT (STDMETHODCALLTYPE *SetFuncHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetVarHelpContext)(INTERFACE *This, UINT index, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetMops)(INTERFACE *This, UINT index, BSTR bstrMops); \
HRESULT (STDMETHODCALLTYPE *SetTypeIdldesc)(INTERFACE *This, IDLDESC* pIdlDesc); \
HRESULT (STDMETHODCALLTYPE *LayOut)(INTERFACE *This); \
/*** ICreateTypeInfo2 methods ***/ \
HRESULT (STDMETHODCALLTYPE *DeleteFuncDesc)(INTERFACE *This, UINT index); \
HRESULT (STDMETHODCALLTYPE *DeleteFuncDescByMemId)(INTERFACE *This, MEMBERID memid, INVOKEKIND invKind); \
HRESULT (STDMETHODCALLTYPE *DeleteVarDesc)(INTERFACE *This, UINT index); \
HRESULT (STDMETHODCALLTYPE *DeleteVarDescByMemId)(INTERFACE *This, MEMBERID memid); \
HRESULT (STDMETHODCALLTYPE *DeleteImplType)(INTERFACE *This, UINT index); \
HRESULT (STDMETHODCALLTYPE *SetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *SetFuncCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *SetParamCustData)(INTERFACE *This, UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *SetVarCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *SetImplTypeCustData)(INTERFACE *This, UINT index, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(INTERFACE *This, ULONG dwHelpStringContext); \
HRESULT (STDMETHODCALLTYPE *SetFuncHelpStringContext)(INTERFACE *This, UINT index, ULONG dwHelpStringContext); \
HRESULT (STDMETHODCALLTYPE *SetVarHelpStringContext)(INTERFACE *This, UINT index, ULONG dwHelpStringContext); \
HRESULT (STDMETHODCALLTYPE *Invalidate)(INTERFACE *This); \
HRESULT (STDMETHODCALLTYPE *SetName)(INTERFACE *This, LPOLESTR szName);
/*** IUnknown methods ***/
#define ICreateTypeInfo2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICreateTypeInfo2_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -4611,6 +4580,53 @@ struct ICreateTypeInfo2Vtbl {
#endif
#define ICreateTypeInfo2_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ICreateTypeInfo methods ***/ \
STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
STDMETHOD_(HRESULT,SetTypeFlags)(THIS_ UINT uTypeFlags) PURE; \
STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR pStrDoc) PURE; \
STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
STDMETHOD_(HRESULT,AddRefTypeInfo)(THIS_ ITypeInfo* pTInfo, HREFTYPE* phRefType) PURE; \
STDMETHOD_(HRESULT,AddFuncDesc)(THIS_ UINT index, FUNCDESC* pFuncDesc) PURE; \
STDMETHOD_(HRESULT,AddImplType)(THIS_ UINT index, HREFTYPE hRefType) PURE; \
STDMETHOD_(HRESULT,SetImplTypeFlags)(THIS_ UINT index, INT implTypeFlags) PURE; \
STDMETHOD_(HRESULT,SetAlignment)(THIS_ WORD cbAlignment) PURE; \
STDMETHOD_(HRESULT,SetSchema)(THIS_ LPOLESTR pStrSchema) PURE; \
STDMETHOD_(HRESULT,AddVarDesc)(THIS_ UINT index, VARDESC* pVarDesc) PURE; \
STDMETHOD_(HRESULT,SetFuncAndParamNames)(THIS_ UINT index, LPOLESTR* rgszNames, UINT cNames) PURE; \
STDMETHOD_(HRESULT,SetVarName)(THIS_ UINT index, LPOLESTR szName) PURE; \
STDMETHOD_(HRESULT,SetTypeDescAlias)(THIS_ TYPEDESC* pTDescAlias) PURE; \
STDMETHOD_(HRESULT,DefineFuncAsDllEntry)(THIS_ UINT index, LPOLESTR szDllName, LPOLESTR szProcName) PURE; \
STDMETHOD_(HRESULT,SetFuncDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
STDMETHOD_(HRESULT,SetVarDocString)(THIS_ UINT index, LPOLESTR szDocString) PURE; \
STDMETHOD_(HRESULT,SetFuncHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetVarHelpContext)(THIS_ UINT index, DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetMops)(THIS_ UINT index, BSTR bstrMops) PURE; \
STDMETHOD_(HRESULT,SetTypeIdldesc)(THIS_ IDLDESC* pIdlDesc) PURE; \
STDMETHOD_(HRESULT,LayOut)(THIS) PURE; \
/*** ICreateTypeInfo2 methods ***/ \
STDMETHOD_(HRESULT,DeleteFuncDesc)(THIS_ UINT index) PURE; \
STDMETHOD_(HRESULT,DeleteFuncDescByMemId)(THIS_ MEMBERID memid, INVOKEKIND invKind) PURE; \
STDMETHOD_(HRESULT,DeleteVarDesc)(THIS_ UINT index) PURE; \
STDMETHOD_(HRESULT,DeleteVarDescByMemId)(THIS_ MEMBERID memid) PURE; \
STDMETHOD_(HRESULT,DeleteImplType)(THIS_ UINT index) PURE; \
STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,SetFuncCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,SetParamCustData)(THIS_ UINT indexFunc, UINT indexParam, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,SetVarCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,SetImplTypeCustData)(THIS_ UINT index, REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
STDMETHOD_(HRESULT,SetFuncHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
STDMETHOD_(HRESULT,SetVarHelpStringContext)(THIS_ UINT index, ULONG dwHelpStringContext) PURE; \
STDMETHOD_(HRESULT,Invalidate)(THIS) PURE; \
STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE;
HRESULT CALLBACK ICreateTypeInfo2_DeleteFuncDesc_Proxy(
ICreateTypeInfo2* This,
UINT index);
@ -4853,23 +4869,6 @@ struct ICreateTypeLibVtbl {
};
#define ICreateTypeLib_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ICreateTypeLib methods ***/ \
HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(INTERFACE *This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); \
HRESULT (STDMETHODCALLTYPE *SetName)(INTERFACE *This, LPOLESTR szName); \
HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR szDoc); \
HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(INTERFACE *This, LPOLESTR szHelpFileName); \
HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetLcid)(INTERFACE *This, LCID lcid); \
HRESULT (STDMETHODCALLTYPE *SetLibFlags)(INTERFACE *This, UINT uLibFlags); \
HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(INTERFACE *This);
/*** IUnknown methods ***/
#define ICreateTypeLib_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICreateTypeLib_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -4888,6 +4887,24 @@ struct ICreateTypeLibVtbl {
#endif
#define ICreateTypeLib_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ICreateTypeLib methods ***/ \
STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE;
HRESULT CALLBACK ICreateTypeLib_CreateTypeInfo_Proxy(
ICreateTypeLib* This,
LPOLESTR szName,
@ -5078,28 +5095,6 @@ struct ICreateTypeLib2Vtbl {
};
#define ICreateTypeLib2_IMETHODS \
/*** IUnknown methods ***/ \
HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
/*** ICreateTypeLib methods ***/ \
HRESULT (STDMETHODCALLTYPE *CreateTypeInfo)(INTERFACE *This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo); \
HRESULT (STDMETHODCALLTYPE *SetName)(INTERFACE *This, LPOLESTR szName); \
HRESULT (STDMETHODCALLTYPE *SetVersion)(INTERFACE *This, WORD wMajorVerNum, WORD wMinorVerNum); \
HRESULT (STDMETHODCALLTYPE *SetGuid)(INTERFACE *This, REFGUID guid); \
HRESULT (STDMETHODCALLTYPE *SetDocString)(INTERFACE *This, LPOLESTR szDoc); \
HRESULT (STDMETHODCALLTYPE *SetHelpFileName)(INTERFACE *This, LPOLESTR szHelpFileName); \
HRESULT (STDMETHODCALLTYPE *SetHelpContext)(INTERFACE *This, DWORD dwHelpContext); \
HRESULT (STDMETHODCALLTYPE *SetLcid)(INTERFACE *This, LCID lcid); \
HRESULT (STDMETHODCALLTYPE *SetLibFlags)(INTERFACE *This, UINT uLibFlags); \
HRESULT (STDMETHODCALLTYPE *SaveAllChanges)(INTERFACE *This); \
/*** ICreateTypeLib2 methods ***/ \
HRESULT (STDMETHODCALLTYPE *DeleteTypeInfo)(INTERFACE *This, LPOLESTR szName); \
HRESULT (STDMETHODCALLTYPE *SetCustData)(INTERFACE *This, REFGUID guid, VARIANT* pVarVal); \
HRESULT (STDMETHODCALLTYPE *SetHelpStringContext)(INTERFACE *This, ULONG dwHelpStringContext); \
HRESULT (STDMETHODCALLTYPE *SetHelpStringDll)(INTERFACE *This, LPOLESTR szFileName);
/*** IUnknown methods ***/
#define ICreateTypeLib2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ICreateTypeLib2_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -5123,6 +5118,29 @@ struct ICreateTypeLib2Vtbl {
#endif
#define ICreateTypeLib2_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** ICreateTypeLib methods ***/ \
STDMETHOD_(HRESULT,CreateTypeInfo)(THIS_ LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo** ppCTInfo) PURE; \
STDMETHOD_(HRESULT,SetName)(THIS_ LPOLESTR szName) PURE; \
STDMETHOD_(HRESULT,SetVersion)(THIS_ WORD wMajorVerNum, WORD wMinorVerNum) PURE; \
STDMETHOD_(HRESULT,SetGuid)(THIS_ REFGUID guid) PURE; \
STDMETHOD_(HRESULT,SetDocString)(THIS_ LPOLESTR szDoc) PURE; \
STDMETHOD_(HRESULT,SetHelpFileName)(THIS_ LPOLESTR szHelpFileName) PURE; \
STDMETHOD_(HRESULT,SetHelpContext)(THIS_ DWORD dwHelpContext) PURE; \
STDMETHOD_(HRESULT,SetLcid)(THIS_ LCID lcid) PURE; \
STDMETHOD_(HRESULT,SetLibFlags)(THIS_ UINT uLibFlags) PURE; \
STDMETHOD_(HRESULT,SaveAllChanges)(THIS) PURE; \
/*** ICreateTypeLib2 methods ***/ \
STDMETHOD_(HRESULT,DeleteTypeInfo)(THIS_ LPOLESTR szName) PURE; \
STDMETHOD_(HRESULT,SetCustData)(THIS_ REFGUID guid, VARIANT* pVarVal) PURE; \
STDMETHOD_(HRESULT,SetHelpStringContext)(THIS_ ULONG dwHelpStringContext) PURE; \
STDMETHOD_(HRESULT,SetHelpStringDll)(THIS_ LPOLESTR szFileName) PURE;
HRESULT CALLBACK ICreateTypeLib2_DeleteTypeInfo_Proxy(
ICreateTypeLib2* This,
LPOLESTR szName);

View File

@ -75,15 +75,13 @@
*
* #define INTERFACE IDirect3D
* #define IDirect3D_METHODS \
* IUnknown_METHODS \
* 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 INTERFACE
*
@ -107,16 +105,12 @@
* 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.
* - ICOM_IMETHODS defines the list of methods that are inheritable from this interface. It must
* - ICOM_METHODS defines the list of methods that are inheritable from this interface. It must
* be written manually (rather than using a macro to generate the equivalent code) to avoid
* macro recursion (which compilers don't like).
* macro recursion (which compilers don't like). It must start with the METHODS definition
* of the parent interface so that method inheritance works properly.
* - The ICOM_DEFINE finally declares all the structures necessary for the interface. We have to
* explicitly use the interface name for macro expansion reasons again.
* 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.
* - The 'undef INTERFACE' is here to remind you that using INTERFACE in the following macros
* will not work.
* - Finally the set of 'IDirect3D_Xxx' macros is a standard set of macros defined to ease access
@ -166,7 +160,7 @@
* the user needs to know to use the interface. Of course the structure we will define to
* implement this interface will have more fields but the first one will match this pointer.
* - The code generated by ICOM_DEFINE defines both the structure representing the interface and
* the structure for the jump table. ICOM_DEFINE uses the parent's Xxx_IMETHODS macro to
* the structure for the jump table. ICOM_DEFINE uses the parent's Xxx_METHODS macro to
* automatically repeat the prototypes of all the inherited methods and then uses IDirect3D_METHODS
* to define the IDirect3D methods.
* - Each method is declared as a pointer to function field in the jump table. The implementation
@ -258,13 +252,6 @@
#define BEGIN_INTERFACE
#define END_INTERFACE
/* Wine-specific macros */
#define ICOM_DEFINE(iface,ibase) \
DECLARE_INTERFACE_(iface,ibase) { \
iface##_METHODS \
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else /* __cplusplus && !CINTERFACE */
/* C interface */
@ -302,14 +289,12 @@
#define BEGIN_INTERFACE
#define END_INTERFACE
#endif /* __cplusplus && !CINTERFACE */
/* Wine-specific macros */
#define ICOM_DEFINE(iface,ibase) \
DECLARE_INTERFACE_(iface,ibase) { \
ICOM_MSVTABLE_COMPAT_FIELDS \
ibase##_IMETHODS \
iface##_METHODS \
};
DECLARE_INTERFACE_(iface,ibase) { iface##_METHODS } ICOM_COM_INTERFACE_ATTRIBUTE;
#define ICOM_VTABLE(iface) iface##Vtbl
#define ICOM_VFIELD(iface) ICOM_VTABLE(iface)* lpVtbl
@ -320,8 +305,6 @@
#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 /* __cplusplus && !CINTERFACE */
#include "objidl.h"
#ifndef RC_INVOKED

File diff suppressed because it is too large Load Diff

View File

@ -642,6 +642,7 @@ DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
*/
#define INTERFACE IOleUILinkContainerA
#define IOleUILinkContainerA_METHODS \
IUnknown_METHODS \
STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
@ -653,14 +654,12 @@ DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
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 INTERFACE
#define INTERFACE IOleUILinkContainerW
#define IOleUILinkContainerW_METHODS \
IUnknown_METHODS \
STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
@ -672,9 +671,6 @@ ICOM_DEFINE(IOleUILinkContainerA, IUnknown)
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 INTERFACE
@ -704,19 +700,15 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
*/
#define INTERFACE IOleUILinkInfoA
#define IOleUILinkInfoA_METHODS \
IOleUILinkContainerA_METHODS \
STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
#define IOleUILinkInfoA_IMETHODS \
IOleUILinkContainerA_IMETHODS \
IOleUILinkInfoA_METHODS
ICOM_DEFINE(IOleUILinkInfoA, IOleUILinkContainerA)
#undef INTERFACE
#define INTERFACE IOleUILinkInfoW
#define IOleUILinkInfoW_METHODS \
IOleUILinkContainerW_METHODS \
STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
#define IOleUILinkInfoW_IMETHODS \
IOleUILinkContainerW_IMETHODS \
IOleUILinkInfoW_METHODS
ICOM_DEFINE(IOleUILinkInfoW, IOleUILinkContainerW)
#undef INTERFACE
@ -748,6 +740,7 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
*/
#define INTERFACE IOleUIObjInfoA
#define IOleUIObjInfoA_METHODS \
IUnknown_METHODS \
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, \
@ -756,14 +749,12 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
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 INTERFACE
#define INTERFACE IOleUIObjInfoW
#define IOleUIObjInfoW_METHODS \
IUnknown_METHODS \
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, \
@ -772,9 +763,6 @@ ICOM_DEFINE(IOleUIObjInfoA, IUnknown)
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 INTERFACE

View File

@ -42,10 +42,8 @@ typedef struct IServiceProvider IServiceProvider,*LPSERVICEPROVIDER;
*/
#define INTERFACE IServiceProvider
#define IServiceProvider_METHODS \
IUnknown_METHODS \
STDMETHOD(QueryService)(THIS_ REFGUID guidService, REFIID riid, void **ppvObject) PURE;
#define IServiceProvider_IMETHODS \
IUnknown_IMETHODS \
IServiceProvider_METHODS
ICOM_DEFINE(IServiceProvider,IUnknown)
#undef INTERFACE

View File

@ -124,10 +124,8 @@ typedef GUID SHELLVIEWID;
#define INTERFACE IShellIcon
#define IShellIcon_METHODS \
IUnknown_METHODS \
STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl, UINT flags, LPINT lpIconIndex) PURE;
#define IShellIcon_IMETHODS \
IUnknown_IMETHODS \
IShellIcon_METHODS
ICOM_DEFINE(IShellIcon, IUnknown)
#undef INTERFACE

View File

@ -245,14 +245,12 @@ typedef struct IQueryAssociations IQueryAssociations,*LPQUERYASSOCIATIONS;
#define INTERFACE IQueryAssociations
#define IQueryAssociations_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -843,7 +841,7 @@ VOID WINAPI ColorRGBToHLS(COLORREF,LPWORD,LPWORD,LPWORD);
/* Stream functions */
#if !defined(NO_SHLWAPI_STREAM) && defined(IStream_IMETHODS)
#if !defined(NO_SHLWAPI_STREAM) && defined(IStream_METHODS)
IStream * WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
IStream * WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
@ -880,7 +878,7 @@ HRESULT WINAPI SHCreateStreamWrapper(LPBYTE,DWORD,DWORD,IStream**);
HRESULT WINAPI SHAutoComplete(HWND,DWORD);
/* Threads */
#if defined(IUnknown_IMETHODS)
#if defined(IUnknown_METHODS)
HRESULT WINAPI SHGetThreadRef(IUnknown**);
HRESULT WINAPI SHSetThreadRef(IUnknown*);
#endif
@ -897,7 +895,7 @@ HRESULT WINAPI SHReleaseThreadRef();
BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
#if defined(IBindCtx_IMETHODS)
#if defined(IBindCtx_METHODS)
BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
#endif

View File

@ -8,22 +8,17 @@
extern "C" {
#endif
#include "wtypes.h"
#if defined(__cplusplus) && !defined(CINTERFACE)
#ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
#define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))
#else
#define ICOM_COM_INTERFACE_ATTRIBUTE
#endif
#if defined(ICOM_USE_COM_INTERFACE_ATTRIBUTE) && defined(__cplusplus) && !defined(CINTERFACE)
# define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))
#else
#ifdef ICOM_MSVTABLE_COMPAT
#define ICOM_MSVTABLE_COMPAT_FIELDS \
long dummyRTTI1; \
long dummyRTTI2;
#define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
#else
#define ICOM_MSVTABLE_COMPAT_FIELDS
#define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
#endif
# define ICOM_COM_INTERFACE_ATTRIBUTE
#endif
#if defined(ICOM_MSVTABLE_COMPAT) && (!defined(__cplusplus) || defined(CINTERFACE))
# define ICOM_MSVTABLE_COMPAT_FIELDS long dummyRTTI1,dummyRTTI2;
# define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
#else
# define ICOM_MSVTABLE_COMPAT_FIELDS
# define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
#endif
typedef struct IUnknown IUnknown;
typedef IUnknown *LPUNKNOWN;
@ -68,12 +63,6 @@ struct IUnknownVtbl {
};
#define IUnknown_IMETHODS \
/*** 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)
#define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -81,6 +70,13 @@ struct IUnknownVtbl {
#endif
#define IUnknown_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE;
HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
IUnknown* This,
REFIID riid,
@ -157,15 +153,6 @@ struct IClassFactoryVtbl {
};
#define IClassFactory_IMETHODS \
/*** 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)
#define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
@ -176,6 +163,16 @@ struct IClassFactoryVtbl {
#endif
#define IClassFactory_METHODS \
ICOM_MSVTABLE_COMPAT_FIELDS \
/*** IUnknown methods ***/ \
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IClassFactory methods ***/ \
STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(HRESULT,LockServer)(THIS_ BOOL fLock) PURE;
HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
IClassFactory* This,
REFIID riid,

View File

@ -21,22 +21,17 @@ import "wtypes.idl";
/* COM vtable compatibility macros for g++ */
/* Included here because the generated header needs them */
cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote(" #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE")
cpp_quote(" #define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))")
cpp_quote(" #else")
cpp_quote(" #define ICOM_COM_INTERFACE_ATTRIBUTE")
cpp_quote(" #endif")
cpp_quote("#if defined(ICOM_USE_COM_INTERFACE_ATTRIBUTE) && defined(__cplusplus) && !defined(CINTERFACE)")
cpp_quote("# define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))")
cpp_quote("#else")
cpp_quote(" #ifdef ICOM_MSVTABLE_COMPAT")
cpp_quote(" #define ICOM_MSVTABLE_COMPAT_FIELDS \\")
cpp_quote(" long dummyRTTI1; \\")
cpp_quote(" long dummyRTTI2;")
cpp_quote(" #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,")
cpp_quote(" #else")
cpp_quote(" #define ICOM_MSVTABLE_COMPAT_FIELDS")
cpp_quote(" #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE")
cpp_quote(" #endif")
cpp_quote("# define ICOM_COM_INTERFACE_ATTRIBUTE")
cpp_quote("#endif")
cpp_quote("#if defined(ICOM_MSVTABLE_COMPAT) && (!defined(__cplusplus) || defined(CINTERFACE))")
cpp_quote("# define ICOM_MSVTABLE_COMPAT_FIELDS long dummyRTTI1,dummyRTTI2;")
cpp_quote("# define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,")
cpp_quote("#else")
cpp_quote("# define ICOM_MSVTABLE_COMPAT_FIELDS")
cpp_quote("# define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE")
cpp_quote("#endif")
/* Interfaces */

View File

@ -172,15 +172,13 @@ typedef enum BINDSTATUS {
*/
#define INTERFACE IBinding
#define IBinding_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -203,6 +201,7 @@ ICOM_DEFINE(IBinding,IUnknown)
*/
#define INTERFACE IBindStatusCallback
#define IBindStatusCallback_METHODS \
IUnknown_METHODS \
STDMETHOD(OnStartBinding)(THIS_ DWORD dwReserved, IBinding *pib) PURE; \
STDMETHOD(GetPriority)(THIS_ LONG *pnPriority) PURE; \
STDMETHOD(OnLowResource)(THIS) PURE; \
@ -211,9 +210,6 @@ ICOM_DEFINE(IBinding,IUnknown)
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 INTERFACE
@ -238,12 +234,10 @@ ICOM_DEFINE(IBindStatusCallback,IUnknown)
*/
#define INTERFACE IBindHost
#define IBindHost_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -281,10 +275,8 @@ typedef enum _tagQUERYOPTION {
*/
#define INTERFACE IWinInetInfo
#define IWinInetInfo_METHODS \
IUnknown_METHODS \
STDMETHOD(QueryOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf) PURE;
#define IWinInetInfo_IMETHODS \
IUnknown_IMETHODS \
IWinInetInfo_METHODS
ICOM_DEFINE(IWinInetInfo,IUnknown)
#undef INTERFACE
@ -302,10 +294,8 @@ ICOM_DEFINE(IWinInetInfo,IUnknown)
*/
#define INTERFACE IWinInetHttpInfo
#define IWinInetHttpInfo_METHODS \
IWinInetInfo_METHODS \
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 INTERFACE

View File

@ -988,7 +988,8 @@ DEFINE_AVIGUID(CLSID_AVIFile, 0x00020000, 0, 0);
* IAVIStream interface
*/
#define INTERFACE IAVIStream
#define IAVIStream_METHODS \
#define IAVIStream_METHODS \
IUnknown_METHODS \
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; \
@ -1000,9 +1001,6 @@ DEFINE_AVIGUID(CLSID_AVIFile, 0x00020000, 0, 0);
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 INTERFACE
@ -1090,7 +1088,8 @@ LONG WINAPI AVIStreamTimeToSample(PAVISTREAM pstream, LONG lTime);
*/
/* In Win32 this interface uses UNICODE only */
#define INTERFACE IAVIFile
#define IAVIFile_METHODS \
#define IAVIFile_METHODS \
IUnknown_METHODS \
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; \
@ -1098,9 +1097,6 @@ LONG WINAPI AVIStreamTimeToSample(PAVISTREAM pstream, LONG lTime);
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 INTERFACE
@ -1143,14 +1139,12 @@ HRESULT WINAPI AVIFileEndRecord(PAVIFILE pfile);
* IGetFrame interface
*/
#define INTERFACE IGetFrame
#define IGetFrame_METHODS \
#define IGetFrame_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -50,14 +50,12 @@ typedef struct IOleCacheControl IOleCacheControl, *LPOLECACHECONTROL;
*/
#define INTERFACE IOleCache
#define IOleCache_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -80,11 +78,9 @@ ICOM_DEFINE(IOleCache,IUnknown)
*/
#define INTERFACE IOleCache2
#define IOleCache2_METHODS \
IOleCache_METHODS \
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 INTERFACE
@ -110,11 +106,9 @@ ICOM_DEFINE(IOleCache2,IOleCache)
*/
#define INTERFACE IOleCacheControl
#define IOleCacheControl_METHODS \
IUnknown_METHODS \
STDMETHOD(OnRun)(THIS_ LPDATAOBJECT pDataObject) PURE; \
STDMETHOD(OnStop)(THIS) PURE;
#define IOleCacheControl_IMETHODS \
IUnknown_IMETHODS \
IOleCacheControl_METHODS
ICOM_DEFINE(IOleCacheControl,IUnknown)
#undef INTERFACE

View File

@ -93,15 +93,13 @@ DEFINE_OLEGUID(CLSID_StdComponentCategoriesMgr, 0x0002E005L, 0, 0);
*/
#define INTERFACE ICatInformation
#define ICatInformation_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -124,15 +122,13 @@ ICOM_DEFINE(ICatInformation,IUnknown)
*/
#define INTERFACE ICatRegister
#define ICatRegister_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -155,13 +151,11 @@ ICOM_DEFINE(ICatRegister,IUnknown)
*/
#define INTERFACE IEnumCATEGORYINFO
#define IEnumCATEGORYINFO_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -36,12 +36,10 @@ typedef struct ICommDlgBrowser ICommDlgBrowser, *LPCOMMDLGBROWSER;
#define INTERFACE ICommDlgBrowser
#define ICommDlgBrowser_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -57,14 +57,12 @@ typedef struct IEnumConnectionPoints IEnumConnectionPoints, *LPENUMCONNECTIONPOI
*/
#define INTERFACE IConnectionPoint
#define IConnectionPoint_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -87,11 +85,9 @@ ICOM_DEFINE(IConnectionPoint,IUnknown)
*/
#define INTERFACE IConnectionPointContainer
#define IConnectionPointContainer_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -111,13 +107,11 @@ ICOM_DEFINE(IConnectionPointContainer,IUnknown)
*/
#define INTERFACE IEnumConnections
#define IEnumConnections_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -138,13 +132,11 @@ ICOM_DEFINE(IEnumConnections,IUnknown)
*/
#define INTERFACE IEnumConnectionPoints
#define IEnumConnectionPoints_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -125,14 +125,12 @@ typedef struct tagCMInvokeCommandInfoEx
#define INTERFACE IContextMenu
#define IContextMenu_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -180,13 +180,11 @@ typedef struct IProvideClassInfo2 IProvideClassInfo2, *LPPROVIDECLASSINFO2;
*/
#define INTERFACE IOleControl
#define IOleControl_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -208,6 +206,7 @@ ICOM_DEFINE(IOleControl,IUnknown)
*/
#define INTERFACE IOleControlSite
#define IOleControlSite_METHODS \
IUnknown_METHODS \
STDMETHOD(OnControlInfoChanged)(THIS) PURE; \
STDMETHOD(LockInPlaceActive)(THIS_ BOOL fLock) PURE; \
STDMETHOD(GetExtendedControl)(THIS_ IDispatch **ppDisp) PURE; \
@ -215,9 +214,6 @@ ICOM_DEFINE(IOleControl,IUnknown)
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 INTERFACE
@ -242,12 +238,10 @@ ICOM_DEFINE(IOleControlSite,IUnknown)
*/
#define INTERFACE IOleInPlaceSiteEx
#define IOleInPlaceSiteEx_METHODS \
IOleInPlaceSite_METHODS \
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 INTERFACE
@ -282,6 +276,7 @@ ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite)
*/
#define INTERFACE IOleInPlaceSiteWindowless
#define IOleInPlaceSiteWindowless_METHODS \
IOleInPlaceSite_METHODS \
STDMETHOD(CanWindowlessActivate)(THIS) PURE; \
STDMETHOD(GetCapture)(THIS) PURE; \
STDMETHOD(SetCapture)(THIS_ BOOL fCapture) PURE; \
@ -294,9 +289,6 @@ ICOM_DEFINE(IOleInPlaceSiteEx,IOleInPlaceSite)
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 INTERFACE
@ -340,11 +332,9 @@ ICOM_DEFINE(IOleInPlaceSiteWindowless,IOleInPlaceSite)
*/
#define INTERFACE IOleInPlaceObjectWindowless
#define IOleInPlaceObjectWindowless_METHODS \
IOleInPlaceObject_METHODS \
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 INTERFACE
@ -372,12 +362,10 @@ ICOM_DEFINE(IOleInPlaceObjectWindowless,IOleInPlaceObject)
*/
#define INTERFACE IClassFactory2
#define IClassFactory2_METHODS \
IClassFactory_METHODS \
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 INTERFACE
@ -401,14 +389,12 @@ ICOM_DEFINE(IClassFactory2,IClassFactory)
*/
#define INTERFACE IViewObjectEx
#define IViewObjectEx_METHODS \
IViewObject2_METHODS \
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 INTERFACE
@ -444,10 +430,8 @@ ICOM_DEFINE(IViewObjectEx,IViewObject2)
#define INTERFACE IProvideClassInfo
#define IProvideClassInfo_METHODS \
IUnknown_METHODS \
STDMETHOD(GetClassInfo)(THIS_ ITypeInfo **ppTI) PURE;
#define IProvideClassInfo_IMETHODS \
IUnknown_IMETHODS \
IProvideClassInfo_METHODS
ICOM_DEFINE(IProvideClassInfo,IUnknown)
#undef INTERFACE
@ -467,10 +451,8 @@ ICOM_DEFINE(IProvideClassInfo,IUnknown)
*/
#define INTERFACE IProvideClassInfo2
#define IProvideClassInfo2_METHODS \
IProvideClassInfo_METHODS \
STDMETHOD(GetGUID)(THIS_ DWORD dwGuidKind, GUID *pGUID) PURE;
#define IProvideClassInfo2_IMETHODS \
IProvideClassInfo_IMETHODS \
IProvideClassInfo2_METHODS
ICOM_DEFINE(IProvideClassInfo2,IProvideClassInfo)
#undef INTERFACE

View File

@ -34,12 +34,10 @@ DEFINE_GUID (IID_IDockingWindowFrame, 0x47D2657AL, 0x7B27, 0x11D0, 0x8C, 0xA9, 0
#define INTERFACE IDockingWindowFrame
#define IDockingWindowFrame_METHODS \
IOleWindow_METHODS \
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 INTERFACE

View File

@ -54,11 +54,9 @@ typedef struct IDropTarget IDropTarget,*LPDROPTARGET;
*/
#define INTERFACE IDropSource
#define IDropSource_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -77,13 +75,11 @@ ICOM_DEFINE(IDropSource,IUnknown)
*/
#define INTERFACE IDropTarget
#define IDropTarget_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -48,11 +48,9 @@ typedef struct {
#define INTERFACE IDragSourceHelper
#define IDragSourceHelper_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -72,14 +70,12 @@ ICOM_DEFINE(IDragSourceHelper,IUnknown)
*/
#define INTERFACE IDropTargetHelper
#define IDropTargetHelper_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -38,13 +38,11 @@ typedef struct IEnumGUID IEnumGUID, *LPENUMGUID;
*/
#define INTERFACE IEnumGUID
#define IEnumGUID_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -34,13 +34,11 @@ typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
#define INTERFACE IEnumIDList
#define IEnumIDList_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -46,11 +46,9 @@ typedef struct IExtractIconW IExtractIconW,*LPEXTRACTICONW;
#define INTERFACE IExtractIconA
#define IExtractIconA_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -65,11 +63,9 @@ ICOM_DEFINE(IExtractIconA,IUnknown)
#define INTERFACE IExtractIconW
#define IExtractIconW_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -165,11 +165,9 @@ typedef struct IOleLink IOleLink, *LPOLELINK;
*/
#define INTERFACE IOleWindow
#define IOleWindow_METHODS \
IUnknown_METHODS \
STDMETHOD(GetWindow)(THIS_ HWND *phwnd) PURE; \
STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE;
#define IOleWindow_IMETHODS \
IUnknown_IMETHODS \
IOleWindow_METHODS
ICOM_DEFINE(IOleWindow,IUnknown)
#undef INTERFACE
@ -189,13 +187,11 @@ ICOM_DEFINE(IOleWindow,IUnknown)
*/
#define INTERFACE IOleInPlaceObject
#define IOleInPlaceObject_METHODS \
IOleWindow_METHODS \
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 INTERFACE
@ -219,14 +215,12 @@ ICOM_DEFINE(IOleInPlaceObject,IOleWindow)
*/
#define INTERFACE IOleInPlaceActiveObject
#define IOleInPlaceActiveObject_METHODS \
IOleWindow_METHODS \
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 INTERFACE
@ -251,13 +245,11 @@ ICOM_DEFINE(IOleInPlaceActiveObject,IOleWindow)
*/
#define INTERFACE IOleInPlaceUIWindow
#define IOleInPlaceUIWindow_METHODS \
IOleWindow_METHODS \
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 INTERFACE
@ -282,15 +274,13 @@ ICOM_DEFINE(IOleInPlaceUIWindow,IOleWindow)
*/
#define INTERFACE IOleInPlaceFrame
#define IOleInPlaceFrame_METHODS \
IOleInPlaceUIWindow_METHODS \
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 INTERFACE
@ -322,6 +312,7 @@ ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
*/
#define INTERFACE IOleInPlaceSite
#define IOleInPlaceSite_METHODS \
IOleWindow_METHODS \
STDMETHOD(CanInPlaceActivate)(THIS) PURE; \
STDMETHOD(OnInPlaceActivate)(THIS) PURE; \
STDMETHOD(OnUIActivate)(THIS) PURE; \
@ -332,9 +323,6 @@ ICOM_DEFINE(IOleInPlaceFrame,IOleInPlaceUIWindow)
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 INTERFACE
@ -365,15 +353,13 @@ ICOM_DEFINE(IOleInPlaceSite,IOleWindow)
*/
#define INTERFACE IOleClientSite
#define IOleClientSite_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -397,10 +383,8 @@ ICOM_DEFINE(IOleClientSite,IUnknown)
*/
#define INTERFACE IParseDisplayName
#define IParseDisplayName_METHODS \
IUnknown_METHODS \
STDMETHOD(ParseDisplayName)(THIS_ IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut) PURE;
#define IParseDisplayName_IMETHODS \
IUnknown_IMETHODS \
IParseDisplayName_METHODS
ICOM_DEFINE(IParseDisplayName,IUnknown)
#undef INTERFACE
@ -419,11 +403,9 @@ ICOM_DEFINE(IParseDisplayName,IUnknown)
*/
#define INTERFACE IOleContainer
#define IOleContainer_METHODS \
IParseDisplayName_METHODS \
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 INTERFACE
@ -449,12 +431,10 @@ ICOM_DEFINE(IOleContainer,IParseDisplayName)
#define INTERFACE IOleItemContainer
#define IOleItemContainer_METHODS \
IOleContainer_METHODS \
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 INTERFACE
@ -475,6 +455,7 @@ ICOM_DEFINE(IOleItemContainer,IOleContainer)
*/
#define INTERFACE IOleLink
#define IOleLink_METHODS \
IUnknown_METHODS \
STDMETHOD(SetUpdateOptions)(THIS_ DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetUpdateOptions)(THIS_ DWORD *pdwUpdateOpt) PURE; \
STDMETHOD(SetSourceMoniker)(THIS_ IMoniker *pmk, REFCLSID rclsid) PURE; \
@ -486,9 +467,6 @@ ICOM_DEFINE(IOleItemContainer,IOleContainer)
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 INTERFACE

View File

@ -43,6 +43,7 @@ typedef TEXTMETRICW TEXTMETRICOLE;
*/
#define INTERFACE IFont
#define IFont_METHODS \
IUnknown_METHODS \
STDMETHOD(get_Name)(THIS_ BSTR * pname) PURE; \
STDMETHOD(put_Name)(THIS_ BSTR name) PURE; \
STDMETHOD(get_Size)(THIS_ CY * psize) PURE; \
@ -67,9 +68,6 @@ typedef TEXTMETRICW TEXTMETRICOLE;
STDMETHOD(AddRefHfont)(THIS_ HFONT hfont) PURE; \
STDMETHOD(ReleaseHfont)(THIS_ HFONT hfont) PURE; \
STDMETHOD(SetHdc)(THIS_ HDC hdc) PURE;
#define IFont_IMETHODS \
IUnknown_IMETHODS \
IFont_METHODS
ICOM_DEFINE(IFont,IUnknown)
#undef INTERFACE
@ -110,10 +108,8 @@ ICOM_DEFINE(IFont,IUnknown)
* IFont interface
*/
#define INTERFACE IFontDisp
#define IFontDisp_METHODS
#define IFontDisp_IMETHODS \
IUnknown_IMETHODS \
IFontDisp_METHODS
#define IFontDisp_METHODS \
IDispatch_METHODS
ICOM_DEFINE(IFontDisp,IDispatch)
#undef INTERFACE

View File

@ -94,6 +94,7 @@ typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB;
*/
#define INTERFACE IOleObject
#define IOleObject_METHODS \
IUnknown_METHODS \
STDMETHOD(SetClientSite)(THIS_ IOleClientSite *pClientSite) PURE; \
STDMETHOD(GetClientSite)(THIS_ IOleClientSite **ppClientSite) PURE; \
STDMETHOD(SetHostNames)(THIS_ LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) PURE; \
@ -115,9 +116,6 @@ typedef struct IEnumOLEVERB IEnumOLEVERB, *LPENUMOLEVERB;
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 INTERFACE
@ -156,15 +154,13 @@ ICOM_DEFINE(IOleObject,IUnknown)
*/
#define INTERFACE IOleAdviseHolder
#define IOleAdviseHolder_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -188,13 +184,11 @@ ICOM_DEFINE(IOleAdviseHolder,IUnknown)
*/
#define INTERFACE IEnumOLEVERB
#define IEnumOLEVERB_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -101,12 +101,10 @@ typedef struct tagQACONTAINER
*/
#define INTERFACE IQuickActivate
#define IQuickActivate_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -127,12 +125,10 @@ ICOM_DEFINE(IQuickActivate,IUnknown)
*/
#define INTERFACE IPointerInactive
#define IPointerInactive_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -153,10 +149,8 @@ ICOM_DEFINE(IPointerInactive,IUnknown)
*/
#define INTERFACE IAdviseSinkEx
#define IAdviseSinkEx_METHODS \
IAdviseSink_METHODS \
STDMETHOD(OnViewStatusChange)(THIS_ DWORD dwViewStatus) PURE;
#define IAdviseSinkEx_IMETHODS \
IAdviseSink_IMETHODS \
IAdviseSinkEx_METHODS
ICOM_DEFINE(IAdviseSinkEx,IAdviseSink)
#undef INTERFACE
@ -181,6 +175,7 @@ ICOM_DEFINE(IAdviseSinkEx,IAdviseSink)
*/
#define INTERFACE IOleUndoManager
#define IOleUndoManager_METHODS \
IUnknown_METHODS \
STDMETHOD(Open)(THIS_ IOleParentUndoUnit *pPUU) PURE; \
STDMETHOD(Close)(THIS_ IOleParentUndoUnit *pPUU, BOOL fCommit) PURE; \
STDMETHOD(Add)(THIS_ IOleUndoUnit *pUU) PURE; \
@ -193,9 +188,6 @@ ICOM_DEFINE(IAdviseSinkEx,IAdviseSink)
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 INTERFACE
@ -225,13 +217,11 @@ ICOM_DEFINE(IOleUndoManager,IUnknown)
*/
#define INTERFACE IOleUndoUnit
#define IOleUndoUnit_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -254,14 +244,12 @@ ICOM_DEFINE(IOleUndoUnit,IUnknown)
*/
#define INTERFACE IOleParentUndoUnit
#define IOleParentUndoUnit_METHODS \
IOleUndoUnit_METHODS \
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 INTERFACE
@ -289,13 +277,11 @@ ICOM_DEFINE(IOleParentUndoUnit,IOleUndoUnit)
*/
#define INTERFACE IEnumOleUndoUnits
#define IEnumOleUndoUnits_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -49,15 +49,13 @@ typedef BOOL (CALLBACK *IVO_ContCallback)(DWORD);
#define INTERFACE IViewObject
#define IViewObject_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -82,10 +80,8 @@ ICOM_DEFINE(IViewObject,IUnknown)
*/
#define INTERFACE IViewObject2
#define IViewObject2_METHODS \
IViewObject_METHODS \
STDMETHOD(GetExtent)(THIS_ DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE *ptd, LPSIZEL lpsizel) PURE;
#define IViewObject2_IMETHODS \
IViewObject_IMETHODS \
IViewObject2_METHODS
ICOM_DEFINE(IViewObject2,IViewObject)
#undef INTERFACE

View File

@ -55,6 +55,7 @@ typedef struct IPictureDisp IPictureDisp, *LPPICTUREDISP;
*/
#define INTERFACE IPicture
#define IPicture_METHODS \
IUnknown_METHODS \
STDMETHOD(get_Handle)(THIS_ OLE_HANDLE *pHandle) PURE; \
STDMETHOD(get_hPal)(THIS_ OLE_HANDLE *phPal) PURE; \
STDMETHOD(get_Type)(THIS_ SHORT *pType) PURE; \
@ -69,9 +70,6 @@ typedef struct IPictureDisp IPictureDisp, *LPPICTUREDISP;
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 INTERFACE
@ -102,10 +100,8 @@ ICOM_DEFINE(IPicture,IUnknown)
* IPictureDisp interface
*/
#define INTERFACE IPictureDisp
#define IPictureDisp_METHODS
#define IPictureDisp_IMETHODS \
IDispatch_IMETHODS \
IPictureDisp_METHODS
#define IPictureDisp_METHODS \
IDispatch_METHODS
ICOM_DEFINE(IPictureDisp,IDispatch)
#undef INTERFACE

View File

@ -138,6 +138,7 @@ typedef struct IPerPropertyBrowsing IPerPropertyBrowsing,*LPPERPROPERTYBROWSING;
*/
#define INTERFACE IPropertyPage
#define IPropertyPage_METHODS \
IUnknown_METHODS \
STDMETHOD(SetPageSite)(THIS_ IPropertyPageSite *pPageSite) PURE; \
STDMETHOD(Activate)(THIS_ HWND hWndParent, LPCRECT pRect, BOOL bModal) PURE; \
STDMETHOD(Deactivate)(THIS) PURE; \
@ -149,9 +150,6 @@ typedef struct IPerPropertyBrowsing IPerPropertyBrowsing,*LPPERPROPERTYBROWSING;
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 INTERFACE
@ -180,10 +178,8 @@ ICOM_DEFINE(IPropertyPage,IUnknown)
*/
#define INTERFACE IPropertyPage2
#define IPropertyPage2_METHODS \
IPropertyPage_METHODS \
STDMETHOD(EditProperty)(THIS_ DISPID dispID) PURE;
#define IPropertyPage2_IMETHODS \
IPropertyPage_IMETHODS \
IPropertyPage2_METHODS
ICOM_DEFINE(IPropertyPage2,IPropertyPage)
#undef INTERFACE
@ -214,13 +210,11 @@ ICOM_DEFINE(IPropertyPage2,IPropertyPage)
*/
#define INTERFACE IPropertyPageSite
#define IPropertyPageSite_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -242,11 +236,9 @@ ICOM_DEFINE(IPropertyPageSite,IUnknown)
*/
#define INTERFACE IPropertyNotifySink
#define IPropertyNotifySink_METHODS \
IUnknown_METHODS \
STDMETHOD(OnChanged)(THIS_ DISPID dispID) PURE; \
STDMETHOD(OnRequestEdit)(THIS_ DISPID dispID) PURE;
#define IPropertyNotifySink_IMETHODS \
IUnknown_IMETHODS \
IPropertyNotifySink_METHODS
ICOM_DEFINE(IPropertyNotifySink,IUnknown)
#undef INTERFACE
@ -266,11 +258,9 @@ ICOM_DEFINE(IPropertyNotifySink,IUnknown)
*/
#define INTERFACE ISimpleFrameSite
#define ISimpleFrameSite_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -290,14 +280,12 @@ ICOM_DEFINE(ISimpleFrameSite,IUnknown)
*/
#define INTERFACE IPersistStreamInit
#define IPersistStreamInit_METHODS \
IPersist_METHODS \
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 INTERFACE
@ -322,14 +310,12 @@ ICOM_DEFINE(IPersistStreamInit,IPersist)
*/
#define INTERFACE IPersistMemory
#define IPersistMemory_METHODS \
IPersist_METHODS \
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 INTERFACE
@ -354,12 +340,10 @@ ICOM_DEFINE(IPersistMemory,IPersist)
*/
#define INTERFACE IPersistPropertyBag
#define IPersistPropertyBag_METHODS \
IPersist_METHODS \
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 INTERFACE
@ -382,13 +366,11 @@ ICOM_DEFINE(IPersistPropertyBag,IPersist)
*/
#define INTERFACE IPersistPropertyBag2
#define IPersistPropertyBag2_METHODS \
IPersist_METHODS \
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
STDMETHOD(IsDirty)(THIS) PURE;
ICOM_DEFINE(IPersistPropertyBag2,IPersist)
#undef INTERFACE
@ -412,10 +394,8 @@ ICOM_DEFINE(IPersistPropertyBag2,IPersist)
*/
#define INTERFACE IErrorLog
#define IErrorLog_METHODS \
IUnknown_METHODS \
STDMETHOD(AddError)(THIS_ LPCOLESTR pszPropName, EXCEPINFO *pExcepInfo) PURE;
#define IErrorLog_IMETHODS \
IUnknown_IMETHODS \
IErrorLog_METHODS
ICOM_DEFINE(IErrorLog,IUnknown)
#undef INTERFACE
@ -434,11 +414,9 @@ ICOM_DEFINE(IErrorLog,IUnknown)
*/
#define INTERFACE IPropertyBag
#define IPropertyBag_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -458,14 +436,12 @@ ICOM_DEFINE(IPropertyBag,IUnknown)
*/
#define INTERFACE IPropertyBag2
#define IPropertyBag2_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -488,10 +464,8 @@ ICOM_DEFINE(IPropertyBag2,IUnknown)
*/
#define INTERFACE ISpecifyPropertyPages
#define ISpecifyPropertyPages_METHODS \
IUnknown_METHODS \
STDMETHOD(GetPages)(THIS_ CAUUID *pPages) PURE;
#define ISpecifyPropertyPages_IMETHODS \
IUnknown_IMETHODS \
ISpecifyPropertyPages_METHODS
ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
#undef INTERFACE
@ -510,13 +484,11 @@ ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
*/
#define INTERFACE IPerPropertyBrowsing
#define IPerPropertyBrowsing_METHODS \
IUnknown_METHODS \
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 INTERFACE

View File

@ -42,10 +42,8 @@ typedef struct IServiceProvider IServiceProvider, *LPSERVICEPROVIDER;
*/
#define INTERFACE IServiceProvider
#define IServiceProvider_METHODS \
IUnknown_METHODS \
STDMETHOD(QueryService)(THIS_ REFGUID guidService, REFIID riid, void ** ppv) PURE;
#define IServiceProvider_IMETHODS \
IUnknown_IMETHODS \
IServiceProvider_METHODS
ICOM_DEFINE(IServiceProvider,IUnknown)
#undef INTERFACE

View File

@ -68,6 +68,7 @@ DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00,
#define INTERFACE IShellBrowser
#define IShellBrowser_METHODS \
IOleWindow_METHODS \
STDMETHOD(InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
STDMETHOD(SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
STDMETHOD(RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
@ -81,9 +82,6 @@ DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00,
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 INTERFACE

View File

@ -29,10 +29,8 @@ typedef struct IShellExtInit IShellExtInit, *LPSHELLEXTINIT;
#define INTERFACE IShellExtInit
#define IShellExtInit_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY hkeyProgID) PURE;
#define IShellExtInit_IMETHODS \
IUnknown_IMETHODS \
IShellExtInit_METHODS
ICOM_DEFINE(IShellExtInit,IUnknown)
#undef INTERFACE

View File

@ -80,13 +80,11 @@ typedef struct
#define INTERFACE IEnumExtraSearch
#define IEnumExtraSearch_METHODS \
IUnknown_METHODS \
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 INTERFACE
@ -200,6 +198,7 @@ DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
*/
#define INTERFACE IShellFolder
#define IShellFolder_METHODS \
IUnknown_METHODS \
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;\
@ -210,9 +209,6 @@ DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
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 INTERFACE
@ -274,6 +270,7 @@ typedef struct
#define INTERFACE IShellFolder2
#define IShellFolder2_METHODS \
IShellFolder_METHODS \
STDMETHOD(GetDefaultSearchGUID)(THIS_ LPGUID lpguid) PURE;\
STDMETHOD(EnumSearches)(THIS_ LPENUMEXTRASEARCH * ppEnum) PURE; \
STDMETHOD(GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG * pSort, ULONG * pDisplay) PURE;\
@ -281,9 +278,6 @@ typedef struct
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 INTERFACE
@ -319,10 +313,8 @@ ICOM_DEFINE(IShellFolder2, IShellFolder)
#define INTERFACE IPersistFolder
#define IPersistFolder_METHODS \
IPersist_METHODS \
STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
#define IPersistFolder_IMETHODS \
IPersist_IMETHODS \
IPersistFolder_METHODS
ICOM_DEFINE(IPersistFolder, IPersist)
#undef INTERFACE
@ -343,11 +335,8 @@ ICOM_DEFINE(IPersistFolder, IPersist)
#define INTERFACE IPersistFolder2
#define IPersistFolder2_METHODS \
STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST * pidl) PURE;
#define IPersistFolder2_IMETHODS \
IPersist_IMETHODS \
IPersistFolder_METHODS \
IPersistFolder2_METHODS
STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST * pidl) PURE;
ICOM_DEFINE(IPersistFolder2, IPersistFolder)
#undef INTERFACE
@ -379,13 +368,9 @@ typedef struct {
#define INTERFACE IPersistFolder3
#define IPersistFolder3_METHODS \
IPersistFolder2_METHODS \
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 INTERFACE

View File

@ -54,6 +54,7 @@ typedef enum
*/
#define INTERFACE IShellLinkA
#define IShellLinkA_METHODS \
IUnknown_METHODS \
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; \
@ -72,9 +73,6 @@ typedef enum
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 INTERFACE
@ -109,6 +107,7 @@ ICOM_DEFINE(IShellLinkA,IUnknown)
*/
#define INTERFACE IShellLinkW
#define IShellLinkW_METHODS \
IUnknown_METHODS \
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; \
@ -127,9 +126,6 @@ ICOM_DEFINE(IShellLinkA,IUnknown)
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 INTERFACE

View File

@ -129,6 +129,7 @@ typedef enum
#define INTERFACE IShellView
#define IShellView_METHODS \
IOleWindow_METHODS \
STDMETHOD(TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
STDMETHOD(EnableModeless)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(UIActivate)(THIS_ UINT uState) PURE; \
@ -141,9 +142,6 @@ typedef enum
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 INTERFACE

View File

@ -65,6 +65,7 @@ typedef enum RefreshConstants
*/
#define INTERFACE IWebBrowser
#define IWebBrowser_METHODS \
IDispatch_METHODS \
STDMETHOD(GoBack)(THIS) PURE; \
STDMETHOD(GoForward)(THIS) PURE; \
STDMETHOD(GoHome)(THIS) PURE; \
@ -91,9 +92,6 @@ typedef enum RefreshConstants
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 INTERFACE
@ -137,6 +135,7 @@ ICOM_DEFINE(IWebBrowser,IDispatch)
#define INTERFACE IWebBrowserApp
#define IWebBrowserApp_METHODS \
IWebBrowser_METHODS \
STDMETHOD(Quit)(THIS) PURE; \
STDMETHOD(ClientToWindow)(THIS_ int *pcx,int *pcy) PURE; \
STDMETHOD(PutProperty)(THIS_ BSTR szProperty,VARIANT vtValue) PURE; \
@ -157,10 +156,6 @@ ICOM_DEFINE(IWebBrowser,IDispatch)
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 INTERFACE

View File

@ -438,20 +438,20 @@ static void write_icom_method_def(type_t *iface)
arg = NEXT_LINK(arg);
}
}
fprintf(header, " \\\n ");
fprintf(header, " \\\n STDMETHOD_(");
write_type(header, def->type, def, def->tname);
fprintf(header, " (STDMETHODCALLTYPE *");
fprintf(header, ",");
write_name(header, def);
fprintf(header, ")(INTERFACE *This");
fprintf(header, ")(%s", arg ? "THIS_ " : "THIS" );
while (arg) {
fprintf(header, ", ");
write_type(header, arg->type, arg, arg->tname);
fprintf(header, " ");
write_name(header,arg);
write_array(header, arg->array, 0);
arg = PREV_LINK(arg);
if (arg) fprintf(header, ", ");
}
fprintf(header, ");");
fprintf(header, ") PURE;");
}
cur = PREV_LINK(cur);
}
@ -711,15 +711,16 @@ void write_com_interface(type_t *iface)
indentation--;
fprintf(header, "};\n");
fprintf(header, "\n");
if (compat_icom) {
fprintf(header, "#define %s_IMETHODS", iface->name);
write_icom_method_def(iface);
fprintf(header, "\n\n");
}
write_method_macro(iface, iface->name);
fprintf(header, "\n");
fprintf(header, "#endif\n");
fprintf(header, "\n");
if (compat_icom) {
fprintf(header, "#define %s_METHODS \\\n", iface->name);
fprintf(header, " ICOM_MSVTABLE_COMPAT_FIELDS");
write_icom_method_def(iface);
fprintf(header, "\n\n");
}
write_method_proto(iface);
fprintf(header, "\n");