IAudioOutputSelector interface (devicetopology.h)

The IAudioOutputSelector interface provides access to a hardware demultiplexer control (output selector). The client obtains a reference to the IAudioOutputSelector interface of a subunit by calling the IPart::Activate method with parameter refiid set to REFIID IID_IAudioOutputSelector. The call to IPart::Activate succeeds only if the subunit supports the IAudioOutputSelector interface. Only a subunit object that represents a hardware output selector will support this interface.

Each output of an output selector is identified by the local ID of the part (a connector or subunit of a device topology) with a direct link to the output. A local ID is a number that uniquely identifies a part among all the parts in a device topology.

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 IAudioOutputSelector interface provides convenient access to the KSPROPERTY_AUDIO_DEMUX_DEST property of a subunit that has a subtype GUID value of KSNODETYPE_DEMUX. 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.


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


The IAudioOutputSelector interface has these methods.


The GetSelection method gets the local ID of the part that is connected to the selector output that is currently selected.

The SetSelection method selects one of the outputs of the output selector.


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