Bluetooth и подключение
Bluetooth использует функцию подключения для подключения к целевому устройству Bluetooth с помощью ранее созданного сокета Bluetooth. Параметр имени функции подключения, являющейся структурой SOCKADDR_BTH, должен указать целевое устройство Bluetooth. Для идентификации целевого устройства используются два механизма:
- Структура SOCKADDR_BTH может напрямую указать номер порта, к которому запрашивается подключение. Этот механизм требует, чтобы приложение выполняло собственные запросы SDP до попытки операции подключения.
- Структура SOCKADDR_BTH может указать уникальный идентификатор класса службы, к которому он хочет подключиться. Если однорангового устройства имеет более одного порта, соответствующего идентификатору класса службы, вызов функции подключения подключается к первой допустимой службе. Этот механизм можно использовать без предварительных запросов SDP.
При использовании структуры SOCKADDR_BTH с функцией подключения применяются следующие требования:
- Член btAddr должен быть допустимым удаленным радиоадресом.
- Если член порта равен нулю, система пытается использовать serviceClassId для разрешения удаленного порта, соответствующего службе. Класс службы является нормализованным 128-разрядным GUID, определенным спецификацией Bluetooth. Общие идентификаторы GUID определяются документом "Назначенные номера Bluetooth". Кроме того, для приложения, относящееся к домену, может использоваться уникальный GUID.
- Элемент порта должен быть допустимым удаленным портом или нулем, если указан элемент serviceClassId .
В следующей таблице перечислены коды результатов для Bluetooth и функции подключения .
Ошибка или ошибка# | Description |
---|---|
WSAEISCONN10056 |
Функция подключения, вызываемая для уже подключенного сокета. |
WSAEACCES10013 |
Подключение запрашивать проверку подлинности приложения, но проверка подлинности завершилась ошибкой. |
WSAENOBUFS10055 |
Неустранимая ошибка вне памяти. |
WSAEADDRINUSE10048 |
Запрошенный номер порта или канала используется. |
WSAETIMEDOUT10060 |
Время ожидания ввода-вывода на уровне радиосвязи Bluetooth (PAGE_TIMEOUT). |
WSAEDISCON10101 |
Канал RFCOMM, отключенный удаленным одноранговым узлом. |
WSAECONNRESET10054 |
Мультиплексор RFCOMM (сеанс), отключенный удаленным одноранговым узлом. |
WSAECONNABORTED10053 |
Завершение работы сокета по приложению. |
WSAENETUNREACH10051 |
Ошибка, отличное от времени ожидания на уровне радиосвязи L2CAP или Bluetooth. |
WSAEHOSTDOWN10064 |
RfCOMM получил ответ DM. |
WSAENETDOWN10050 |
Непредвиденная ошибка сети. |
WSAESHUTDOWN10058 |
Канал L2CAP отключен удаленным одноранговым узлом. |
WSAEADDRNOTAVAIL10049 |
Недопустимый порт Или канал Bluetooth или адрес устройства. |
WSAEINVAL10022 |
самонастраивающийся, событие стека драйверов или другая ошибка вызвала сбой. |