The KSPROPERTY_AUDIOENGINE_VOLUMELEVEL property specifies the volume level of a channel in a given stream.

Usage Summary Table

GetSetTargetProperty descriptor typeProperty value type



Node via Pin instance


LONG (for a Get request) and KSAUDIOENGINE_VOLUMELEVEL (for a Set request).


For a Get request, the property value is of type LONG, and it specifies the volume level of a channel in a given a stream. Volume-level values use the following scale and can be bounded by the minimum and maximum values supplied in the Basic Support response for this property:

-2147483648 (0x80000000 in hexadecimal, or LONG_MIN) is -Infinity decibels (attenuation),

-2147483647 (0x80000001 in hexadecimal, or LONG_MIN + 1) is -32767.99998474 decibels (attenuation), and

+2147483647 (0x7FFFFFFF in hexadecimal, or LONG_MAX) is +32767.99998474 decibels (gain).

Note  The decibel range is represented by integer values from -2147483648 to +2147483647, where this scale has a resolution of 1/65536 decibel.

For a Set request, the property value is of type KSAUDIOENGINE_VOLUMELEVEL, and it specifies the desired volume level of a channel in a given stream, as well as a curve type and curve duration to be applied as the volume level is set. If a value is specified beyond the range of the filter, the request to set this property will still be successful. But the actual value that was applied to the filter can only be determined by a subsequent Get call to this property.

Return Value

The KSPROPERTY_AUDIOENGINE_SUPPORTEDDEVICEFORMATS property request returns STATUS_SUCCESS to indicate that it has completed successfully. Otherwise, the request returns an appropriate error status code.


The property descriptor for KSPROPERTY_AUDIOENGINE_VOLUMELEVEL specifies a channel number. If the stream that passes through the audio engine node contains n channels, the channels are numbered 0 through n-1. Also note that a channel value of 0xFFFFFFFF indicates that the request applies to all channels. If a property request is made while the stream is not in a running state, the volume level is immediately set to the requested level. If the stream leaves the run state while a volume level ramp is in progress, the volume level of the stream is immediately set to the target level of the current fade. If a new property request is made while an existing volume level ramp is in progress, the new ramp request must begin from the current volume level - the level that the volume had reached when the new request arrived.



Windows 8



See also




Send comments about this topic to Microsoft