

To implement the appropriate behavior, the application designer must somehow compensate for the lack of notifications by the legacy audio API. If an application displays a volume slider but does not receive notifications of volume changes, then the slider will fail to reflect changes made by the user in Sndvol. However, a legacy audio API such as DirectSound or the waveOutXxx functions provides no means to notify an application when the user changes the application volume through Sndvol. In Windows Vista, Sndvol immediately reflects volume changes that an application makes through calls to the IDirectSoundBuffer::SetVolume method or waveOutSetVolume function. Conversely, if the user adjusts the application volume through Sndvol, then the volume sliders in the application window should move to indicate the new volume level. If a user adjusts the application volume through a volume slider in an application window, then the corresponding volume slider in Sndvol immediately moves to indicate the new volume level.

The volume sliders that are displayed by applications should be linked to the corresponding volume sliders in Sndvol. In Windows Vista, the system volume-control program, Sndvol, allows users to control the audio volume levels for individual applications. Applications can use the volume-control capabilities in these APIs to display volume sliders in their application windows. Legacy audio APIs such as DirectSound, DirectShow, and the waveOutXxx functions enable applications to get and set the volume levels of audio streams. Audio Events for Legacy Audio Applications
