_BRB_SCO_TRANSFER Struktur (bthddi.h)
Die _BRB_SCO_TRANSFER-Struktur beschreibt einen Puffer, aus dem isochrone Daten gelesen oder isochrone Daten in einen SCO-Kanal geschrieben werden.
Syntax
struct _BRB_SCO_TRANSFER {
BRB_HEADER Hdr;
BTH_ADDR BtAddress;
SCO_CHANNEL_HANDLE ChannelHandle;
ULONG TransferFlags;
ULONG BufferSize;
PVOID Buffer;
PMDL BufferMDL;
ULONGLONG DataTag;
};
Angehörige
Hdr
Eine BRB_HEADER Struktur, die Informationen zum aktuellen BRB enthält.
BtAddress
Die Bluetooth-Adresse des Remotegeräts.
ChannelHandle
Das SCO-Kanalhandle, das vom Bluetooth-Treiberstapel als Reaktion auf eine frühere BRB_SCO_OPEN_CHANNEL- oder BRB_SCO_OPEN_CHANNEL_RESPONSE-Anforderung zurückgegeben wurde.
TransferFlags
Flags, die das grundlegende Verhalten des BRB angeben. Gültige Kennzeichenwerte werden in der folgenden Tabelle aufgeführt.
Flagge | Beschreibung |
---|---|
SCO_TRANSFER_DIRECTION_IN | Wenn dieses Bit festgelegt ist, liest der BRB isochrone Daten von einem Remotegerät über den SCO-Kanal. |
SCO_TRANSFER_DIRECTION_OUT | Wenn dieses Bit festgelegt ist, schreibt der BRB isochrone Daten über den SCO-Kanal auf ein Remotegerät. |
BufferSize
Die Größe des vom Buffer Member dieser Struktur beschriebenen Eingabepuffer in Byte.
Buffer
Ein Zeiger auf den Eingabepuffer. Dieser Wert sollte NULL- sein, wenn das Buffer Member nicht verwendet wird.
BufferMDL
Ein Zeiger auf den MDL-Eingabepuffer. Dieser Wert sollte NULL- sein, wenn das BufferMDL- element nicht verwendet wird.
DataTag
SCO-Schreibzugriff
Bemerkungen
Um isochrone Daten aus einer SCO-Verbindung zu lesen oder isochrone Daten zu schreiben, sollten Profiltreiber erstellen und einer BRB_SCO_TRANSFER Anforderung senden.
Jede SCO-Verbindung ist bidirektional und kann von und gleichzeitig geschrieben werden.
Lese-BRBs bleiben aus, bis Daten eintreffen oder bis der Profiltreiber sie löscht. Es wird empfohlen, dass Treiber auf höherer Ebene mindestens zwei ausstehende Lese-BRBs jederzeit geöffnet haben, um eingehende Daten vom Remotegerät zu akzeptieren.
Der Bluetooth-Treiberstapel stellt keine Pufferung für eingehende isochrone Daten bereit. Daher kann eine kleine Lücke zwischen dem Abschluss eines Lese-IRP und der Übermittlung der nächsten zu Datenverlust führen.
Wenn sowohl Buffer als auch BufferMDL- nichtNULL--Werte enthalten, hat BufferMDL- Vorrang.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Versionen:_Supported in Windows Vista und höher. |
Header- | bthddi.h (include Bthddi.h) |