Langue

UsbDeviceConnection.BulkTransferAsync Méthode

Définition

Surcharges

Nom Description
BulkTransferAsync(UsbEndpoint, Byte[], Int32, Int32)

Exécute un transfert en bloc sur le point de terminaison donné dans une tâche.

BulkTransferAsync(UsbEndpoint, Byte[], Int32, Int32, Int32)

Exécute un transfert en bloc à partir du décalage de mémoire tampon donné dans une tâche.

BulkTransferAsync(UsbEndpoint, Byte[], Int32, Int32)

Exécute un transfert en bloc sur le point de terminaison donné dans une tâche.

public System.Threading.Tasks.Task<int> BulkTransferAsync(Android.Hardware.Usb.UsbEndpoint? endpoint, byte[]? buffer, int length, int timeout);
member this.BulkTransferAsync : Android.Hardware.Usb.UsbEndpoint * byte[] * int * int -> System.Threading.Tasks.Task<int>

Paramètres

endpoint
UsbEndpoint

Point de terminaison qui détermine le sens du transfert.

buffer
Byte[]

Mémoire tampon pour que les données envoient ou reçoivent, en commençant à l’index zéro. Si null, length doit être égal à zéro.

length
Int32

Nombre d’octets à envoyer ou à recevoir. Doit être non négatif et pas supérieur à la longueur de la mémoire tampon. Consultez les remarques relatives à la limite de compatibilité de 16384 octets.

timeout
Int32

Délai d’expiration du transfert en millisecondes ; zéro attend indéfiniment.

Retours

Tâche dont le résultat est le nombre d’octets transférés, y compris zéro, sur la réussite ou une valeur négative en cas d’échec.

Remarques

Cette méthode .NET utilise Run<TResult>(Func<TResult>) pour appeler BulkTransfer(UsbEndpoint, Byte[], Int32, Int32). Laissez la connexion ouverte et ne lisez pas ou ne modifiez pas la mémoire tampon tant que la tâche n’est pas terminée.

Avant Android 9 (niveau d’API 28), les longueurs de transfert supérieures à 16384 octets sont réduites à 16384. Sur Android 9 et versions ultérieures, cette limite s’applique toujours aux applications qui ciblent un niveau d’API inférieur à 28. Les limites de mémoire tampon sont vérifiées avant cette réduction.

Sources d’implémentation : .NET générateur de wrapper de tâches et implémentation de connexion USB Android.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à

BulkTransferAsync(UsbEndpoint, Byte[], Int32, Int32, Int32)

Exécute un transfert en bloc à partir du décalage de mémoire tampon donné dans une tâche.

public System.Threading.Tasks.Task<int> BulkTransferAsync(Android.Hardware.Usb.UsbEndpoint? endpoint, byte[]? buffer, int offset, int length, int timeout);
member this.BulkTransferAsync : Android.Hardware.Usb.UsbEndpoint * byte[] * int * int * int -> System.Threading.Tasks.Task<int>

Paramètres

endpoint
UsbEndpoint

Point de terminaison qui détermine le sens du transfert.

buffer
Byte[]

Mémoire tampon pour les données à envoyer ou recevoir. Si null, offset et length doit être égal à zéro.

offset
Int32

Index non négatif du premier octet à envoyer ou recevoir dans buffer.

length
Int32

Nombre d’octets à envoyer ou à recevoir. Doit être non négatif, et la plage à partir de offset doit s’adapter à la mémoire tampon. Consultez les remarques relatives à la limite de compatibilité de 16384 octets.

timeout
Int32

Délai d’expiration du transfert en millisecondes ; zéro attend indéfiniment.

Retours

Tâche dont le résultat est le nombre d’octets transférés, y compris zéro, sur la réussite ou une valeur négative en cas d’échec.

Remarques

Cette méthode .NET utilise Run<TResult>(Func<TResult>) pour appeler BulkTransfer(UsbEndpoint, Byte[], Int32, Int32, Int32). Laissez la connexion ouverte et ne lisez pas ou ne modifiez pas la mémoire tampon tant que la tâche n’est pas terminée.

Avant Android 9 (niveau d’API 28), les longueurs de transfert supérieures à 16384 octets sont réduites à 16384. Sur Android 9 et versions ultérieures, cette limite s’applique toujours aux applications qui ciblent un niveau d’API inférieur à 28. Les limites de mémoire tampon sont vérifiées avant cette réduction.

Sources d’implémentation : .NET générateur de wrapper de tâches et implémentation de connexion USB Android.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à