Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, Alex74, Вы писали:
A>>при включении прибора, "одновременно" добавляются три COM порта COM3, COM6 и COM12.
ЕМ>Это безусловно означает, что кривые или USB-контроллер прибора, или USB-контроллер компьютера, или винда. На этом фоне вряд ли имеет смысл разбираться дальше с WM_DEVICECHANGE — нужно сперва привести аппаратуру и/или систему в исправное состояние.
ЕМ>P.S. Пардон, неправильно процитировал. Надо было цитировать вот это: "Если прибор уже включен и выдергивать кабель от каждого USB, то детектирование подключения и отключения происходит без ошибок".
1. прибор — каждый usb-контроллер работает независимо, можно включать отключать. независимо от других.
2. компьютер — стандартный и современный на процессоре Intel
3. Windows-10 со всеми последними обновлениями.
по отдельности устройства (до двух подключенных одновременно) из прибора работают уже несколько месяцев и ни каких нареканий не было. Все стабильно (от отслеживания программой подключения и отключения до обмена данными)
Еще раз повторюсь... подключение каждого (любого из устройств) по очереди в любом порядке (путем подсоединения кабели или подачи на устройство питания) отслеживается правильно. с отключением — так-же.
Проблема возникает именно когда при подаче питания, подключаются одновременно все устройства. и соответственно, когда питание снимается и все три устройства одновременно отключаются.
В DeviсеManager все порты отображаются сразу. а в программе — пропускаются.
Так что, еще раз повторюсь, вижу проблему именно в пропуске сообщений.
Даже если устройство не "отметилось" в моем WinProc, я могу спокойно к нему подключиться и работать.
И хочется понять, пропуск сообщений — это НОРМАЛЬНО? Если это так — буду отслеживать подключение и отключение другими методами...