Files
Work/sample/OutCaps.hpp
2024-08-07 09:16:27 -04:00

104 lines
1.8 KiB
C++

#ifndef _SAMPLE_WAVEOUTCAPS_HPP_
#define _SAMPLE_WAVEOUTCAPS_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_MMSYSTEM_HPP_
#include <common/mmsystem.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#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