Цитата(prottoss @ Feb 10 2017, 20:16)

Всем доброго времени суток.
Я тоже сталкивался с проблемой, когда терминальная программа (для СОМ-портов), при внезапном отключении устройства теряла порт и при повторном подключении его не находила.
Вот в этом и стоит вопрос, что программе терминалу нужно по большей части только читать из порта, а ReadFile не завершается с ошибкой, если устройство отключить.
Программа просто продолжает читать из порта ноль байт. Не получается отследить момент когда устройство отсоединено.
И если не успеть закрыть порт, до того как устройство вставили повторно, получим Error = 2 при вызове CreateFile.
К ошибке приводит только запись с отличным от нуля количеством байт. Такое поведение характерно только для usbser.sys.
Цитата(hd44780 @ Feb 11 2017, 21:47)

И драйвера CDC тут ни при чём. У меня HID device, соответственно никаких ST-шных дров нет вообще, а симптомы те же. Отключаемый pull-up должен помочь. Правда руки до этого у меня ещё не дошли

. На него винда всегда корректно реагирует.
Как раз драйвер CDC очень даже причем. ST драйвера никогда не писала, их драйвер для CDC это только цифровая подпись для stmcdc.inf,
чтоб с их VID PID установить usbser.sys который уже имеется в Windows. Для HID устанавливается функциональный драйвер по классу устройств,
и для его привязки не важен VID PID.