2.1. приходит первый байт
2.2. для порта выставляется событие EV_RXCHAR.
2.3. WaitCommEvent счищает EV_RXCHAR во внутреннем состоянии порта и возвращает управление
2.4. приходит второй байт
2.5. для порта выставляется EV_RXCHAR.
_>3. Срабатывает ТОЧКА ОСТАНОВА. _>4. Проверяем событие — dwEvtMask == EV_RXCHAR. _>5. Читаем данные — dwLength == 6.
_>6. Запускаем WaitEvent — сразуже получаем EV_RXCHAR (проверяем, действительно сработало событие oWait.hEvent).
...потому что EV_RXCHAR во внутреннем состоянии порта уже установлен при приходе второго байта
_>7. Читаем данные — dwLength == 0. _>8. Запускаем WaitEvent — уходит на ожидание EV_RXCHAR (при повторной посылки всё повторяется).