В чем проблем:
Данные полученные под Win9x соответствуют данным посланным прибором, а под W2k приходят какие то левые данные.
Я уже все перепробовал, думал несоответсвие типов — исправлял — непомогло, думал настройки — сто раз перепроверил — все правильно.
Может проблема именно в том что в W2k както по другому устроен буфер приема/переачи ???
Подскажите.
Начни с того, что _ручками_ заполни _все_ поля DCB, и посмотри правильно ли отработала SetCommState. Далее, распространенная ошибка — если используешь OVERLAPPED, то не нужно использовать эту структуру для вызова функции, пока не получен окончательный (асинхронный) результат предыдущего вызова. А вообще я много раз сталкивался с RS-232 и каждый раз узнаю новую фичу :)