Строка
Дескрипторы строк являются необязательными. Как отмечено ранее, если устройство не поддерживает строковые дескрипторы, все ссылки к строковым дескрипторам внутри устройства, конфигурация, и дескрипторах интерфейса должна быть сброшены в нуль.
Строковые дескрипторы используют кодирование UNICODE как определено в Стандарте Unicode, Международного Кодирования Символов, Версия 1.0, Тома 1 и 2, The Unicode Consortium, Addison-Wesley Publishing Company, Reading, Штат Массачусетс. Строки в устройстве USB могут поддерживать множество языков. При запросе строкового дескриптора, запросчик определяет требуемый язык, используя шестнадцатиразрядный языковой ID (LANGID) определенный Microsoft для Windows как описано в Разработка Международного Программного обеспечения для Windows 95 и Windows NT, Nadine Kano, Microsoft Press, Redmond, Вашингтон. Строковый индекс 0 для всех языков возвращает массив двух байтных кодов LANGID поддерживаемых устройством.(String index 0 for all languages returns an array of two-byte LANGID codes supported by the device.) Устройство USB может опускать все дескрипторы строк.
Дескриптор строки UNICODE - не завершается NULL. Длина строки вычисляется вычитая два из значения первого байта дескриптора.
Смещение | Поле | Размер | Значение | Описание
| |||||
0 | bLength | 1 | Число | Размер этого дескриптора в байтах | |||||
1 | bDescriptorType | 1 | Константа | Тип дескриптора STRING | |||||
2 | bString | N | Число | Строка в формате UNICODE |