_BRB_SCO_REGISTER_SERVER Struktur (bthddi.h)

Ein Profiltreiber verwendet die _BRB_SCO_REGISTER_SERVER Struktur, um sich als Server zu registrieren, der SCO-Verbindungen von Remote-Bluetooth-Geräten empfangen kann.

Syntax

struct _BRB_SCO_REGISTER_SERVER {
  BRB_HEADER                 Hdr;
  BTH_ADDR                   BtAddress;
  ULONG                      Reserved;
  ULONG                      IndicationFlags;
  PFNSCO_INDICATION_CALLBACK IndicationCallback;
  PVOID                      IndicationCallbackContext;
  PVOID                      ReferenceObject;
  SCO_SERVER_HANDLE          ServerHandle;
};

Member

Hdr

Eine BRB_HEADER Struktur, die Informationen zum aktuellen BRB enthält.

BtAddress

Die Adresse des Remote-Bluetooth-Geräts, für das Benachrichtigungen empfangen werden sollen.

Reserved

Für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.

IndicationFlags

Ein Flag, das angibt, wann die Rückruffunktion, die im "IndicationCallback "-Element angegeben ist, aufgerufen werden soll. Die folgenden Flags sind definiert.

Flag Beschreibung
SCO_INDICATION_SCO_REQUEST Benachrichtigen Sie den Profiltreiber, wenn eingehende SCO-Verbindungen vorhanden sind.
SCO_INDICATION_ESCO_REQUEST Benachrichtigen Sie den Profiltreiber, wenn eingehende eSCO-Verbindungen vorhanden sind.

IndicationCallback

Eine SCO-Rückruffunktion, die vom Profiltreiber implementiert wird, dass der Bluetooth-Treiberstapel aufgerufen werden soll, um den Profiltreiber über eingehende SCO-Verbindungen zu benachrichtigen.

IndicationCallbackContext

Der Kontext, der an die Funktion übergeben wird, die im "IndicationCallback "-Element definiert ist.

ReferenceObject

Ein Zeiger auf ein Objekt, das an die Funktionen ObReferenceObject und ObDereferenceObject übergeben werden soll, um eine Referenzanzahl zu verwalten. Profiltreiber sollten dieses Objekt so bereitstellen, dass der Bluetooth-Treiberstapel die Anzahl des Objekts erhöhen kann, solange der Treiberstapel die im "IndicationCallback "-Element angegebene Rückruffunktion aufrufen kann. Der Bluetooth-Treiberstapel verringert die Referenzanzahl des Objekts, wenn der Profiltreiber erstellt und sendet BRB_SCO_UNREGISTER_SERVER Anforderung.

ServerHandle

Behandeln Sie den SCO-Server, wenn sie erfolgreich zurückgegeben wurde. Wenn der Profiltreiber keine Remoteverbindungsanzeigen mehr empfangen sollte, sollte dieser Handle übergeben werden. BRB_SCO_UNREGISTER_SERVER.

Bemerkungen

Um sich selbst als SCO-Server zu registrieren, sollte ein Profiltreiber eine BRB_SCO_REGISTER_SERVER Anforderung erstellen und senden.

Bei erfolgreicher Ausführung kann der Bluetooth-Treiberstapel den Profiltreiber benachrichtigen, wenn Remotegeräte versuchen, eine SCO-Verbindung mit dem Profiltreiber zu erstellen.

Nachdem sich der Profiltreiber selbst registriert hat, kann der Bluetooth-Treiberstapel sie benachrichtigen, wenn ein Remotegerät versucht, eine Verbindung herzustellen, indem die SCO-Rückruffunktion aufgerufen wird, die der Profiltreiber implementiert und im "IndicationCallback "-Element angibt.

Wenn der Profiltreiber eine Benachrichtigung über einen Verbindungsversuch empfängt, sollte er einen Build erstellen und senden BRB_SCO_OPEN_CHANNEL_RESPONSE Anforderung, den Verbindungsversuch entweder anzunehmen oder abzulehnen. Weitere Informationen zum Annehmen oder Ablehnen von SCO-Verbindungsversuchen finden Sie in der _BRB_SCO_OPEN_CHANNEL Struktur.

Nachdem eine Verbindung hergestellt wurde, kann der Profiltreiber andere BRBs ausgeben, um mit dem Remotegerät zu kommunizieren.

Um den Empfang von Remoteverbindungsbenachrichtigungen zu beenden, sollte ein Profiltreiber erstellen und senden BRB_SCO_UNREGISTER_SERVER Anforderung.

Anforderungen

   
Unterstützte Mindestversion (Client) Versionen:_Supported in Windows Vista und höher.
Header bthddi.h (include Bthddi.h)

Siehe auch

BRB_HEADER

BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

ObDereferenceObject

ObReferenceObject

SCO-Rückruffunktion