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