IOCTL_SBAUD_GET_MUTEPROPERTYVALUES IOCTL (sidebandaudio.h)

音频驱动程序可以调用 IOCTL_SBAUD_GET_MUTEPROPERTYVALUES IOCTL 来查询所有通道的静音步进数据范围和最小值/最大值。 然后,应返回这些值 以KSPROPERTY_AUDIO_MUTE 基本支持。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

基于 IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR报告的音频终结点数的从 0 开始的终结点索引值。 这是一个从 0 到 (N-1 的 ULONG 值,) 其中 N 是设备的终结点数。

输入缓冲区长度

ULONG 的大小。

输出缓冲区

KSPROPERTY_DESCRIPTION后跟KSPROPERTY_MEMBERSHEADER和静音步进数据范围,如 KSPROPERTY_DESCRIPTIONKSPROPERTY_MEMBERSHEADER 中所述。

如果为 NULL,则 Irp-IoStatus.Information> 将设置为输出缓冲区所需的字节数。

输出缓冲区长度

除所有KSPROPERTY_MEMBERSHEADER和步长范围外,KSPROPERTY_DESCRIPTION的大小。 此大小在 SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 中返回。MutePropertyValuesSize。

状态块

如果请求成功,则 Irp-IoStatus.Status> 设置为STATUS_SUCCESS;否则,将“状态”设置为 NTSTATUS 代码中的相应错误条件。

如果输出缓冲区为 NULL,则 Irp-IoStatus.Status> 设置为 STATUS_BUFFER_TOO_SMALL Irp-IoStatus.Information> 设置为输出缓冲区所需的字节数。

如果提供了正确大小的输出缓冲区,则 Irp-IoStatus.Information> 设置为写入输出缓冲区的字节数。

有关详细信息,请参阅 NTSTATUS 值

注解

此 IOCTL 只能从内核模式调用。

实现旁带音频的音频驱动程序应通过其 KS 筛选器中的静音节点或通过音频引擎节点播发终结点静音。 这两种方法都可以利用此 IOCTL 提供的基本支持信息。

要求

要求
Header sidebandaudio.h

另请参阅

KSPROPERTY_AUDIO_MUTE

KSNODEPROPERTY_AUDIO_CHANNEL

IMiniportAudioEngineNode::GetDeviceChannelCount

I/O 控制代码简介

sidebandaudio.h