IOCTL_SBAUD_GET_VOLUMEPROPERTYVALUES IOCTL (sidebandaudio.h)

Audio driver can call IOCTL_SBAUD_GET_VOLUMEPROPERTYVALUES to query the volume stepped data ranges and min/max values for all of the channels. These values should then be returned for KSPROPERTY_AUDIO_VOLUMELEVEL basic support.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

Endpoint index.

Input buffer length

Size of ULONG.

Output buffer

KSPROPERTY_DESCRIPTION followed by KSPROPERTY_MEMBERSHEADER and Volume stepped data ranges as documented in KSPROPERTY_DESCRIPTION and KSPROPERTY_MEMBERSHEADER.

Output buffer length

Size of KSPROPERTY_DESCRIPTION in addition to all the KSPROPERTY_MEMBERSHEADER and step ranges. This size was returned in SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR::VolumePropertyValuesSize.

Input / Output buffer

Input Endpoint Index and output KSPROPERTY_DESCRIPTION share the same buffer.

Input / Output buffer length

Allocated buffer should be of length SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR::VolumePropertyValuesSize.

Status block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code. For more information, see NTSTATUS Values.

Remarks

This IOCTL can only be called from kernel mode.

Requirements

Requirement Value
Header sidebandaudio.h

See also

KSPROPERTY_AUDIO_VOLUMELEVEL

KSNODEPROPERTY_AUDIO_CHANNEL

Introduction to I/O Control Codes

sidebandaudio.h