Windows蓝牙驱动开发-蓝牙 IOCTL

蓝牙驱动程序堆栈为配置文件驱动程序提供了多个 IOCTL,来收集有关以下内容的信息:

本地蓝牙无线电和系统;

远程蓝牙设备;

会使即插即用 (PnP) 管理器加载配置文件驱动程序的设备;

为收集有关本地蓝牙无线电和系统的信息,配置文件驱动程序会使用 IOCTL_BTH_GET_LOCAL_INFO。 IOCTL 返回后,其 AssociatedIrp.SystemBuffer 成员包含指向 BTH_LOCAL_RADIO_INFO 结构的指针,该结构包含有关本地蓝牙无线电和系统的信息,包括用于指示是否可以发现和连接到本地无线电的标志。 所返回的 BTH_LOCAL_RADIO_INFO 结构包含 BTH_DEVICE_INFO 结构和 BTH_RADIO_INFO 结构,前者包含特定于系统的信息,后者包含本地无线电特定信息。

为收集有关特定远程蓝牙设备的信息,配置文件驱动程序会使用 IOCTL_BTH_GET_RADIO_INFO。 IOCTL 返回后,其 AssociatedIrp.SystemBuffer 成员包含一个指向 BTH_RADIO_INFO 结构的指针,该结构提供有关特定远程无线电的信息,包括是否可以发现和连接到远程无线电。

为收集有关已发现的所有远程无线电的信息,配置文件驱动程序会使用 IOCTL_BTH_GET_DEVICE_INFO。 IOCTL 返回后,其 AssociatedIrp.SystemBuffer 成员包含一个指向 BTH_DEVICE_INFO_LIST 的指针,该结构包含一个 BTH_DEVICE_INFO 结构数组。 BTH_DEVICE_INFO_LIST 结构包含已发现的每个远程无线电的一个数组条目。 用户模式 BluetoothGetDeviceInfo API 使用此功能返回有关所有远程无线电的信息。

为收集有关会使 PnP 管理器加载它的远程设备的信息,配置文件驱动程序会使用 IOCTL_INTERNAL_BTHENUM_GET_DEVINFO。 IOCTL 返回后,其 AssociatedIrp.SystemBuffer 成员包含一个指向 BTH_DEVICE_INFO 结构的指针,该结构包含有关远程设备的信息,包括其蓝牙设备地址、设备状态及其设备类 (CoD) 设置。

配置文件驱动程会序使用 IOCTL_INTERNAL_BTHENUM_GET_ENUMINFO 获取有关导致 PnP 管理器加载配置文件驱动程序的基础设备和服务的信息。 IOCTL 返回后,其 AssociatedIrp.SystemBuffer 成员包含一个指向 BTH_ENUMERATOR_INFO 结构的指针,该结构包含供应商提供有关设备的信息,包括端口号、设备标志、供应商 ID 和产品 ID。

相关推荐
꧁坚持很酷꧂7 小时前
Windows安装Qt Creator5.15.2(图文详解)
开发语言·windows·qt
Heart_to_Yang8 小时前
Telnet 调试屏幕输出信息卡死问题解决
网络·windows·经验分享
杼蛘10 小时前
XXL-Job工具使用操作记录
linux·windows·python·jdk·kettle·xxl-job
qq_2515335910 小时前
查找 Python 中对象使用的内存量
开发语言·windows·python
JH灰色10 小时前
【大模型】-LangChain--Agent
windows·microsoft·langchain
世转神风-11 小时前
windows-ps1-脚本-删除文件
windows
普通网友11 小时前
深入探讨Linux驱动开发:字符设备驱动开发与测试_linux 驱动开发设备号(2)
java·linux·驱动开发
martian66511 小时前
深入解析C++驱动开发实战:优化高效稳定的驱动应用
开发语言·c++·驱动开发
sukalot11 小时前
window显示驱动开发—小型命令列表的优化
驱动开发
TToolss11 小时前
新手使用frp,3端全部Windows
windows