#ifndef _SAMPLE_WAVEHEADER_HPP_ #define _SAMPLE_WAVEHEADER_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_MMSYSTEM_HPP_ #include #endif class WaveHeader : private WAVEHDR { public: WaveHeader(void); WaveHeader(const WaveHeader &someWaveHeader); ~WaveHeader(); WaveHeader &operator=(const WaveHeader &someWaveHeader); WORD operator==(const WaveHeader &someWaveHeader); void setData(LPSTR lpData); void setBufferLength(DWORD bufferLength); void userData(DWORD userData); DWORD userData(void)const; // operator WAVEHDR &(void)const; private: void initHeader(void); }; inline WaveHeader::WaveHeader(void) { initHeader(); } inline WaveHeader::WaveHeader(const WaveHeader &someWaveHeader) { *this=someWaveHeader; } inline WaveHeader::~WaveHeader() { } inline void WaveHeader::initHeader(void) { ::memset(&((WAVEHDR&)*this),0,sizeof(WAVEHDR)); } inline void WaveHeader::setData(LPSTR lpData) { WAVEHDR::lpData=lpData; } inline void WaveHeader::setBufferLength(DWORD bufferLength) { WAVEHDR::dwBufferLength=bufferLength; } inline void WaveHeader::userData(DWORD userData) { WAVEHDR::dwUser=userData; } inline DWORD WaveHeader::userData(void)const { return WAVEHDR::dwUser; } inline WaveHeader &WaveHeader::operator=(const WaveHeader &someWaveHeader) { initHeader(); setData(someWaveHeader.WAVEHDR::lpData); setBufferLength(someWaveHeader.WAVEHDR::dwBufferLength); return *this; } inline WORD WaveHeader::operator==(const WaveHeader &someWaveHeader) { return FALSE; } #if 0 inline WaveHeader::operator WAVEHDR &(void)const { return *((WAVEHDR*)this); } #endif #endif