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