Windows Vista Software Volume Control Support
In Windows Vista, software support is provided for audio adapters that do not have physical volume control knobs.
The following diagram shows a simplified representation of the Windows Vista software volume support structure.
The diagram shows two separate audio data paths labeled 'A' and 'B'. Data path 'A' represents the path taken by a stream of audio data in a system where a physical volume control is present. And data path 'B' is taken by a stream of audio data in a system where there is no physical volume control. So in a real-world scenario only one of these data paths will be present, since there will be one audio adapter in the computer. The two paths are shown here together for illustrative purposes.
The IAudioEndpointVolume interface represents the volume controls on the audio stream to or from an audio endpoint device.
When a client application calls the IAudioEndpointVolume interface in a setup where there is a physical volume control present, the audio driver exposes a KSNODETYPE_VOLUME node in the topology filter. The presence of the volume node makes IAudioEndpointVolume aware that the volume level of the audio signal will be modified by the hardware.
There are, however instances where there is no physical volume control available with the hardware. When a client application calls the IAudioEndpointVolume interface in such a setup, IAudioEndpointVolume works with the audio engine to initialize the Windows Vista software volume support. As shown in the diagram, the software volume support component is a part of the audio engine.
And since there is no physical volume control to be modeled, a KSNODETYPE_VOLUME node is not exposed in the topology filter. Volume attenuation and gain are performed by the software volume support component. The output of the software volume support component therefore connects directly to the DAC. The audio endpoint connects to the out put of the DAC and is the final component in the data path.
For information about the volume ranges and the default volume levels for the different versions of Windows, see Default Audio Volume Settings.