Freigeben über


_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 können.

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;
};

Member

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 Flagwerte sind in der folgenden Tabelle aufgeführt.

Flag 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 Eingabepuffers in Bytes, der vom Buffer-Element dieser Struktur beschrieben wird.

Buffer

Ein Zeiger auf den Eingabepuffer. Dieser Wert sollte NULL sein, wenn der Buffer-Member nicht verwendet wird.

BufferMDL

Ein Zeiger auf den MDL-Eingabepuffer. Dieser Wert sollte NULL sein, wenn der BufferMDL-Member nicht verwendet wird.

DataTag

SCO-Schreibvorgänge

Hinweise

Um isochrone Daten aus einer SCO-Verbindung zu lesen oder isochrone Daten in eine SCO-Verbindung zu schreiben, sollten Profiltreiber eine BRB_SCO_TRANSFER-Anforderungerstellen und senden.

Jede SCO-Verbindung ist bidirektional und kann gleichzeitig aus gelesen und in geschrieben werden.

Lese-BRBs bleiben ausstehend, bis Die Daten eintreffen oder der Profiltreiber sie leert. Es wird empfohlen, dass Treiber auf höherer Ebene jederzeit mindestens zwei ausstehende Lese-BRBs geöffnet haben, um eingehende Daten vom Remotegerät zu akzeptieren.

Der Bluetooth-Treiberstapel bietet keine Pufferung für eingehende isochrone Daten. 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 Werte ungleich NULL enthalten, hat BufferMDL Vorrang.

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

BRB_SCO_TRANSFER