Bluetooth e connessione
Bluetooth usa la funzione di connessione per connettersi a un dispositivo Bluetooth di destinazione, usando un socket Bluetooth creato in precedenza. Il parametro name della funzione connect , che è 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 si desidera 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 funzione connect, 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.
- Il membro della porta deve essere una porta remota valida oppure zero se è specificato il membro serviceClassId .
La tabella seguente elenca i codici dei risultati per Bluetooth e la funzione di connessione .
Errore/errore# | Descrizione |
---|---|
WSAEISCONN10056 |
La funzione di connessione chiamata per il socket già connesso. |
WSAEACCES10013 |
Connessione l'applicazione ha richiesto l'autenticazione, ma l'autenticazione non è riuscita. |
WSAENOBUFS10055 |
Errore di memoria insufficiente irreversibile. |
WSAEADDRINU edizione Standard 10048 |
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. |
WSAECONNRE edizione Standard T10054 |
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. |