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