2011-08-25 14 views
5

Esiste una documentazione ufficiale che descrive la lunghezza massima del descrittore di stringhe che rappresenta il Produttore (o Nome prodotto, Nome modello, Nome dispositivo, Etichetta o Numero di serie) di un dispositivo USB?Quanto dura la stringa del produttore di un dispositivo USB?

+0

Forse questo potrebbe aiutare: http://www.beyondlogic.org/usbnutshell/usb5.shtml#DeviceDescriptors – Quasdunk

+0

So dei descrittori USB, ma quando chiamo usb_get_string_simple() da libusb, per esempio, ottiene la stringa (iProduct, iSerialNumber, ecc ...) e restituisce la dimensione di lettura. Ma non c'è una dimensione massima che può leggere. – Gianfranco

+0

Non ho trovato alcuna documentazione sulla lunghezza massima, ma poiché utilizzo la libreria libmtp-1.1.0, ho trovato PTP_MAXSTRLEN = 255. – Gianfranco

risposta

14

Qualsiasi descrittore USB è limitato a 255 byte poiché il campo bLength iniziale è largo un byte. Il secondo byte è preso da bDescriptorType. Poiché tutti * utilizza la codifica stringa UTF-16-LE, che lascia un massimo di 126 caratteri.

*) In carica dal USB 2.0 Unicode ECN nel 2005 http://en.wikipedia.org/wiki/USB

+0

Grazie per aver pensato al limite di 256 byte; mi hai appena salvato un sacco di lavoro –

Problemi correlati