_BRB_SCO_OPEN_CHANNEL Struktur (bthddi.h)
Die _BRB_SCO_OPEN_CHANNEL-Struktur beschreibt einen SCO-Kanal, der auf einem Remotegerät geöffnet werden soll, oder eine Antwort des Profiltreibers, die eine eingehende SCO-Verbindungsanforderung akzeptiert oder abgelehnt hat, 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;
};
Angehörige
Hdr
Eine BRB_HEADER Struktur, die Informationen zum aktuellen BRB enthält.
BtAddress
Die Bluetooth-Adresse des Remotegeräts, um einen SCO-Kanal zu öffnen.
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 obere Grenze 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 zum 0x0003 | Reserviert für die zukünftige Verwendung. |
0x0004 zum 0xFFFE | Der Bereich der möglichen MaxLatency Werte für den Kanal. |
0xFFFF | Der Kanal hat keine bevorzugte einstellung MaxLatency. |
PacketType
Ein Kennzeichen oder eine Kombination von Flags, die den Typ von Datenpaketen angeben, die von der SCO-Verbindung unterstützt werden. Diese SCO-Pakettypen werden vom 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 Audiostimmeeinstellungen 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
Reserviert für die zukünftige Verwendung. 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 Kennzeichenwerte sind in der folgenden Tabelle aufgeführt:
Kennzeichnung | Beschreibung |
SCO_CF_LINK_AUTHENTICATED | Der Link muss authentifiziert werden. |
SCO_CF_LINK_ENCRYPTED | Der Link muss verschlüsselt werden. Durch Festlegen dieses Kennzeichens wird auch das SCO_CF_LINK_AUTHENTICATED Flag festgelegt. |
SCO_CF_LINK_SUPPRESS_PIN | Der Profiltreiber gibt seine Einstellung an, dass Benutzer nicht zur Eingabe einer PIN aufgefordert werden. |
CallbackFlags
Ein Flag, das angibt, wann die dem Callback Member zugewiesene Funktion an den Client gesendet werden soll. Derzeit gibt es nur ein gültiges Kennzeichen:
Kennzeichnung | Beschreibung |
SCO_CALLBACK_DISCONNECT | Der Profiltreiber sollte benachrichtigt werden, wenn das Remotegerät getrennt wird. |
Callback
Die SCO Callback Function vom Profiltreiber implementiert, dass der Bluetooth-Treiberstapel aufgerufen werden soll, um den Profiltreiber über Änderungen an der SCO-Verbindung zu benachrichtigen.
CallbackContext
Der Kontext, der an die rückruffunktion übergeben werden soll, die im Callback Member angegeben ist. Der Profiltreiber definiert diesen Wert.
ReferenceObject
Ein Zeiger auf ein Objekt, das an ObReferenceObject übergeben werden soll, und ObDereferenceObject-, für die eine Referenzanzahl 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 verwendet, wenn eine BRB_SCO_OPEN_CHANNEL_RESPONSE Anforderung erstellt und gesendet wird. Gültige Kennzeichenwerte werden in der folgenden Tabelle aufgeführt.
Flagge | 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 fehlender Ressourcen ab. |
SCO_CONNECT_RSP_RESPONSE_SECURITY_BLOCK | Der lokale Server lehnt die SCO-Verbindungsanforderung ab, da die Anforderung keine Sicherheitsanforderungen erfüllt. |
SCO_CONNECT_RSP_RESPONSE_BAD_BD_ADDR | Der lokale Server lehnt die SCO-Verbindungsanforderung ab, da sie keine Verbindungen von der angegebenen Bluetooth-Geräteadresse akzeptiert. |
Bemerkungen
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 einen, bevor er den SCO-Kanal erstellt.
Um eine eingehende SCO-Verbindungsanforderung zu akzeptieren oder abzulehnen, die von einem Remotegerät initiiert wurde, sollten Profiltreiber 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 Callback Function des Profiltreibers aufruft und ScoIndicationRemoteConnect- im parameter Indication der Rückruffunktion übergibt.
Der Profiltreiber gibt an, ob die Verbindung akzeptiert werden soll, indem ein entsprechender Wert im Response Member dieser Struktur gespeichert wird. In diesem Zusammenhang ist das lokale System der Server.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Versionen:_Supported in Windows Vista und höher. |
Header- | bthddi.h (include Bthddi.h) |