IOCTL_SBAUD_GET_VOLUME_STATUS_UPDATE IOCTL (sidebandaudio.h)

The IOCTL_SBAUD_GET_VOLUME_STATUS_UPDATE IOCTL gets the volume level setting of the sideband audio endpoint.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

SIDEBANDAUDIO_VOLUME_PARAMS structure with the 0 based endpoint index and channel number along with 'immediate' parameter indicating whether to process this IOCTL immediately or pend it for future updates.

Input buffer length

Size of SIDEBANDAUDIO_VOLUME_PARAMS.

Output buffer

SIDEBANDAUDIO_VOLUME_PARAMS.

Output buffer length

Size of SIDEBANDAUDIO_VOLUME_PARAMS.

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.

The volume update IOCTL can be used in two modes - update and immediate. If SIDEBANDAUDIO_VOLUME_PARAMS::Immediate parameter is set to TRUE, the IOCTL returns immediately with the current volume value for the requested channel. If the Immediate parameter is set to FALSE, the IRP is pended by the sideband audio Driver (like USB Audio) until there is a change in the device volume. Audio driver should setup a pending volume IOCTL to get notified of any changes in hardware volume.

Requirements

Requirement Value
Header sidebandaudio.h

See also

SIDEBANDAUDIO_VOLUME_PARAMS

Introduction to I/O Control Codes

sidebandaudio.h