Share via


_BRB_SCO_TRANSFER structure (bthddi.h)

La structure _BRB_SCO_TRANSFER décrit une mémoire tampon permettant de lire des données isochroneuses à partir de ou d’écrire des données isochroneuses dans un canal SCO.

Syntaxe

struct _BRB_SCO_TRANSFER {
  BRB_HEADER         Hdr;
  BTH_ADDR           BtAddress;
  SCO_CHANNEL_HANDLE ChannelHandle;
  ULONG              TransferFlags;
  ULONG              BufferSize;
  PVOID              Buffer;
  PMDL               BufferMDL;
  ULONGLONG          DataTag;
};

Membres

Hdr

Structure BRB_HEADER qui contient des informations sur le BRB actuel.

BtAddress

Adresse Bluetooth de l’appareil distant.

ChannelHandle

Handle de canal SCO retourné par la pile de pilotes Bluetooth en réponse à une demande BRB_SCO_OPEN_CHANNEL ou BRB_SCO_OPEN_CHANNEL_RESPONSE antérieure.

TransferFlags

Indicateurs qui spécifient le comportement de base du BRB. Les valeurs d’indicateur valides sont répertoriées dans le tableau suivant.

Indicateur Description
SCO_TRANSFER_DIRECTION_IN Si ce bit est défini, le BRB lit les données isochroneuses d’un appareil distant via le canal SCO.
SCO_TRANSFER_DIRECTION_OUT Si ce bit est défini, le BRB écrit des données isochroneuses sur un appareil distant via le canal SCO.

BufferSize

Taille, en octets, de la mémoire tampon d’entrée décrite par le membre Buffer de cette structure.

Buffer

Pointeur vers la mémoire tampon d’entrée. Cette valeur doit être NULL lorsque le membre Buffer n’est pas utilisé.

BufferMDL

Pointeur vers la mémoire tampon d’entrée MDL. Cette valeur doit être NULL lorsque le membre BufferMDL n’est pas utilisé.

DataTag

Écriture SCO

Remarques

Pour lire des données isochroneuses à partir d’une connexion SCO ou écrire des données isochroneuses dans une connexion SCO, les pilotes de profil doivent générer et envoyer une demande de BRB_SCO_TRANSFER .

Chaque connexion SCO est bidirectionnelle et peut être lue et écrite simultanément.

Les BBR de lecture restent en attente jusqu’à ce que les données arrivent ou que le pilote de profil les vide. Il est recommandé que les pilotes de niveau supérieur aient au moins deux BBR en lecture en attente ouvertes à tout moment pour accepter les données entrantes provenant de l’appareil distant.

La pile de pilotes Bluetooth ne fournit aucune mise en mémoire tampon pour les données isochroneuses entrantes. Par conséquent, un petit écart entre l’achèvement d’un IRP lu et l’envoi du suivant peut entraîner une perte de données.

Si BufferMDL et BufferMDL contiennent des valeurs non NULL, BufferMDL est prioritaire.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
En-tête bthddi.h (inclure Bthddi.h)

Voir aussi

BRB_HEADER

BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

BRB_SCO_TRANSFER