_BRB_L2CA_REGISTER_SERVER-Struktur (bthddi.h)
Ein Profiltreiber verwendet die _BRB_L2CA_REGISTER_SERVER-Struktur, um sich als Server zu registrieren, der L2CAP-Verbindungen von Bluetooth-Remotegeräten empfangen kann.
Syntax
struct _BRB_L2CA_REGISTER_SERVER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
USHORT PSM;
ULONG IndicationFlags;
PFNBTHPORT_INDICATION_CALLBACK IndicationCallback;
PVOID IndicationCallbackContext;
PVOID ReferenceObject;
OUT L2CAP_SERVER_HANDLE ServerHandle;
};
Member
Hdr
Eine BRB_HEADER-Struktur , die Informationen zum aktuellen BRB enthält.
BtAddress
Die Adresse des Bluetooth-Remotegeräts, für das Benachrichtigungen empfangen werden sollen. Geben Sie BTH_ADDR_NULL an, um Benachrichtigungen für eingehende Verbindungen zu erhalten.
PSM
Der Protokoll-/Dienst-Multiplexer (PSM), der Verbindungsanforderungen akzeptiert.
IndicationFlags
Ein optionales Flag oder eine Kombination von Flags, die angibt, ob der Profiltreiber Kopplungsbenachrichtigungen zusätzlich zu Verbindungsbenachrichtigungen akzeptiert. In der folgenden Tabelle sind die möglichen Flageinstellungen aufgeführt.
Flag | Beschreibung |
---|---|
INDICATION_PAIR_DEVICE | Der Profiltreiber akzeptiert Benachrichtigungen, wenn ein Gerät gekoppelt ist. |
INDICATION_UNPAIR_DEVICE | Der Profiltreiber akzeptiert Benachrichtigungen, wenn ein Gerät entkoppelt ist. |
INDICATION_UNPERSONALIZE_DEVICE | Der Profiltreiber akzeptiert Benachrichtigungen, wenn ein Gerät nicht personalisiert ist. |
IndicationCallback
Eine vom Profiltreiber implementierte L2CAP-Rückruffunktion, die der Bluetooth-Treiberstapel aufrufen soll, um den Profiltreiber über eingehende L2CAP-Verbindungen zu benachrichtigen.
IndicationCallbackContext
Der Kontext, der an die Rückruffunktion übergeben werden soll, die im IndicationCallback-Member angegeben ist.
ReferenceObject
Ein Zeiger auf ein Objekt, das an die Funktionen ObReferenceObject und ObDereferenceObject übergeben werden soll, um eine Verweisanzahl beizubehalten. Profiltreiber sollten dieses Objekt so bereitstellen, dass der Bluetooth-Treiberstapel die Anzahl des Objekts erhöhen kann, solange der Treiberstapel die im IndicationCallback-Member angegebene Rückruffunktion aufrufen kann. Der Bluetooth-Treiberstapel verringert die Verweisanzahl des Objekts, wenn der Profiltreiber erstellt und sendet BRB_L2CA_UNREGISTER_SERVER Anforderung.
ServerHandle
Handle an den L2CAP-Server, wenn erfolgreich zurückgegeben wurde. Wenn der Profiltreiber keine Remoteverbindungsanzeigen mehr erhalten soll, sollte er dieses Handle an übergeben. BRB_L2CA_UNREGISTER_SERVER.
Hinweise
Um sich als L2CAP-Server zu registrieren, sollte ein Profiltreiber einen erstellen und senden . BRB_L2CA_REGISTER_SERVER Anforderung.
Nachdem sich der Profiltreiber registriert hat, sollte er eine BRB_REGISTER_PSM Anforderung erstellen und senden, damit der Bluetooth-Treiberstapel Verbindungen vom PSM akzeptiert.
Bei erfolgreicher Ausführung kann der Bluetooth-Treiberstapel den Profiltreiber benachrichtigen, wenn Remotegeräte versuchen, eine L2CAP-Verbindung mit dem Profiltreiber auf einem bestimmten PSM herzustellen.
Ein Profiltreiber kann null des Psm-Members der _BRB_L2CA_REGISTER_SERVER-Struktur angeben – was bedeutet, dass der PSM nicht angegeben ist – und der Profiltreiber stellt anschließend eine BRB_REGISTER_PSM BRB aus, um einen dynamischen PSM für die Registrierung für Verbindungsbenachrichtigungen zu erhalten. Weitere Informationen zu PSMs finden Sie unter _BRB_PSM.
Nachdem sich der Profiltreiber registriert hat, kann der Bluetooth-Treiberstapel ihn benachrichtigen, wenn ein Remotegerät versucht, eine Verbindung mit diesem herzustellen, indem er die L2CAP-Rückruffunktion aufruft, die der Profiltreiber implementiert und im IndicationCallback-Member angibt.
Weitere Informationen zu L2CAP-Servern und PSMs finden Sie unter Akzeptieren von L2CAP-Connections in einem Bluetooth-Profiltreiber.
Wenn der Profiltreiber eine Benachrichtigung über einen Verbindungsversuch empfängt, sollte er eine erstellen und senden BRB_L2CA_OPEN_CHANNEL_RESPONSE BRB, um den Verbindungsversuch entweder zu akzeptieren oder abzulehnen. Weitere Informationen zum Akzeptieren oder Ablehnen von L2CAP-Verbindungsversuchen finden Sie in der _BRB_L2CA_OPEN_CHANNEL-Struktur .
Nachdem eine Verbindung hergestellt wurde, kann der Profiltreiber andere BRBs ausstellen, um mit dem Remotegerät zu kommunizieren.
Um den Empfang von Remoteverbindungsbenachrichtigungen zu beenden, sollte ein Profiltreiber einen erstellen und senden BRB_L2CA_UNREGISTER_SERVER Anforderung.
Dieses Verfahren ermöglicht es einem Profiltreiber zwar, eingehende Verbindungsanforderungen zu akzeptieren, aber nicht automatisch einen Dienst mit SDP ankündigen. Um einen Dienst mit SDP anzukündigen, muss ein Profiltreiber einen SDP-Eintrag mithilfe der SDP-APIs übermitteln. Weitere Informationen zu Werbediensten mit SDP finden Sie unter Kommunizieren mit SDP-Servern.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Versionen:_Supported in Windows Vista und höher. |
Kopfzeile | bthddi.h (include Bthddi.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für