Partager via


structure _BRB_L2CA_ACL_TRANSFER (bthddi.h)

La structure _BRB_L2CA_ACL_TRANSFER décrit une mémoire tampon à partir de laquelle 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

Le handle de canal L2CAP qui a été retourné par la pile de pilotes Bluetooth en réponse à un BRB_L2CA_OPEN_CHANNEL antérieur 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 :

Indicateur 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é dans le membre Timeout .

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 la perte des données consommées à ce stade.

RemainingBufferSize

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

Remarques

Pour lire des données asynchrones à partir de ou écrire des données asynchrones dans un canal L2CAP, les pilotes de profil doivent générer et envoyer une requête 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 brbs 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 afin d’accepter les données entrantes 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 case activée en continu si une 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 IncomingQueueDepth associé à une demande de BRB_L2CA_OPEN_CHANNEL .

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

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_L2CA_ACL_TRANSFER

BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE