echotool.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:1k
- #ifndef _ECHOTOOL_H
- #define _ECHOTOOL_H
- #include <dmusici.h>
- #define MAX_ECHOES 4
- class CEchoTool : public IDirectMusicTool
- {
- public:
- CEchoTool();
- ~CEchoTool();
- public:
- virtual STDMETHODIMP QueryInterface(const IID &iid, void **ppv);
- virtual STDMETHODIMP_(ULONG) AddRef();
- virtual STDMETHODIMP_(ULONG) Release();
- HRESULT STDMETHODCALLTYPE Init( IDirectMusicGraph* pGraph );
- HRESULT STDMETHODCALLTYPE GetMsgDeliveryType( DWORD* pdwDeliveryType );
- HRESULT STDMETHODCALLTYPE GetMediaTypeArraySize( DWORD* pdwNumElements );
- HRESULT STDMETHODCALLTYPE GetMediaTypes( DWORD** padwMediaTypes, DWORD dwNumElements) ;
- HRESULT STDMETHODCALLTYPE ProcessPMsg( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG );
- HRESULT STDMETHODCALLTYPE Flush( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt );
- private:
- long m_cRef;
- DWORD m_dwEchoNum;
- MUSIC_TIME m_mtDelay;
- CRITICAL_SECTION m_CrSec;
- public:
- void SetEchoNum( DWORD dwEchoNum );
- void SetDelay( MUSIC_TIME mtDelay );
- };
- #endif // _ECHOTOOL_H