KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE
The KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE property creates a new virtual source.
Usage Summary Table
Get | Set | Target | Property descriptor type | Property value type |
---|---|---|---|---|
Yes |
No |
Filter |
ULONG |
The property descriptor (instance data) is a structure of type SYSAUDIO_CREATE_VIRTUAL_SOURCE that specifies the pin-category and pin-name GUIDs for the virtual source.
The property value (operation data) is a ULONG variable containing the virtual source index. SysAudio generates this index to identify the new virtual source.
Return Value
A KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate error status code.
Remarks
This property is used to create a mixer-line virtual source such as a volume or mute control.
If SysAudio has already created a virtual source with the same pin-category and pin-name GUIDs, a KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE get-property request retrieves the index for the existing virtual source. Otherwise, the request generates a new virtual source index and outputs that value.
After SysAudio has assigned an index to a virtual source, a KSPROPERTY_SYSAUDIO_ATTACH_VIRTUAL_SOURCEset-property request can be used to attach that virtual source to a pin instance on the virtual audio device.
The user controls the volume levels of various audio sources through the SndVol32 application. These sources include the wave-output device, MIDI synthesizer, CD player, and line-in jack. SndVol32 uses the Windows multimedia waveOutXxx, midiOutXxx, and auxXxx functions to control the volume levels for these sources. For more information about Windows multimedia functions, see the Microsoft Windows SDK documentation.
SysAudio intercepts volume changes made to these devices and applies them to its virtual sources. For example, if a software MIDI synthesizer that converts a MIDI file to wave data is connected to one of the virtual audio device's wave-rendering pins, SysAudio applies midiOutXxx volume changes to the pin (instead of waveOutXxx volume changes). Similarly, if the Redbook system driver, which converts digital audio from a CD player to wave data, is connected to one of the virtual audio device's wave-rendering pins, SysAudio applies AUXCAPS_CDAUDIO volume changes to the pin. For more information about the AUXCAPS_CDAUDIO structure, see the Windows SDK documentation.
Requirements
Header |
Ksmedia.h (include Ksmedia.h) |