在 Windows 8.1 上查找低功耗蓝牙连接的 HID 设备的唯一数据

在 Windows 8.1 上查找低功耗蓝牙连接的 HID 设备的唯一数据

我正在尝试读取任何类型的信息,这些信息可以告诉我低功耗蓝牙 HID 设备(鼠标/键盘)是否已连接到装有 Windows 8.1(具有 BLE 堆栈)的计算机。

在 下,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\BTHLE我可以看到设备何时连接并分配了硬件 ID。问题是,每当设备对被移除和修复时,此 ID 的值就会增加,换句话说,此 ID 不是唯一的。我一直在尝试将这些数据与 下的数据进行比较...Enum\BTHLEDevice,但我无法弄清楚哪些数据不会不时发生变化。

在 Windows 安装的整个生命周期中,哪些注册表值对于给定设备保持唯一?如果有人知道这个问题的答案,并且知道常规蓝牙设备的答案,可能会有所帮助。

一些目录结构\Enum\BTHLE\

Dev_f3485b7b4df5

8&34482aba&0&f3485b7b4df5

设备参数

特性

8&34482aba&0&f3485b7b4df5 下的一些键

ClassGUID = {e0cbf06c-cd8b-4647-bb8a-263b43f0f974}

硬件 ID = BTHLE\Dev_f3485b7b4df5

配对后,在 Enum\BTHLEDevice 下会创建五个文件夹:

{00001800-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040_REV&0001_f3485b7b4df5

9&166333ec&1&0001

{00001801-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040_REV&0001_f3485b7b4df5

9&166333ec&1&0008

{0000180a-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040_REV&0001_f3485b7b4df5

9&166333ec&1&000C

{0000180a-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040_REV&0001_f3485b7b4df5

9&166333ec&1&0013

{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040_REV&0001_f3485b7b4df5

9&166333ec&1&0017

这里的 HardwareID 键看起来更像这样:

BTHLEDevice\{00001800-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040_REV&0001
BTHLEDevice\{00001800-0000-1000-8000-00805f9b34fb}_Dev_VID&021915_PID&0040
BTHLEDevice\{00001800-0000-1000-8000-00805f9b34fb}_LOCALMFG&0048

相关内容