_BRB_SCO_OPEN_CHANNEL-Struktur (bthddi.h)

Die _BRB_SCO_OPEN_CHANNEL-Struktur beschreibt einen SCO-Kanal, der für ein Remotegerät geöffnet werden soll, oder eine Antwort des Profiltreibers, die eine eingehende SCO-Verbindungsanforderung akzeptiert oder ablehnt, die von einem Remotegerät initiiert wurde.

Syntax

struct _BRB_SCO_OPEN_CHANNEL {
  BRB_HEADER                 Hdr;
  BTH_ADDR                   BtAddress;
  ULONG                      TransmitBandwidth;
  ULONG                      ReceiveBandwidth;
  USHORT                     MaxLatency;
  USHORT                     PacketType;
  USHORT                     ContentFormat;
  USHORT                     Reserved;
  SCO_RETRANSMISSION_EFFORT  RetransmissionEffort;
  ULONG                      ChannelFlags;
  ULONG                      CallbackFlags;
  PFNSCO_INDICATION_CALLBACK Callback;
  PVOID                      CallbackContext;
  PVOID                      ReferenceObject;
  SCO_CHANNEL_HANDLE         ChannelHandle;
  UCHAR                      Response;
};

Member

Hdr

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

BtAddress

Die Bluetooth-Adresse des Remotegeräts, für das ein SCO-Kanal geöffnet werden soll.

TransmitBandwidth

Die Übertragungsbandbreite in Bytes pro Sekunde, die dem SCO-Kanal zugewiesen werden soll.

ReceiveBandwidth

Die Empfangsbandbreite in Bytes pro Sekunde, die dem SCO-Kanal zugewiesen werden soll.

MaxLatency

Ein Wert, der in Millisekunden die Obergrenze der Summe des synchronen Intervalls und die Größe des (e)SCO-Fensters darstellt. Mögliche Werte sind in der folgenden Tabelle aufgeführt.

Werte Beschreibung
0x0000 auf 0x0003 Für die zukünftige Verwendung reserviert.
0x0004 zu 0xFFFE Der Bereich der möglichen MaxLatency-Werte für den Kanal.
0xFFFF Der Kanal verfügt nicht über eine bevorzugte MaxLatency-Einstellung .

PacketType

Ein Flag oder eine Kombination von Flags, die den Typ der Datenpakete angeben, die von der SCO-Verbindung unterstützt werden. Diese SCO-Pakettypen werden von der Bluetooth SIG definiert. Weitere Informationen zu diesen Flags finden Sie in der Bluetooth-Spezifikation. Mögliche Werte sind:

SCO_HV1

SCO_HV2

SCO_HV3

SCO_EV3

SCO_EV4

SCO_EV5

ContentFormat

Die Audiostimmeinstellungen für den Kanal. Verwenden Sie die folgenden Definitionen, um dieses Element zu codieren:

SCO_VS_AIR_CODING_DATA
SCO_VS_AIR_CODING_FORMAT_ALAW
SCO_VS_AIR_CODING_FORMAT_CVSD
SCO_VS_AIR_CODING_FORMAT_MASK
SCO_VS_AIR_CODING_FORMAT_MULAW
SCO_VS_IN_CODING_ALAW
SCO_VS_IN_CODING_LINEAR
SCO_VS_IN_CODING_MASK
SCO_VS_IN_CODING_MULAW
SCO_VS_IN_DATA_FORMAT_1C
SCO_VS_IN_DATA_FORMAT_2C
SCO_VS_IN_DATA_FORMAT_MASK
SCO_VS_IN_DATA_FORMAT_SM
SCO_VS_IN_DATA_FORMAT_US
SCO_VS_IN_SAMPLE_SIZE_8BIT
SCO_VS_IN_SAMPLE_SIZE_16BIT
SCO_VS_IN_SAMPLE_SIZE_MASK
SCO_VS_PCM_BIT_POS_MASK
SCO_VS_SETTING_DEFAULT

Reserved

Für die zukünftige Verwendung reserviert. Nicht verwenden.

RetransmissionEffort

Ein SCO_RETRANSMISSION_EFFORT Enumerationswert, der die Erneutübertragungsrichtlinien für den Kanal bestimmt.

ChannelFlags

Flags, die die Anforderungen für den zu öffnenden Kanal angeben. Gültige Flagwerte sind in der folgenden Tabelle aufgeführt:

Flag Beschreibung
SCO_CF_LINK_AUTHENTICATED Der Link muss authentifiziert werden.
SCO_CF_LINK_ENCRYPTED Der Link muss verschlüsselt sein. Durch Festlegen dieses Flags wird auch das SCO_CF_LINK_AUTHENTICATED-Flag festgelegt.
SCO_CF_LINK_SUPPRESS_PIN Der Profiltreiber gibt an, dass Benutzer nicht zur Eingabe einer PIN aufgefordert werden.

CallbackFlags

Ein Flag, das angibt, wann die Funktion, die dem Rückrufmitglied zugewiesen ist, an den Client gesendet werden soll. Derzeit gibt es nur ein gültiges Flag:

Flag Beschreibung
SCO_CALLBACK_DISCONNECT Der Profiltreiber sollte benachrichtigt werden, wenn das Remotegerät getrennt wird.

Callback

Die vom Profiltreiber implementierte SCO-Rückruffunktion , die der Bluetooth-Treiberstapel aufrufen soll, um den Profiltreiber über alle Änderungen an der SCO-Verbindung zu benachrichtigen.

CallbackContext

Der Kontext, der an die Rückruffunktion übergeben werden soll, die im Rückrufelement angegeben ist. Der Profiltreiber definiert diesen Wert.

ReferenceObject

Ein Zeiger auf ein Objekt, das an ObReferenceObject und ObDereferenceObject übergeben werden soll , für das eine Verweisanzahl von beibehalten werden soll.

ChannelHandle

Ein Handle zum Identifizieren des SCO-Kanals, wenn die offene Kanalanforderung erfolgreich abgeschlossen wird.

Response

Ein Flag, das angibt, ob der lokale Server eine eingehende SCO-Verbindung akzeptiert oder ablehnt. Dieses Element wird nur beim Erstellen und Senden einer BRB_SCO_OPEN_CHANNEL_RESPONSE-Anforderung verwendet. Gültige Flagwerte werden in der folgenden Tabelle aufgeführt.

Flag Beschreibung
SCO_CONNECT_RSP_RESPONSE_SUCCESS Der lokale Server akzeptiert die SCO-Verbindungsanforderung.
SCO_CONNECT_RSP_RESPONSE_NO_RESOURCES Der lokale Server lehnt die SCO-Verbindungsanforderung aufgrund eines Ressourcenmangels ab.
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK Der lokale Server lehnt die SCO-Verbindungsanforderung ab, da die Anforderung die Sicherheitsanforderungen nicht erfüllt.
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR Der lokale Server lehnt die SCO-Verbindungsanforderung ab, da er keine Verbindungen von der angegebenen Bluetooth-Geräteadresse akzeptiert.

Hinweise

Um einen SCO-Kanal zu öffnen, sollten Profiltreiber eine BRB_SCO_OPEN_CHANNEL Anforderung erstellen und senden.

Wenn die asynchrone verbindungslose Verbindung mit dem Remotegerät vor der Anforderung nicht vorhanden ist, erstellt der Bluetooth-Treiberstapel eine Verbindung, bevor der SCO-Kanal erstellt wird.

Um eine von einem Remotegerät initiierte eingehende SCO-Verbindungsanforderung zu akzeptieren oder abzulehnen, sollten Profiltreiber einen erstellen und senden . BRB_SCO_OPEN_CHANNEL_RESPONSE Anforderung.

Ein Profiltreiber sollte eine BRB_SCO_OPEN_CHANNEL_RESPONSE Anforderung erstellen und senden, wenn der Bluetooth-Treiberstapel die SCO-Rückruffunktion des Profiltreibers aufruft und ScoIndicationRemoteConnect im Indikationsparameter der Rückruffunktion übergibt.

Der Profiltreiber gibt an, ob die Verbindung akzeptiert werden soll, indem ein entsprechender Wert im Antwortelement dieser Struktur gespeichert wird. In diesem Kontext ist das lokale System der Server.

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_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

ObDereferenceObject

ObReferenceObject

SCO-Rückruffunktion

SCO_RETRANSMISSION_EFFORT