Я изучаю параметры, доступные для создания виртуального устройства USB (скажем, клавиатуры или запоминающего устройства большой емкости), поэтому для эмуляции его функций по мере необходимости и, чтобы приложение в пользовательском пространстве могло эмулировать его вставку/удаление по желанию.Виртуальное устройство USB для Windows?
Что я не понимаю, так это как сделать эмуляцию вставки/удаления. Похоже, что один из вариантов заключается в эмуляции (виртуального) USB-концентратора и подделке событий прихода/вылета устройства (и я также поставлю драйвер устройства для своего виртуального USB-устройства, и именно там будет находиться моя логика устройства).
Я знаю свой путь вокруг ядра Windows (написав драйвер мини-порта NDIS), не боясь SoftICE, но USB не является моим доменом, только начинающим с него.
Я нахожусь на правильном пути с помощью подхода виртуального хаба? Если это так, разрабатывает драйверы виртуального хаба, поддерживаемые WDK (похоже, это не так)?
Любые другие варианты?
-
(Edit) Забыл упомянуть - Я знаю DSF, но это not supported на W8.
Вы посмотрели проект USBIP (ons sourceforge)? Их реализация USB over IP делает именно это, и они обеспечивают очень стабильные драйверы Windows! В конце концов вы можете написать сервер USB/IP в качестве более простой (и сетевой прозрачной в качестве бонуса) альтернативы. –
Duh! Я знаю о проекте, но я понятия не имею, почему я не смотрел, как они эмулируют вставку/удаление устройства. Очень полезно, Юджин. Большое спасибо. – Angstrom
Angstrom, я мог бы забыть себя, если бы я не просто обманывал его совсем недавно: два USB-устройства, оба с использованием одного и того же чипа, но разные VID/PID - один поставщик, не предоставляющий драйверов для более новых версий Windows, другой делает, но жестко заблокирован для VID/PID ... тривиально патч USBIP для изменения VID/PID на лету, проблема решена. –