Общие Определения Данных
Для того, чтобы позволить клиенту получить запрос результатов, настолько это возможно, непосредственно от устройства, желательно минимизировать количество требуемых обработок и копирования между устройством и клиентом. Чтобы облегчить это, некоторые виды управления IRP стандартизированы так, что информация, предоставляемая клиентом может непосредственно использоваться различными уровнями в стеке. Специфический формат для этих данных зависит от реализации USBDI в операционной системе. Некоторые элементы данных непосредственно в принципе не могут быть видны клиентом, но генерируются в результате запроса клиента.
Следующие элементы данных определяют информацию относящуюся к запросу:
- Идентификация канала, связанного с запросом. Идентификация этого канала также описывает информацию такую как тип передачи для этого запроса.
- Идентификация уведомления для специфического клиента.(Notification identification for the particular client.)
- Расположение и длина буфера данных, который должен быть передан или получен.(Location and length of data buffer which is to be transmitted or received.)
- Состояние завершения при запросе. Должны предоставляться и итоговое состояние, и то которое требовалось, детализированное состояние за транзакцию.(Both the summary status, and, as required, detailed per-transaction status must be provided.)
- Расположение и длина рабочей области. Она зависит от реализации.
Фактические механизмы, используемые при передачи запросов к USBD зависят от операционная системы. Однако, кроме требований установленных выше, для связанной с запросом информации, которая должна быть доступна, имеются также требования к обработки запросов. Базисные требования описаны в Главе 5. Дополнительно, USBD предоставляет механизмы, для выделения группы изохронных IRPs, для которой передача первой транзакции каждого IRP будет происходить в том же самом кадре. USBD также предоставляет механизм для выделения непрерываемого набора запросов определенных продавцом или классом к создаваемому по умолчанию каналу. Никакие другие запросы к этому создаваемому по умолчанию каналу, включая такие запросы как стандартные, класса, или продавца не могут быть вставлены в выполняемый поток для такого непрерываемого набора. Если любой запрос в этом наборе со сбоем, удаляется весь набор.