Bluetooth et connexion
Bluetooth utilise la fonction connecter pour se connecter à un appareil Bluetooth cible, à l’aide d’un socket Bluetooth créé précédemment. Le nom paramètre de la fonction connecter, 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 nécessite que l’application effectue ses propres requêtes SDP avant de tenter d’effectuer une opération de connexion .
- La structure SOCKADDR_BTH peut spécifier l’ID de classe de service unique du service auquel il souhaite se connecter. Si l’appareil homologue a plusieurs ports correspondant à l’ID de classe de service, l'connecter appel de fonction se connecte au premier service valide. Ce mécanisme peut être utilisé sans requêtes SDP antérieures.
Lorsque vous utilisez la structure SOCKADDR_BTH avec la fonction connecter, les exigences 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 port membre 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 connecter.
Erreur/erreur# | Description |
---|---|
WSAEISCONN10056 |
La fonction connecter appelée pour un 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 utilisé. |
WSAETIMEDOUT10060 |
L’E/S a expiré au niveau radio Bluetooth (PAGE_TIMEOUT). |
WSAEDISCON10101 |
Canal RFCOMM déconnecté par un homologue distant. |
WSAECONNRESET10054 |
Multiplexeur RFCOMM (session) déconnecté par un homologue distant. |
WSAECONNABORTED10053 |
Arrêt du socket par application. |
WSAENETUNREACH10051 |
Erreur autre que le délai d’attente au niveau radio L2CAP ou Bluetooth. |
WSAEHOSTDOWN10064 |
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 |
L’événement Plug-and-Play, la pile des pilotes ou une autre erreur a provoqué une défaillance. |