Bluetooth et connexion
Bluetooth utilise la fonction connect pour se connecter à un appareil Bluetooth cible, à l’aide d’un socket Bluetooth créé précédemment. Le paramètre name de la fonction de connexion , qui est une structure SOCKADDR_BTH , doit spécifier un appareil Bluetooth cible. Deux mécanismes sont utilisés pour identifier l’appareil cible :
- La structure SOCKADDR_BTH peut spécifier directement le numéro de port auquel une connexion est demandée. Ce mécanisme exige que l’application exécute ses propres requêtes SDP avant de tenter une opération de connexion .
- La structure SOCKADDR_BTH peut spécifier l’ID de classe de service unique du service auquel elle souhaite se connecter. Si l’appareil homologue a plusieurs ports qui correspondent à l’ID de classe de service, l’appel de fonction de connexion se connecte au premier service valide. Ce mécanisme peut être utilisé sans requêtes SDP préalables.
Lors de l’utilisation de la structure SOCKADDR_BTH avec la fonction connect , les conditions suivantes s’appliquent :
- Le membre btAddr doit être une adresse radio distante valide.
- Pour le membre serviceClassId , si le membre de port est égal à zéro, le système tente d’utiliser serviceClassId pour résoudre le port distant correspondant au service. La classe de service est un GUID 128 bits normalisé, défini par la spécification Bluetooth. Les GUID courants sont définis par le document Numéros attribués Bluetooth. Vous pouvez également utiliser un GUID unique pour une application spécifique à un domaine.
- Le membre de port doit être un port distant valide, ou zéro si le membre serviceClassId est spécifié.
Le tableau suivant répertorie les codes de résultat pour Bluetooth et la fonction de connexion .
Erreur/erreur # | Description |
---|---|
WSAEISCONN10056 |
Fonction de connexion appelée pour le socket déjà connecté. |
WSAEACCES10013 |
La connexion de l’application a demandé l’authentification, mais l’authentification a échoué. |
WSAENOBUFS10055 |
Erreur de mémoire insuffisante irrécupérable. |
WSAEADDRINUSE10048 |
Le numéro de port/canal demandé est en cours d’utilisation. |
WSAETIMEDOUT10060 |
L’E/S a expiré au niveau de la radio Bluetooth (PAGE_TIMEOUT). |
WSAEDISCON10101 |
Canal RFCOMM déconnecté par un homologue distant. |
WSAECONNRESET10054 |
Multiplexeur RFCOMM (session) déconnecté par un homologue distant. |
WSAECONNABORTED10053 |
Le socket est arrêté par l’application. |
WSAENETUNREACH10051 |
Erreur autre que le délai d’expiration au niveau de la radio L2CAP ou Bluetooth. |
WSAEHOSTDOWN10064 |
Le RFCOMM a reçu la réponse DM. |
WSAENETDOWN10050 |
Erreur réseau inattendue. |
WSAESHUTDOWN10058 |
Canal L2CAP déconnecté par un homologue distant. |
WSAEADDRNOTAVAIL10049 |
Port/canal Bluetooth ou adresse de l’appareil non valide. |
WSAEINVAL10022 |
Plug-and-Play, un événement de pile de pilotes ou une autre erreur a provoqué un échec. |