Bluetooth и подключение
Bluetooth использует функцию подключения для подключения к целевому устройству Bluetooth с помощью ранее созданного сокета Bluetooth. Параметр имениподключения, являющейся структурой SOCKADDR_BTH, должен указать целевое устройство Bluetooth. Для идентификации целевого устройства используются два механизма:
- Структура SOCKADDR_BTH может напрямую указать номер порта, к которому запрашивается подключение. Этот механизм требует, чтобы приложение выполняло собственные запросы SDP до попытки подключения.
- Структура SOCKADDR_BTH может указать уникальный идентификатор класса службы, к которой он хочет подключиться. Если однорангового устройства имеет более одного порта, соответствующего идентификатору класса службы, подключение вызов функции подключается к первой допустимой службе. Этот механизм можно использовать без предварительных запросов SDP.
При использовании структуры SOCKADDR_BTH с функцией подключенияприменяются следующие требования:
- Элемент btAddr должен быть допустимым удаленным радиоадресом.
- Для элемента serviceClassId, если член порта равен нулю, система пытается использовать serviceClassId для разрешения удаленного порта, соответствующего службе. Класс службы является нормализованным 128-разрядным GUID, определенным спецификацией Bluetooth. Общие идентификаторы GUID определяются документом "Назначенные номера Bluetooth". Кроме того, для приложения, относящееся к домену, может использоваться уникальный GUID.
- Элемент порта должен быть допустимым удаленным портом или нулем, если указан элемент serviceClassId.
В следующей таблице перечислены коды результатов для Bluetooth и функция подключения.
Ошибка или ошибка# | Описание |
---|---|
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 |
Событие Plug and Play, событие стека драйверов или другая ошибка вызвала сбой. |