Bluetooth y conexión
Bluetooth usa la función connect para conectarse a un dispositivo Bluetooth de destino mediante un socket Bluetooth creado anteriormente. El parámetro name de la función connect , que es una estructura SOCKADDR_BTH , debe especificar un dispositivo Bluetooth de destino. Se usan dos mecanismos para identificar el dispositivo de destino:
- La estructura SOCKADDR_BTH puede especificar directamente el número de puerto al que se solicita una conexión. Este mecanismo requiere que la aplicación realice sus propias consultas SDP antes de intentar una operación de conexión .
- La estructura SOCKADDR_BTH puede especificar el identificador de clase de servicio único del servicio al que desea conectarse. Si el dispositivo del mismo nivel tiene más de un puerto que corresponde al identificador de clase de servicio, la llamada de función connect se conecta al primer servicio válido. Este mecanismo se puede usar sin consultas SDP anteriores.
Al usar la estructura SOCKADDR_BTH con la función connect , se aplican los siguientes requisitos:
- El miembro btAddr debe ser una dirección de radio remota válida.
- Para el miembro serviceClassId , si el miembro del puerto es cero, el sistema intenta usar serviceClassId para resolver el puerto remoto correspondiente al servicio. La clase de servicio es un GUID normalizado de 128 bits, definido por la especificación bluetooth. Los GUID comunes se definen mediante el documento Números asignados por Bluetooth. Como alternativa, se puede usar un GUID único para una aplicación específica del dominio.
- El miembro del puerto debe ser un puerto remoto válido o cero si se especifica el miembro serviceClassId .
En la tabla siguiente se enumeran los códigos de resultado para Bluetooth y la función connect .
Error o error # | Descripción |
---|---|
WSAEISCONN10056 |
La función connect a la que se llama para el socket ya conectado. |
WSAEACCES10013 |
La conexión de la aplicación solicitó la autenticación, pero se produjo un error en la autenticación. |
WSAENOBUFS10055 |
Error irrecuperable de memoria insuficiente. |
WSAEADDRINUSE10048 |
El número de puerto o canal solicitado está en uso. |
WSAETIMEDOUT10060 |
La E/S agota el tiempo de espera en el nivel de radio Bluetooth (PAGE_TIMEOUT). |
WSAEDISCON10101 |
Canal RFCOMM desconectado por el mismo nivel remoto. |
WSAECONNRESET10054 |
Multiplexor RFCOMM (sesión) desconectado por el mismo nivel remoto. |
WSAECONNABORTED10053 |
Socket apagado por aplicación. |
WSAENETUNREACH10051 |
Error distinto del tiempo de espera en el nivel de radio L2CAP o Bluetooth. |
WSAEHOSTDOWN10064 |
El RFCOMM recibió la respuesta DM. |
WSAENETDOWN10050 |
Error de red inesperado. |
WSAESHUTDOWN10058 |
Canal L2CAP desconectado por el mismo nivel remoto. |
WSAEADDRNOTAVAIL10049 |
El puerto o el canal bluetooth o la dirección del dispositivo no son válidos. |
WSAEINVAL10022 |
Plug and Play, evento de pila de controladores u otro error causado por un error. |