IAudioMidrange interface (devicetopology.h)

The IAudioMidrange interface provides access to a hardware midrange-level control. The client obtains a reference to the IAudioMidrange interface of a subunit by calling the IPart::Activate method with parameter refiid set to REFIID IID_IAudioMidrange. The call to IPart::Activate succeeds only if the subunit supports the IAudioMidrange interface. Only a subunit object that represents a hardware function for controlling the level of the mid-range frequencies in each channel will support this interface.

The IAudioMidrange interface provides per-channel controls for setting and getting the gain or attenuation level of the midrange frequencies in the audio stream. If a midrange-level hardware control can only attenuate the channels in the audio stream, then the maximum midrange level for any channel is 0 dB. If a midrange-level control can provide gain (amplification), then the maximum midrange 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 IAudioMidrange interface provides convenient access to the KSPROPERTY_AUDIO_MID property of a subunit that has a subtype GUID value of KSNODETYPE_TONE. 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.

Inheritance

The IAudioMidrange interface inherits from the IPerChannelDbLevel interface.

Requirements

Requirement Value
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

IPart::Activate

IPerChannelDbLevel Interface