Не работает устройство после выхода из режима сна под Win7
От: mcka  
Дата: 10.11.09 22:05
Оценка:
Не работает устройство после выхода из режима сна (hibernat) под Windows 7.

Есть устройство с виртуальным com port на ftdi. Есть служба, которая открывает виртуальный порт и принимает данные с устройства.
Проблема в том, что после выхода из режима сна с порта перестают читаться данные, причем ReadFile выполняется без ошибки и Handlе порта корректный. Это наблюдается только под Windows 7, под XP все работает. Если закрыть потом открыть порт, то все восстанавливается.

Есть подозрение, что это драйвер FTDI (http://www.ftdichip.com/Drivers/VCP.htm) тем более официально они не объявили о поддержке Win7.

Знаю, что можно отловить событие WM_POWERBROARCAST, затем закрыть/открыть порт и все восстанавливается.
Но этот способ для меня не подходит, т.к. у меня служба и там нет окон (которые могли бы получить событие) и соответственно цикла GetMessage(), а ради этого вставлять как-то не красиво.

Кто сталкивался с этой проблемой? Какие есть мнения по этой проблеме?
режима сна hibernat windows 7 ftdi com
Re: Не работает устройство после выхода из режима сна под Wi
От: Геннадий Майко США  
Дата: 11.11.09 09:41
Оценка:
Здравствуйте, mcka,

M>Знаю, что можно отловить событие WM_POWERBROARCAST, затем закрыть/открыть порт и все восстанавливается.

M>Но этот способ для меня не подходит, т.к. у меня служба и там нет окон (которые могли бы получить событие) и соответственно цикла GetMessage(), а ради этого вставлять как-то не красиво.
--
Может быть, воспользоваться SERVICE_CONTROL_POWEREVENT?

C уважением,
Геннадий Майко.
Re[2]: Не работает устройство после выхода из режима сна под
От: mcka  
Дата: 11.11.09 20:17
Оценка:
Здравствуйте, Геннадий Майко, Вы писали:

ГМ>Может быть, воспользоваться SERVICE_CONTROL_POWEREVENT?

+ SERVICE_ACCEPT_POWEREVENT и RegisterServiceCtrlHandlerEx
Спастибо, работает!

C уважением,
Андрей aka mcka.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.