Partager via


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.

Windows Sockets

se connecter

SOCKADDR_BTH