IAudioVolumeLevel interface

The IAudioVolumeLevel interface provides access to a hardware volume control. The client obtains a reference to the IAudioVolumeLevel interface of a subunit by calling the IPart::Activate method with parameter refiid set to REFIID IID_IAudioVolumeLevel. The call to IPart::Activate succeeds only if the subunit supports the IAudioVolumeLevel interface. Only a subunit object that represents a hardware volume-level control will support this interface.

The IAudioVolumeLevel interface provides per-channel controls for setting and getting the gain or attenuation levels in an the audio stream. If a volume-level hardware control can only attenuate the channels in the audio stream, then the maximum volume level for any channel is 0 dB. If a volume-level control can provide gain (amplification), then the maximum volume level is greater than 0 dB.

Most Windows audio adapter drivers support the Windows Driver Model (WDM) and use kernel-streaming (KS) properties to represent the hardware control parameters in subunits (referred to as KS nodes). The IAudioVolumeLevel interface provides convenient access to the KSPROPERTY_AUDIO_VOLUMELEVEL property of a subunit that has a subtype GUID value of KSNODETYPE_VOLUME. To obtain the subtype GUID of a subunit, call the IPart::GetSubType method. For more information about KS properties and KS node types, see the Windows DDK documentation.

Members

The IAudioVolumeLevel interface inherits from IPerChannelDbLevel but does not have additional members.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Devicetopology.h

See also

DeviceTopology API
IPart::Activate
IPerChannelDbLevel Interface

 

 

Community Additions

ADD
Show:
© 2014 Microsoft