ReadFile and RS232
От: XeonVS Россия  
Дата: 07.05.04 11:05
Оценка:
Ситуация следующая, под win2k имеем стабильный вис на ReadFile в таком коде:
DWORD CRS232Port::Read(void* pData, DWORD dwCount) const
{
    ASSERT(IsOpen());
        DWORD ret = 0;
    DWORD dwBytesRead = 0;
    ReadFile(m_hPort, pData, dwCount, &dwBytesRead, NULL);
      return dwBytesRead;
}

исспользуется это примерно так:
 ...some looop...
 DWORD dwRead = Read(static_cast<BYTE*>(pData) + n, sizeof(BYTE));
 ...end loop....


Происходит это тогда когда к порту ничего не подключено. В win2k3 при этом все нормально читается(в 9 раз из 10) и возвращается пустой буффер. Я уже незнаю чего и думать, не в отдельный же поток это вставлять.
Извечный вопрос, кто виноват и что делать.
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.