USB的字符串描述
以下是協(xié)議中的內(nèi)容
9.6.7 String
String descriptors are optional. As noted previously, if a device does not support string descriptors, all references to string descriptors withindevice, configuration, and interfacedescriptors must be reset to zero.
String descriptors use UNICODE encodings as defined by The Unicode Standard, Worldwide Character
Encoding, Version 3.0, The Unicode Consortium, Addison-Wesley Publishing Company, Reading,
Massachusetts (URL: http://www.unicode.com). The strings in a USB device may support multiple
languages. When requesting a string descriptor, the requester specifies the desired language using a sixteenbit language ID (LANGID) defined by the USB-IF. The list of currently defined USB LANGIDs can be found at http://www.usb.org/developers/docs.html. String index zero for all languages returns a string descriptor that contains an array of two-byte LANGID codes supported by the device. Table 9-15 shows the LANGID code array. A USB device may omit all string descriptors. USB devices that omit all string descriptors must not return an array of LANGID codes.
The array of LANGID codes is not NULL-terminated. The size of the array (in bytes) is computed by
subtracting two from the value of the first byte of the descriptor.
The UNICODE string descriptor (shown in Table 9-16) is not NULL-terminated. The string length is
computed by subtracting two from the value of the first byte of the descriptor
現(xiàn)拿一個例子說說
這是一個設(shè)備的描述表,第14,15,16個字節(jié)(0x04,0x0e,0x30)分別是三個字符串的索引號,
在設(shè)備的字符串描述中是這樣定義的.在這個表中,第0x04,0x14,0x30起始的地方就是相應(yīng)的Manufacturer,Product,SerialNumber的字符串.
評論