Bluetooth e conectar
O Bluetooth usa a função de conexão para se conectar a um dispositivo Bluetooth de destino, usando um soquete Bluetooth criado anteriormente. O parâmetro name da função de conexão, que é uma estrutura SOCKADDR_BTH, deve especificar um dispositivo Bluetooth de destino. Dois mecanismos são usados para identificar o dispositivo alvo:
- A estrutura SOCKADDR_BTH pode especificar diretamente o número da porta para a qual uma conexão é solicitada. Esse mecanismo requer que o aplicativo execute suas próprias consultas SDP antes de tentar uma operação de conexão .
- A estrutura SOCKADDR_BTH pode especificar a ID de classe de serviço exclusiva do serviço ao qual deseja se conectar. Se o dispositivo peer tiver mais de uma porta que corresponda à ID da classe de serviço, a chamada da função de conexão se conectará ao primeiro serviço válido. Esse mecanismo pode ser usado sem consultas prévias do SDP.
Ao usar a estrutura SOCKADDR_BTH com a função de conexão, os seguintes requisitos se aplicam:
- O membro btAddr deve ser um endereço de rádio remoto válido.
- Para o membro serviceClassId, se o membro da porta for zero, o sistema tentará usar serviceClassId para resolver a porta remota correspondente ao serviço. A classe de serviço é um GUID normalizado de 128 bits, definido pela especificação Bluetooth. GUIDs comuns são definidos pelo documento Bluetooth Assigned Numbers. Como alternativa, um GUID exclusivo pode ser usado para um aplicativo específico do domínio.
- O membro da porta deve ser uma porta remota válida ou zero se o membro serviceClassId for especificado.
A tabela a seguir lista os códigos de resultado para Bluetooth e a função de conexão .
Erro/erro# | Descrição |
---|---|
WSAEISCONN10056 |
A função de conexão exigia um soquete já conectado. |
WSAEACCES10013 |
A conexão do aplicativo solicitou autenticação, mas a autenticação falhou. |
WSAENOBUFS10055 |
Erro irrecuperável de falta de memória. |
WSAEADDRINUSE10048 |
O número de porta/canal solicitado está em uso. |
WSAETIMEDOUT10060 |
A E/S atingiu o tempo limite no nível de rádio Bluetooth (PAGE_TIMEOUT). |
WSAEDISCON10101 |
O canal RFCOMM desconectado pelo peer remoto. |
WSAECONNRESET10054 |
O multiplexador RFCOMM (sessão) desconectado pelo peer remoto. |
WSAECONNABORTED10053 |
Soquete desligado por aplicativo. |
WSAENETUNREACH10051 |
Erro diferente do tempo limite no nível de rádio L2CAP ou Bluetooth. |
WSAEHOSTDOWN10064 |
A RFCOMM recebeu resposta DM. |
WSAENETDOWN10050 |
Erro de rede inesperado. |
WSAESHUTDOWN10058 |
O canal L2CAP desconectado pelo peer remoto. |
WSAEADDRNOTAVAIL10049 |
Porta/canal Bluetooth ou endereço do dispositivo não válido. |
WSAEINVAL10022 |
Plug and Play, evento de pilha de driver ou outro erro causou falha. |