When coding sound apps, you will run into these components built into windows: ASIO, WASAPI, DirectSound, WaveOut, DirectMusic
ASIO
ASIO: Audio Stream Input/Output
ASIO bypasses the normal audio path from a user application through layers of intermediary Windows operating system software so that an application connects directly to the sound card hardware.
WASAPI
WASAPI: Applications communicate with the audio driver through Sessions, and these Sessions are programmed through the Windows Audio Session API (WASAPI).
starting with Windows Vista, KMixer has been removed and replaced by WASAPI and a new WaveRT port driver.
DirectSound
DirectSound is a software component of the Microsoft DirectX library for the Windows operating system. DirectSound provides a low-latency interface to the sound card driver and can handle the mixing and recording of multiple audio streams.
WaveOut
WaveOut: legacy api
DirectMusic
DirectMusic is a deprecated component of the Microsoft DirectX API that allows music and sound effects to be composed and played and provides flexible interactive control over the way they are played. Architecturally, DirectMusic is a high-level set of objects, built on top of DirectSound, that allow you to play sound and music without needing to get quite as low-level as DirectSound. DirectSound allows for the capture and playback of digital sound samples, whereas DirectMusic works with message-based musical data. Music can be synthesized either in hardware, in the Microsoft GS Wavetable SW Synth, or in a custom synthesizer.