В настоящее время я создаю программу, которая разделена на две части: одна, где я обнаруживаю близлежащие устройства Bluetooth и подключаю их к ПК, если имя совпадает, и другая, где я ищу устройство с помощью setupapi и получаю дескриптор для HID.comunication.
Моя проблема в том, что я не могу найти ничего, что говорит мне о том, что устройство, которое я только что подключил, такое же, как и в 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?И, если нет, есть ли другой способ убедиться, что это одно и то же устройство?