Win98 и WinNT(2000, XP) имат различно виждане по въпроса кой може да пипа директно по входно-изходните адреси. Този механизъм за защита е описан в книжките за 80386 и нагоре. Ако си писал софт за Win98, който ползва OUT или IN, независимо дали е байт, дума или двойна дума, непосредствено или през DX - няма да те пусне. Същият ефект правят и командите CLI и STI, и много други. За да имаш достъп, трябва да си в ниво на приоритет "0" - WinNT дава такъв само на драйверите на виртуалната машина. Всички други са в ниво "1", но също имат право да ползват определени адреси - за всеки драйвер различни. Всички приложения ( Application ), в т.ч. .EXE са с ниво "3" и са с отрязан достъп. Изключение е CMD.EXE, което има разрешание да пипа по почти всички адреси, НО: WIN прави мониторинг и след затваряне на CMD ВЪЗСТАНОВЯВА старите стойности на региастрите по портовете.
Това беше малко лирично отклонение. Чувал съм, че има драйвери, които ти позволяват да имаш достъп до дадени адреси, но никога не съм ги ползвал. Питай друг.
Това за приоритетите може да не е точно така.
