IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)

音频驱动程序发出 IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR 以获取有关已启用的边带音频设备接口的信息。 具体而言,这将返回支持边带的设备上可用的音频终结点数。 此信息在 音频设备描述符 结构中返回。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

NULL。

输入缓冲区长度

输出缓冲区

包含 SIDEBANDAUDIO_DEVICE_DESCRIPTOR 结构的缓冲区。

输出缓冲区长度

SIDEBANDAUDIO_DEVICE_DESCRIPTOR 结构的大小。

状态块

如果例程成功,则 Status 设置为 STATUS_SUCCESS 并且 Information 成员是例程写入输出缓冲区的字节数。

如果 Status 设置为 STATUS_BUFFER_TOO_SMALL,则音频驱动程序应读取 Information 成员,以获取调用方应为此请求分配的缓冲区大小。

注解

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

音频驱动程序发送此请求以获取有关已启用的音频旁带设备接口的信息。 启用接口时,信息不会更改,但可以在禁用接口时更改。 音频驱动程序在发现已启用的边带音频设备接口后不久发送此请求,并使用该信息来确定有多少边带音频终结点可用。

音频驱动程序在输出缓冲区大小为 0 (0) 的情况下发送一次此请求,以确定所需的输出缓冲区大小。 在这种情况下,请求将以 Status STATUS_BUFFER_TOO_SMALL 完成,并将 Information 成员设置为所需的缓冲区大小。 然后,音频驱动程序分配必要的存储空间,并再次发送请求。 通常,音频驱动程序会将指向此存储位置的指针存储在其设备上下文中,以供后续活动期间参考。

然后,音频驱动程序可以使用 IOCTL IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR以迭代方式确定每个终结点功能。

要求

要求
Header sidebandaudio.h

另请参阅

sidebandaudio.h

I/O 控制代码简介