I need a C++ API to enumerate input devices and capture sound for Windows Vista, Windows 7 and Windows 8. If there is no common API I can use OS specific API for different v
For waveIn API use waveInGetNumDevs() and waveInGetDevCaps(). For Core Audio API use IMMDeviceEnumerator. For DirectShow read this: http://msdn.microsoft.com/en-us/library/windows/desktop/dd377566(v=vs.85).aspx
It all depends on the rest of the architecture. You have to do something with the captured PCM and you probably know what. That should help you decide what technology to use.