Akzeptieren von SCO-Verbindungen in einem Bluetooth-Profiltreiber
Ein SCO-Profiltreiber kann sich selbst registrieren, um auf eingehende Sco-Verbindungsanforderungen (Synchronous Connection-Oriented, Synchrone Connection-Oriented) von Remotegeräten zu reagieren. Beispielsweise antwortet ein SCO-Profiltreiber für ein CTP-Gerät (Cordless Telephony Profile) auf eine eingehende SCO-Verbindungsanforderung vom CTP-Gerät und akzeptiert oder lehnt die Anforderung ab. Wenn der Serverprofiltreiber die Anforderung akzeptiert, antwortet der Serverprofiltreiber auf Eingaben des Geräts und übergibt diese Eingabe an den Bluetooth-Treiberstapel.
Serverprofiltreiber müssen die folgenden Schritte ausführen, um eingehende SCO-Verbindungsanforderungen von Bluetooth-Remotegeräten zu akzeptieren.
So empfangen Sie eingehende SCO-Verbindungsanforderungen von Remotegeräten
Profiltreiber sollten eine BRB_SCO_REGISTER_SERVER Anforderung erstellen und senden, um eine SCO-Rückruffunktion beim Bluetooth-Treiberstapel zu registrieren, damit der Stapel den Profiltreiber über eingehende SCO-Verbindungsanforderungen benachrichtigen kann.
Wenn der Bluetooth-Treiberstapel eine eingehende SCO-Verbindungsanforderung von einem Remotegerät empfängt, ruft er die SCO-Rückruffunktion auf, die zuvor vom Profiltreiber registriert wurde. Der Bluetooth-Treiberstapel übergibt den Wert ScoIndicationRemoteConnect an den Parameter Indication der Rückruffunktion.
Um auf eingehende Verbindungsanforderungen zu reagieren, sollten Profiltreiber eine BRB_SCO_OPEN_CHANNEL_RESPONSE-Anforderung erstellen und senden. Basierend auf dem Wert des Antwortelements der _BRB_SCO_OPEN_CHANNEL Struktur, die mit dieser Anforderung übergeben wurde, akzeptiert oder lehnt der Serverprofiltreiber die Verbindungsanforderung ab.
Wenn der Serverprofiltreiber die Verbindung akzeptiert, kann der Bluetooth-Treiberstapel die SCO-Rückruffunktion aufrufen, wie im Rückrufelement der _BRB_SCO_OPEN_CHANNEL-Struktur angegeben, um den Serverprofiltreiber über Änderungen an der SCO-Verbindung zu benachrichtigen.
Nachdem der Profiltreiber eine Verbindungsanforderung akzeptiert hat, kann er andere BRBs verwenden, um Daten über die neu eingerichtete SCO-Verbindung zu senden und zu empfangen.
Um Benachrichtigungen über Remotegeräte-SCO-Verbindungsversuche zu beenden, sollten Profiltreiber eine BRB_SCO_UNREGISTER_SERVER Anforderung zum Aufheben der Registrierung eines Servers erstellen und senden, wenn der Profiltreiber IRP_MN_REMOVE_DEVICE verarbeitet Plug & Play Benachrichtigungen entfernt.
Weitere Informationen zu Benachrichtigungen und Rückruffunktionen finden Sie unter Unterstützen von Bluetooth-Ereignisbenachrichtigungen.