Здравствуйте Alex Smirnov, Вы писали:
AS> AS> !!! Перед закрытием СОМа надобно его clear-ить (очищать ошибки!!!) что то AS> типа этого: AS> SetCommMask(m_hPort, 0); AS> while(m_dwReadThreadID != 0) Sleep(10); // поток чтения порта AS> m_hReadThread = 0; AS> EscapeCommFunction(m_hPort, CLRDTR); AS> PurgeComm(m_hPort, PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); AS> CloseHandle(m_hPort); m_hPort = 0;
Что-то ты путаешь. Если закрыть порт то ВСЕ данные (включая ошибки) будут подчищены драйвером. После этого железяка не будет ничего принимать и отправлять. Так что закрывать порт можно смело, но после закрытия нельзя обращаться к его хэндлу.