Share via


_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

BRB_HEADER

BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER

L2CAP-Rückruffunktion

ObDereferenceObject

ObReferenceObject