UsbDeviceConnection.BulkTransferAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.