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。

相关推荐
wulitoud28 分钟前
[好用工具] 一款mac/windows电脑历史剪切板工具,类似著名的Paste
windows·macos·sublime text
APItesterCris1 小时前
构建弹性数据管道:利用淘宝商品 API 进行流式数据采集与处理
linux·数据库·windows
碰大点2 小时前
第8章 zynq uboot更新系统镜像并引导启动和个人心得
驱动开发·fpga开发·uboot·zynq
奋斗羊羊3 小时前
【C++】使用MSBuild命令行编译ACE、TAO、DDS
开发语言·c++·windows
郁大锤6 小时前
在 Windows 下安装与快速上手 Wireshark(抓包工具)
windows·测试工具·wireshark
路由侠内网穿透11 小时前
本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
服务器·网络·windows·ci/cd·开源
CsharpDev-奶豆哥12 小时前
ASP.NET中for和foreach使用指南
windows·microsoft·c#·asp.net·.net
Microsoft Word16 小时前
跨平台向量库:Linux & Windows 上一条龙部署 PostgreSQL 向量扩展
linux·windows·postgresql
Wx-bishekaifayuan16 小时前
基于微信小程序的社区图书共享平台设计与实现 计算机毕业设计源码44991
javascript·vue.js·windows·mysql·pycharm·tomcat·php
zhuyasen18 小时前
在某些 Windows 版本,Go 1.25.x 编译出来的 exe 运行报错:此应用无法在你的电脑上运行
windows·go·编译器