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