Я смотрю на группу устройств Bluetooth, с которыми мне нужно работать.У них есть известный банк MAC-адресов, поэтому я могу выбрать их из списка.У меня проблемы с получением системы, чтобы предоставить мне текущий список.
BLUETOOTH_RADIO_INFO radioInfo;
radioInfo.dwSize = sizeof(radioInfo);
HRESULT hr = ::BluetoothGetRadioInfo(hRadio, &radioInfo);
BLUETOOTH_DEVICE_SEARCH_PARAMS deviceSearchParams;
memset(&deviceSearchParams, 0, sizeof(deviceSearchParams));
deviceSearchParams.dwSize = sizeof(deviceSearchParams);
deviceSearchParams.fReturnAuthenticated = false;
deviceSearchParams.fReturnRemembered = false;
deviceSearchParams.fReturnUnknown = true;
deviceSearchParams.fReturnConnected = false;
deviceSearchParams.hRadio = hRadio;
HANDLE hDeviceFind = ::BluetoothFindFirstDevice(&deviceSearchParams, &deviceInfo);
Я перебираю список устройств и выбираю распознанные единицы.
Кажется, мне нужно перезапустить апплет панели управления, чтобы обновить обнаруживаемые устройства, иначе я получаючто представляет собой «запомненный» список (а не фактический список устройств, которые являются локальными, непарными и включены).
Предложения?
Использование XP / VC2008 / MFC