Freigeben über


Bluetooth und Verbinden

Bluetooth verwendet die Verbinden Funktion, um eine Verbindung mit einem Bluetooth-Zielgerät herzustellen, wobei ein zuvor erstelltes Bluetooth-Socket verwendet wird. Der Name Parameter der connect-Funktion, die eine SOCKADDR_BTH Struktur ist, muss ein Bluetooth-Zielgerät angeben. Zum Identifizieren des Zielgeräts werden zwei Mechanismen verwendet:

  • Die SOCKADDR_BTH-Struktur kann direkt die Portnummer angeben, mit der eine Verbindung angefordert wird. Dieser Mechanismus erfordert, dass die Anwendung ihre eigenen SDP-Abfragen vor dem Versuch einer Verbindung Vorgangs ausführt.
  • Die SOCKADDR_BTH-Struktur kann die eindeutige Dienstklassen-ID des Diensts angeben, mit dem eine Verbindung hergestellt werden soll. Wenn das Peergerät über mehrere Ports verfügt, die der Dienstklassen-ID entsprechen, stellt der verbinden Funktionsaufruf eine Verbindung mit dem ersten gültigen Dienst her. Dieser Mechanismus kann ohne vorherige SDP-Abfragen verwendet werden.

Bei Verwendung der SOCKADDR_BTH-Struktur mit der connect-Funktion gelten die folgenden Anforderungen:

  • Das btAddr- Mitglied muss eine gültige Remotefunkadresse sein.
  • Für das serviceClassId Member versucht das System, serviceClassId zu verwenden, um den Remoteport aufzulösen, der dem Dienst entspricht. Die Dienstklasse ist eine normalisierte 128-Bit-GUID, die von der Bluetooth-Spezifikation definiert wird. Allgemeine GUIDs werden durch das Dokument "Bluetooth Assigned Numbers" definiert. Alternativ kann eine eindeutige GUID für eine domänenspezifische Anwendung verwendet werden.
  • Der Port Member muss ein gültiger Remoteport oder null sein, wenn das serviceClassId Member angegeben ist.

In der folgenden Tabelle sind die Ergebniscodes für Bluetooth und die verbinden-Funktion aufgeführt.

Fehler/Fehler# Beschreibung
WSAEISCONN10056
Die verbinden Funktion, die für bereits verbundene Sockets aufgerufen wird.
WSAEACCES10013
Die Verbindung der Anwendung hat die Authentifizierung angefordert, die Authentifizierung ist jedoch fehlgeschlagen.
WSAENOBUFS10055
Nicht behebbarer Out-of-Memory-Fehler.
WSAEADDRINUSE10048
Die angeforderte Port-/Kanalnummer wird verwendet.
WSAETIMEDOUT10060
Der E/A-Timeout auf Bluetooth-Funkebene (PAGE_TIMEOUT).
WSAEDISCON10101
Der RFCOMM-Kanal, der von Remote-Peer getrennt wurde.
WSAECONNRESET10054
Der RFCOMM-Multiplexor (Sitzung) wird vom Remote-Peer getrennt.
WSAECONNABORTED10053
Socket wird nach Anwendung heruntergefahren.
WSAENETUNREACH10051
Fehler außer Timeout auf L2CAP- oder Bluetooth-Funkebene.
WSAEHOSTDOWN10064
Die RFCOMM erhielt DM-Antwort.
WSAENETDOWN10050
Unerwarteter Netzwerkfehler.
WSAESHUTDOWN10058
Der L2CAP-Kanal, der von Remote-Peer getrennt wurde.
WSAEADDRNOTAVAIL10049
Bluetooth-Port/Kanal- oder Geräteadresse ist ungültig.
WSAEINVAL10022
Plug and Play, Driver-Stack-Ereignis oder ein anderer Fehler verursacht einen Fehler.

Windows Sockets

verbinden

SOCKADDR_BTH