Lingua

UsbDeviceConnection.BulkTransferAsync Metodo

Definizione

Overload

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

Esegue un trasferimento in blocco sull'endpoint specificato in un'attività.

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

Esegue un trasferimento bulk dall'offset del buffer specificato in un'attività.

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

Esegue un trasferimento in blocco sull'endpoint specificato in un'attività.

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>

Parametri

endpoint
UsbEndpoint

Endpoint che determina la direzione del trasferimento.

buffer
Byte[]

Buffer per i dati da inviare o ricevere, a partire dall'indice zero. Se null, length deve essere zero.

length
Int32

Numero di byte da inviare o ricevere. Deve essere non negativo e non maggiore della lunghezza del buffer. Vedere le osservazioni per il limite di compatibilità di 16384 byte.

timeout
Int32

Timeout del trasferimento in millisecondi; zero attese illimitate.

Valori restituiti

Attività il cui risultato è il numero di byte trasferiti, incluso zero, in caso di esito positivo o un valore negativo in caso di errore.

Commenti

Questo metodo .NET usa Run<TResult>(Func<TResult>) per chiamare BulkTransfer(UsbEndpoint, Byte[], Int32, Int32). Mantenere aperta la connessione e non leggere o modificare il buffer fino al completamento dell'attività.

Prima di Android 9 (livello API 28), le lunghezze di trasferimento maggiori di 16384 byte vengono ridotte a 16384. In Android 9 e versioni successive questo limite si applica ancora alle applicazioni destinate a un livello API inferiore a 28. I limiti del buffer vengono controllati prima di questa riduzione.

Origini di implementazione: .NET generatore di wrapper attività e implementazione della connessione USB Android.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

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

Esegue un trasferimento bulk dall'offset del buffer specificato in un'attività.

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>

Parametri

endpoint
UsbEndpoint

Endpoint che determina la direzione del trasferimento.

buffer
Byte[]

Buffer per i dati da inviare o ricevere. Se nulle offsetlength devono essere entrambi zero.

offset
Int32

Indice non negativo del primo byte da inviare o ricevere in buffer.

length
Int32

Numero di byte da inviare o ricevere. Deve essere non negativo e l'intervallo a partire offset da deve rientrare nel buffer. Vedere le osservazioni per il limite di compatibilità di 16384 byte.

timeout
Int32

Timeout del trasferimento in millisecondi; zero attese illimitate.

Valori restituiti

Attività il cui risultato è il numero di byte trasferiti, incluso zero, in caso di esito positivo o un valore negativo in caso di errore.

Commenti

Questo metodo .NET usa Run<TResult>(Func<TResult>) per chiamare BulkTransfer(UsbEndpoint, Byte[], Int32, Int32, Int32). Mantenere aperta la connessione e non leggere o modificare il buffer fino al completamento dell'attività.

Prima di Android 9 (livello API 28), le lunghezze di trasferimento maggiori di 16384 byte vengono ridotte a 16384. In Android 9 e versioni successive questo limite si applica ancora alle applicazioni destinate a un livello API inferiore a 28. I limiti del buffer vengono controllati prima di questa riduzione.

Origini di implementazione: .NET generatore di wrapper attività e implementazione della connessione USB Android.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a