IPerChannelDbLevel interface (devicetopology.h)

The IPerChannelDbLevel interface represents a generic subunit control interface that provides per-channel control over the volume level, in decibels, of an audio stream or of a frequency band in an audio stream. A positive volume level represents gain, and a negative value represents attenuation.

Clients do not call the methods in this interface directly. Instead, this interface serves as the base interface for the following interfaces, which clients do call directly:


The IPerChannelDbLevel interface inherits from the IUnknown interface. IPerChannelDbLevel also has these types of members:


The IPerChannelDbLevel interface has these methods.


The GetChannelCount method gets the number of channels in the audio stream.

The GetLevel method gets the volume level, in decibels, of the specified channel.

The GetLevelRange method gets the range, in decibels, of the volume level of the specified channel.

The SetLevel method sets the volume level, in decibels, of the specified channel.

The SetLevelAllChannels method sets the volume levels, in decibels, of all the channels in the audio stream.

The SetLevelUniform method sets all channels in the audio stream to the same uniform volume level, in decibels.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header devicetopology.h

See also

Core Audio Interfaces

DeviceTopology API

IAudioBass Interface

IAudioMidrange Interface

IAudioTreble Interface

IAudioVolumeLevel Interface