Condividi tramite


Bluetooth e connessione

Bluetooth usa la funzione connect per connettersi a un dispositivo Bluetooth di destinazione, usando un socket Bluetooth creato in precedenza. Il nome parametro della funzione connect, ovvero una struttura SOCKADDR_BTH, deve specificare un dispositivo Bluetooth di destinazione. Per identificare il dispositivo di destinazione vengono usati due meccanismi:

  • La struttura SOCKADDR_BTH può specificare direttamente il numero di porta a cui viene richiesta una connessione. Questo meccanismo richiede all'applicazione di eseguire le proprie query SDP prima di tentare un'operazione di connessione .
  • La struttura SOCKADDR_BTH può specificare l'ID classe di servizio univoco del servizio a cui vuole connettersi. Se il dispositivo peer ha più porte che corrispondono all'ID classe del servizio, la chiamata di funzione connect si connette al primo servizio valido. Questo meccanismo può essere usato senza query SDP precedenti.

Quando si usa la struttura SOCKADDR_BTH con la funzionedi connessione, si applicano i requisiti seguenti:

  • Il membro btAddr deve essere un indirizzo radio remoto valido.
  • Per il membro serviceClassId, se il membro della porta è zero, il sistema tenta di usare serviceClassId per risolvere la porta remota corrispondente al servizio. La classe di servizio è un GUID a 128 bit normalizzato, definito dalla specifica Bluetooth. I GUID comuni sono definiti dal documento Numeri assegnati Bluetooth. In alternativa, è possibile usare un GUID univoco per un'applicazione specifica del dominio.
  • La porta membro deve essere una porta remota valida oppure zero se è specificato il membro serviceClassId.

Nella tabella seguente sono elencati i codici dei risultati per Bluetooth e la funzione connect.

Errore/errore# Descrizione
WSAEISCONN10056
La funzione connect chiamata per il socket già connesso.
WSAEACCES10013
La connessione dell'applicazione ha richiesto l'autenticazione, ma l'autenticazione non è riuscita.
WSAENOBUFS10055
Errore di memoria insufficiente irreversibile.
WSAEADDRINUSE10048
Il numero di porta/canale richiesto è in uso.
WSAETIMEDOUT10060
Timeout dell'I/O a livello di radio Bluetooth (PAGE_TIMEOUT).
WSAEDISCON10101
Canale RFCOMM disconnesso dal peer remoto.
WSAECONNRESET10054
Multiplexor RFCOMM (sessione) disconnesso dal peer remoto.
WSAECONNABORTED10053
Socket arrestato dall'applicazione.
WSAENETUNREACH10051
Errore diverso dal timeout a livello di radio L2CAP o Bluetooth.
WSAEHOSTDOWN10064
Risposta DM ricevuta da RFCOMM.
WSAENETDOWN10050
Errore di rete imprevisto.
WSAESHUTDOWN10058
Canale L2CAP disconnesso dal peer remoto.
WSAEADDRNOTAVAIL10049
Porta/canale Bluetooth o indirizzo del dispositivo non valido.
WSAEINVAL10022
Plug and Play, evento dello stack di driver o altro errore causato da un errore.

Windows Sockets

connettere

SOCKADDR_BTH