IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL (sidebandaudio.h)
音频驱动程序发出 IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR 控制代码,以获取有关通过旁带音频设备接口公开的音频终结点的信息。
主要代码
输入缓冲区
一个基于 0 的终结点索引值,该值基于 IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR报告的音频终结点数。
这是从 0 到 (N-1) 的 ULONG 值,其中 N 是设备的终结点数。
输入缓冲区长度
ULONG 的大小。
输出缓冲区
包含 SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 结构的缓冲区,后跟结构引用的任何其他数据。 如果输出缓冲区大小足够,并且请求成功,则返回此值。 具体而言,缓冲区包含由 SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 结构的 FriendlyName 字段引用的字符串的存储。
输出缓冲区长度
SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 结构和引用的数据的大小。
状态块
如果例程成功,则状态设置为STATUS_SUCCESS,信息 成员是例程写入输出缓冲区的字节数。
如果状态设置为STATUS_BUFFER_TOO_SMALL,则音频驱动程序应读取 信息 成员,以获取调用方应为此请求分配的缓冲区的大小。
言论
此 IOCTL 只能从内核模式调用。
音频驱动程序发送此请求以获取有关已启用音频旁带终结点的信息。 启用接口时信息不会更改,但在禁用接口时可以更改。 因此,音频驱动程序在发现已启用的设备接口后不久发送此请求,并使用信息生成适当的KSFILTER_DESCRIPTOR结构。
音频驱动程序使用输出缓冲区大小为零(0)发送此请求一次,以确定所需的输出缓冲区大小。 在这种情况下,请求将使用状态STATUS_BUFFER_TOO_SMALL完成,并将 信息 成员设置为所需的缓冲区大小。 然后,音频驱动程序分配必要的存储空间,并再次发送请求。
要求
要求 | 价值 |
---|---|
标头 | sidebandaudio.h |