IOCTL_SBAUD_GET_MUTEPROPERTYVALUES IOCTL (sidebandaudio.h)

Audio driver can call the IOCTL_SBAUD_GET_MUTEPROPERTYVALUES IOCTL to query the mute stepped data ranges and min/max values for all of the channels. These values should then be returned for KSPROPERTY_AUDIO_MUTE basic support.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

A 0 based endpoint index value based on the number of Audio endpoints as reported by the IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR. This is a ULONG value from 0 to (N-1) where N is the number of Endpoints for the device.

Input buffer length

Size of ULONG.

Output buffer

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

If NULL, Irp->IoStatus.Information will be set to the number of bytes required for output buffer.

Output buffer length

Size of KSPROPERTY_DESCRIPTION in addition to all the KSPROPERTY_MEMBERSHEADER and step ranges. This size is returned in SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR.MutePropertyValuesSize.

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.

If output buffer is NULL, Irp->IoStatus.Status is set to STATUS_BUFFER_TOO_SMALL and Irp->IoStatus.Information is set to the number of bytes required for the output buffer.

If properly sized output buffer is provided, Irp->IoStatus.Information is set to the number of bytes written to the output buffer.

For more information, see NTSTATUS Values.

Remarks

This IOCTL can only be called from kernel mode.

Audio drivers that implement sideband audio should advertise endpoint Mute through a mute node in their KS Filter or through the Audio Engine Node. Both methods can utilize the basic support information provided by this IOCTL.

Requirements

Requirement Value
Header sidebandaudio.h

See also

KSPROPERTY_AUDIO_MUTE

KSNODEPROPERTY_AUDIO_CHANNEL

IMiniportAudioEngineNode::GetDeviceChannelCount

Introduction to I/O Control Codes

sidebandaudio.h