Хочу вернуться к старому вопросу, полноценного ответа на который до сих пор нет.
Есть DOS-программа работающыя с COM-портом, ее нужно заставить работать под Windows 2000.
Использование виртуальной машины не приемлемо - программа получает исходные данные и отправляет результат в Windows.
После множества экспериментов могу утверждать следуещее:
1. В статье
http://support.microsoft.com/kb/314106 утверждается что такие программы работать не будут - или утверждение не верно, или обращение к COM-порту не является "неограниченным доступом".
2. Программа практически без проблем работает под Windows NT (на уровне: один отказ на сто запусков).
3. Программа с огромными проблемами, но работает под Windows 2000 на стационарной машине (один удачный запуск из 10).
4. Программа чуть лучше работает на ноутбуке с PCMCIA-COM-портом (один удачный запуск из 3-5).
5. Из под Norton Commander (то есть если DOS окно не закрывать между запусками программы), после удачного запуска все последующие тоже удачные.
6. На ноутбуке есть еще одна DOS-программа, она тоже работает через COM-порт, работает стабильно.
7. Все попытки сравнения настроек NT и 2000 ни к чему не привели, все одинаково, по крайней мере в
autoexec.nt, config.nt, HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment, HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\VirtualDeviceDrivers.
8. Проблема не в железе: NT и 2000 - два разных винта, включаемых поочередно, на одной машине.
Складывается впечатление, что истина где-то рядом, но где?