Я пытаюсь использовать Windows Sockets для обнаружения устройства BT в диапазоне. Для этого я использую эту статью MSDN.Программирование Bluetooth с помощью Windows Sockets - устройство в диапазоне
Код работает, и я получаю информацию о устройствах по телефону WSALookupServiceNext (...).
Информация об устройстве предоставляется структурой WSAQUERYSETW.
Как узнать, находится ли устройство в радиусе действия на основе данных из структуры WSAQUERYSETW?
я могу проверить, если WSAQUERYSETW :: dwOutputFlags является наличие одного из следующих флагов:
BTHNS_RESULT_DEVICE_CONNECTED
BTHNS_RESULT_DEVICE_AUTHENTICATED
BTHNS_RESULT_DEVICE_REMEMBERED
И если устройство подключено, таким образом, это, безусловно, в диапазоне, но как насчет других государств?
В чем именно ПОМНИТЬ состояние?
Спасибо! Последующий вопрос, для обнаружения устройств в диапазоне, должен ли я установить флаг REMEMBERED в значение ИСТИНА? Или я могу установить его на ЛОЖЬ? С одной стороны, я не хочу уменьшать набор результатов, с другой стороны, я не хочу, чтобы в моем наборе результатов не было устройств. – Pupsik
Хороший вопрос - я не думаю, что вы можете, но если есть способ получить все устройства на дальнем расстоянии, не включая в себя устройства с запоминанием, но не входящие в диапазон, или исключая устройства с запоминанием, но в диапазоне, я бы любить знать. –