IOCTL_SBAUD_GET_VOLUME_STATUS_UPDATE IOCTL

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 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

Szie of SIDEBANDAUDIO_VOLUME_PARAMS.

Output buffer

SIDEBANDAUDIO_VOLUME_PARAMS.

Output buffer length

Size of SIDEBANDAUDIO_VOLUME_PARAMS.

Input / Output buffer

Input / Output buffer length

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

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

   
Header sidebandaudio.h

See also

SIDEBANDAUDIO_VOLUME_PARAMS