_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) |