IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR IOCTL (bthhfpddi.h)

音频驱动程序发出 IOCTL_BTHHFP_DEVICE_GET_DESCRIPTOR 控制代码,以获取有关已启用GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS设备接口的信息。

注意 此 IOCTL 取代了现已弃用 IOCTL_BTHHFP_DEVICE_GET_KSNODETYPESIOCTL_BTHHFP_DEVICE_GET_CONTAINERID
 

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

无。

输入缓冲区长度

无。

输出缓冲区

包含 BTHHFP_DESCRIPTOR 结构的缓冲区,后跟结构引用的任何其他数据。 如果输出缓冲区大小足够且请求成功,则为 true。 具体而言,缓冲区包括由 BTHHFP_DESCRIPTOR 结构的 FriendlyName 字段引用的字符串的存储。

输出缓冲区长度

BTHHFP_DESCRIPTOR结构和引用的数据的大小。

状态块

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

注意 这可能大于 BTHHFP_DESCRIPTOR 结构的大小,因为输出缓冲区可能包含 结构引用的其他数据
 
如果 Status 设置为 STATUS_BUFFER_TOO_SMALL,则音频驱动程序应读取 Information 成员,以获取调用方应为此请求分配的缓冲区大小。

注解

音频驱动程序发送此请求以获取有关已启用GUID_DEVINTERFACE_BLUETOOTH_HFP_SCO_HCIBYPASS设备接口的信息。 启用接口时,信息不会更改,但可以在禁用接口时更改。 因此,音频驱动程序会在发现已启用的设备接口后不久发送此请求,并使用这些信息构建适当的KSFILTER_DESCRIPTOR结构。

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

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
标头 bthhfpddi.h

另请参阅

蓝牙 HFP DDI IOCTL

IOCTL_BTHHFP_DEVICE_GET_CONTAINERID

IOCTL_BTHHFP_DEVICE_GET_KSNODETYPES