Bluetooth e conexão
O Bluetooth usa a função connect para se conectar a um dispositivo Bluetooth de destino usando um soquete Bluetooth criado anteriormente. O nome parâmetro da função connect, que é uma estrutura SOCKADDR_BTH, deve especificar um dispositivo Bluetooth de destino. Dois mecanismos são usados para identificar o dispositivo de destino:
- A estrutura SOCKADDR_BTH pode especificar diretamente o número da porta ao qual uma conexão é solicitada. Esse mecanismo exige 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 par tiver mais de uma porta que corresponda à ID da classe de serviço, o conectar chamada de função se conectará ao primeiro serviço válido. Esse mecanismo pode ser usado sem consultas SDP anteriores.
Ao usar a estrutura SOCKADDR_BTH com a função conectar, 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 Números Atribuídos por Bluetooth. Como alternativa, um GUID exclusivo pode ser usado para um aplicativo específico do domínio.
- A porta membro 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 connect.
Erro/erro# | Descrição |
---|---|
WSAEISCONN10056 |
A função conectar chamada para soquete já conectado. |
WSAEACCES10013 |
Conectar a autenticação solicitada pelo aplicativo, mas a autenticação falhou. |
WSAENOBUFS10055 |
Erro de memória insuficiente irrecuperável. |
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 por par remoto. |
WSAECONNRESET10054 |
O multiplexor RFCOMM (sessão) desconectado pelo par remoto. |
WSAECONNABORTED10053 |
Soquete desligado pelo aplicativo. |
WSAENETUNREACH10051 |
Erro diferente do tempo limite no nível de rádio L2CAP ou Bluetooth. |
WSAEHOSTDOWN10064 |
O RFCOMM recebeu resposta de DM. |
WSAENETDOWN10050 |
Erro de rede inesperado. |
WSAESHUTDOWN10058 |
O canal L2CAP desconectado por par remoto. |
WSAEADDRNOTAVAIL10049 |
Porta bluetooth/canal ou endereço do dispositivo não é válido. |
WSAEINVAL10022 |
Plug and Play, evento de pilha de driver ou outro erro causou falha. |