Я пишу утилиту для Windows, которая связывается с USB-устройством.Драйвер является специальным драйвером, поставляемым Analog Devices (производителем чипа контроллера, используемого в устройстве).
Я адаптировал одно из их примеров приложений Windows для связи с устройством.Связь осуществляется через именованные каналы и может быть синхронной или асинхронной.Проблема, которую я обнаружил во время тестирования, заключается в том, что вызовы API-функции WriteFile могут иногда не возвращаться, если устройство выключено во время записи (устройство имеет жесткий выключатель питания).То же самое наблюдается при использовании асинхронных или синхронизирующих вызовов - я не вижу времени ожидания при использовании aysnc.
После того, как это произошло, мне нужно перезапустить приложение, так как поток, связанный с USB-связью, завис.
Есть ли способ предотвратить возврат файла WriteFile в этом случае?
Спасибо, Том Дэвис.