Partager via


structure _BRB_L2CA_ACL_TRANSFER (bthddi.h)

La structure _BRB_L2CA_ACL_TRANSFER décrit une mémoire tampon pour lire des données asynchrones ou écrire des données asynchrones dans un canal L2CAP.

Syntaxe

struct _BRB_L2CA_ACL_TRANSFER {
  BRB_HEADER           Hdr;
  BTH_ADDR             BtAddress;
  L2CAP_CHANNEL_HANDLE ChannelHandle;
  ULONG                TransferFlags;
  ULONG                BufferSize;
  PVOID                Buffer;
  PMDL                 BufferMDL;
  LONGLONG             Timeout;
  ULONG                RemainingBufferSize;
};

Membres

Hdr

Structure BRB_HEADER qui contient des informations sur le BRB actuel.

BtAddress

Adresse de l’appareil distant.

ChannelHandle

Handle de canal L2CAP retourné par la pile de pilotes Bluetooth en réponse à une BRB_L2CA_OPEN_CHANNEL antérieure ou BRB_L2CA_OPEN_CHANNEL_RESPONSE demande.

TransferFlags

Combinaison d’indicateurs qui spécifie le comportement de base de l’interface. Plusieurs indicateurs peuvent être définis en même temps. Les valeurs d’indicateur valides sont décrites dans le tableau suivant :

Drapeau Description
ACL_SHORT_TRANSFER_OK Si ce bit est défini, l’opération de lecture peut se terminer avant que la mémoire tampon soit pleine. Cela ne peut être défini qu’en combinaison avec ACL_TRANSFER_DIRECTION_IN.
ACL_TRANSFER_DIRECTION_IN Si ce bit est défini, les données sont reçues de l’appareil distant. Cet indicateur ne peut pas être défini en combinaison avec ACL_TRANSFER_DIRECTION_OUT.
ACL_TRANSFER_DIRECTION_OUT Si ce bit est défini, les données doivent être envoyées à l’appareil distant. Cet indicateur ne peut pas être défini en combinaison avec ACL_TRANSFER_DIRECTION_IN.
ACL_TRANSFER_TIMEOUT L’opération de lecture doit être arrêtée après le nombre de millisecondes spécifiées dans le délai d’expiration membre.

BufferSize

Taille, en octets, de la mémoire tampon.

Buffer

Pointeur vers la mémoire tampon d’entrée.

BufferMDL

Pointeur vers la mémoire tampon d’entrée MDL.

Timeout

Durée, en millisecondes, avant l’annulation de l’action de lecture, et toutes les données consommées à ce stade sont perdues.

RemainingBufferSize

Quantité d’espace, en octets, laissée dans la mémoire tampon après l’appel BRB.

Remarques

Pour lire des données asynchrones ou écrire des données asynchrones dans un canal L2CAP, les pilotes de profil doivent générer et envoyer une demande de BRB_L2CA_ACL_TRANSFER.

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

Si aucun délai d’expiration n’est spécifié, les brb associés à une demande de lecture restent en attente jusqu’à ce que les données arrivent ou jusqu’à ce qu’elles soient annulées. Les pilotes de profil peuvent laisser une demande de lecture en attente pour accepter les données entrantes à partir de l’appareil distant.

La pile de pilotes Bluetooth fournit une mise en mémoire tampon des données entrantes. Il n’est donc pas nécessaire de vérifier en permanence si un IRP de lecture est en attente. Un pilote de profil peut spécifier la quantité de mise en mémoire tampon à fournir dans le membre IncomingQueueDep th associé à une demande de BRB_L2CA_OPEN_CHANNEL.

Si l’indicateur ACL_TRANSFER_TIMEOUT est défini dans le membre TransferFlags et la durée spécifiée dans le délai d’expiration membre, la requête BRB_L2CA_ACL_TRANSFER se termine et retourne une erreur.

Exigences

Exigence Valeur
client minimum pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
d’en-tête bthddi.h (include Bthddi.h)

Voir aussi

BRB_HEADER

BRB_L2CA_ACL_TRANSFER

BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE