音频驱动程序发出 IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR 以获取有关已启用的侧带音频设备接口的信息。 具体来说,这将返回支持 Sideband 的设备上可用的音频终结点数。 此信息在 音频设备描述符 结构中返回。
主要代码
输入缓冲区
零。
输入缓冲区长度
输出缓冲区
包含 SIDEBANDAUDIO_DEVICE_DESCRIPTOR 结构的缓冲区。
输出缓冲区长度
SIDEBANDAUDIO_DEVICE_DESCRIPTOR 结构的大小。
状态块
如果例程成功,则状态设置为STATUS_SUCCESS,信息 成员是例程写入输出缓冲区的字节数。
如果状态设置为STATUS_BUFFER_TOO_SMALL,则音频驱动程序应读取 信息 成员,以获取调用方应为此请求分配的缓冲区的大小。
言论
此 IOCTL 只能从内核模式调用。
音频驱动程序发送此请求以获取有关启用的音频旁带设备接口的信息。 启用接口时信息不会更改,但在禁用接口时可以更改。 音频驱动程序在发现已启用的侧带音频设备接口后不久发送此请求,并使用信息来确定有多少个侧带音频终结点可用。
音频驱动程序使用输出缓冲区大小为零(0)发送此请求一次,以确定所需的输出缓冲区大小。 在这种情况下,请求将使用状态STATUS_BUFFER_TOO_SMALL完成,并将 信息 成员设置为所需的缓冲区大小。 然后,音频驱动程序分配必要的存储空间,并再次发送请求。 音频驱动程序通常会在其设备上下文中存储指向此存储位置的指针,以便在以后的活动期间进行引用。
然后,音频驱动程序可以使用 IOCTL IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR以迭代方式确定每个终结点功能。
要求
| 要求 | 价值 |
|---|---|
| 标头 | sidebandaudio.h |