В настоящее время я создаю программу, которая разделена на две части: в одной я обнаруживаю близлежащие устройства Bluetooth и подключаю их к компьютеру, если имя совпадает, а в другой я ищу устройство с помощью setupapi и получаю дескриптор для связи HID. < br> Моя проблема в том, что я не могу найти ничего, что говорило бы мне о том, что устройство, которое я только что подключил, такое же, как я нашел в setupapi.
Итак, в первой части у меня есть что-то вроде этого:
BLUETOOTH_DEVICE_INFO btdi;
//--- Code omitted ---
BluetoothGetDeviceInfo(radio_handle, &btdi);
if(std::wstring(btdi.szName) == /*my name*/)
// Device found! now connect
BluetoothSetServiceState(radio_handle, &btdi, &HumanInterfaceDeviceServiceClass_UUID, BLUETOOTH_SERVICE_ENABLE);
И код, связанный с setupapi:
SP_DEVICE_INTERFACE_DATA device_data;
device_data.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
//--- Code omitted ---
SetupDiEnumDeviceInterfaces(device_infos, NULL, &hid_guid, index, &device_data);
Я думал об использовании bluetooth-адреса устройства, но, похоже, нет способа получить его из setupapi.
Итак, подведем итог: есть ли способ получить адрес устройства из setupi? И, если нет, есть ли другой способ убедиться, что это одно и то же устройство?