Архитектура: эмуляция USB-устройства (UDE)
В разделе описывается архитектура эмуляции USB-устройства (UDE), которая эмулирует поведение хост-контроллера USB и подключенного устройства. С помощью UDE аппаратное обеспечение, отличное от USB, может взаимодействовать с верхними уровнями с помощью usb-драйверов на стороне узла в Windows.
Драйверы UDE
На предыдущем рисунке:
- Драйвер концентратора USB (Usbhub3.sys) — это драйвер KMDF. Драйвер концентратора отвечает за управление USB-концентраторами и их портами, перечисление и создание объектов физических устройств (PDO) USB-устройств и других концентраторов, которые могут быть подключены к подчиненным портам.
- Расширение ХОСТ-контроллера USB (Ucx01000.sys) — это уровень абстракции для драйвера концентратора выше в стеке и предоставляет универсальный механизм для очередей запросов к базовому драйверу хост-контроллера.
- Расширение класса UDE (UdeCx) вызывает драйвер клиента UDE с помощью функций обратного вызова, реализованных клиентом. Расширение класса предоставляет подпрограммы для драйвера клиента для создания объектов UDE и управления ими.
- Драйвер клиента UDE управляет оборудованием, взаимодействуя с API WDF и UDE. Верхний край взаимодействует с WDF и расширением класса UDE с помощью конструкций USB. Его нижняя граница взаимодействует с оборудованием с помощью интерфейса оборудования.
- Пользовательское оборудование. Например, оборудование PCI можно эмулировать для работы в качестве USB-устройства.
Узлы устройств UDE
Ниже приведены стеки устройств, загруженные для драйвера клиента UDE:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по