Спецификация USB.Rev1.0

       

Получение Дескриптора


Этот запрос возвращает определенный дескриптор, если дескриптор существует.

bmRequestType

bRequest

wValue

wIndex

wLength



Данные

10000000B

GET_DESCRIPTOR

Тип Дескриптора и Индекс Дескриптора

Нуль или Языковой ID (обратитесь к Разделу  9.6.5)

Длина Дескриптора

Дескриптор

Поле wValue определяет, что тип дескриптора находится в старшем байте и индекс дескриптора в младшем байте (обратитесь к Таблице 9-4).  Поле wIndex

определяет Языковой ID для дескрипторов строк или сброшен в нуль для других дескрипторов. Поле wLength определяет число возвращаемых байтов. Если дескриптор больше чем поле wLength, возвращаются только начальные байты дескриптора. Если дескриптор короче чем wLength поле, устройство указывает конец передачи управления,  посылая короткий пакет, когда дальнейшие данные запрошены.  Короткий пакет определен как пакет который короче чем максимальный размер полезной нагрузки или пакет данных NULL (обратитесь к Главе 5 ).

Стандартный запрос к устройству поддерживает три типа дескрипторов:  Device, Configuration, и String. Запрос о конфигурации дескриптора возвращает в одном запросе дескриптор конфигурации, все дескрипторы интерфейса, и дескрипторы конечной точки для всех интерфейсов. Первый дескриптор интерфейса немедленно следует за дескриптором конфигурации. Дескрипторы конечной точки для первого интерфейса следуют за первым дескриптором интерфейса. Если имеются дополнительные интерфейсы, их дескриптор интерфейса, и дескрипторы конечной точки следуют за дескрипторами конечной точки первого интерфейса.

Во всех устройствах должен быть предусмотрен дескриптор устройства и по крайней мере один дескриптор конфигурации. Если устройство не поддерживает запрошенный дескриптор, оно отвечает,  останавливая канал, используемый для запроса. Ненулевое значение первого байта дескриптора указывает, что буфер содержит допустимый дескриптор.



Содержание раздела