|
использовать функцию
::ClearCommError(hCom_, &dwErr, &comState_);
возвращает кол-во байт в буфере:size_t wait_rx (size_t nSize, DWORD dwTimeout)
{
DWORD dwErr;
DWORD startTime= ::GetTickCount();
do {
comState_.cbInQue = 0;
::ClearCommError(hCom_, &dwErr, &comState_);
if (comState_.cbInQue >= nSize) break;
::Sleep(1);
} while ((::GetTickCount() - startTime) < dwTimeout);
return(comState_.cbInQue);
}
E-mail: info@telesys.ru