#ifndef _SAMPLE_WAVEOUTCAPS_HPP_ #define _SAMPLE_WAVEOUTCAPS_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_MMSYSTEM_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif class WaveOutCaps : private WAVEOUTCAPS { public: WaveOutCaps(void); WaveOutCaps(const WaveOutCaps &someWaveOutCaps); ~WaveOutCaps(); WaveOutCaps &operator=(const WaveOutCaps &someWaveOutCaps); operator WAVEOUTCAPS &(void)const; UINT manufacturerID(void)const; UINT productID(void)const; MMVERSION driverVersion(void)const; String productName(void)const; DWORD supportedFormats(void)const; WORD channels(void)const; DWORD optionalSupport(void)const; private: }; inline WaveOutCaps::WaveOutCaps(const WaveOutCaps &someWaveOutCaps) { *this=someWaveOutCaps; } inline WaveOutCaps::WaveOutCaps(void) { ::memset(this,0,sizeof(*this)); } inline WaveOutCaps::~WaveOutCaps() { } inline UINT WaveOutCaps::manufacturerID(void)const { return WAVEOUTCAPS::wMid; } inline UINT WaveOutCaps::productID(void)const { return WAVEOUTCAPS::wPid; } inline MMVERSION WaveOutCaps::driverVersion(void)const { return WAVEOUTCAPS::vDriverVersion; } inline String WaveOutCaps::productName(void)const { return WAVEOUTCAPS::szPname; } inline DWORD WaveOutCaps::supportedFormats(void)const { return WAVEOUTCAPS::dwFormats; } inline WORD WaveOutCaps::channels(void)const { return WAVEOUTCAPS::wChannels; } inline DWORD WaveOutCaps::optionalSupport(void)const { return WAVEOUTCAPS::dwSupport; } inline WaveOutCaps::operator WAVEOUTCAPS &(void)const { return *((WAVEOUTCAPS*)this); } inline WaveOutCaps &WaveOutCaps::operator=(const WaveOutCaps &someWaveOutCaps) { ::memcpy(this,&someWaveOutCaps,sizeof(*this)); return *this; } #endif