Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
DWORD CComPort::ReadBlock(LPBYTE lpBuffer,DWORD nMax)
{
BOOL fReadStat ;
COMSTAT ComStat ;
DWORD dwErrorFlags;
DWORD dwLength;
if(!m_bOpened) return (DWORD)-1; // we are not connected
// get number of bytes in queue
if (ClearCommError( m_hCommPort, &dwErrorFlags, &ComStat )) {
dwLength = min( (DWORD) nMax, ComStat.cbInQue ) ;
}
else {
dwLength=0;
}
if(dwLength > 0) {
fReadStat = ReadFile(m_hCommPort,lpBuffer,dwLength,&dwLength,NULL);
if(!fReadStat) {
dwLength = 0;
ClearCommError(m_hCommPort,&dwErrorFlags,&ComStat) ;
}
}
return dwLength;
}
Составить ответ | Вернуться на конференцию
Ответы