Есть готовая прога на C++ под Windows, которая юзает порты 0x378, 0x379 и 0x37A. Чтобы прога работала в Win2k/XP нужно использовать userport.sys, giveio.sys, porttalk и т.п. Как переписать функции OUT и IN так, чтобы вместо них вызывались Write/ReadFile()? Я что-то не понимаю: ведь когда открываю порт через CreateFile() а потом пишу байт через WriteFile() он же пишется в порт данных - 0x378. А как же записать в 0x379? Или я всё не так понял? ЗЫ: поиском пользовался. ЗЗЫ: нужно переписать юзая стандартные средства Windows. userport.sys, giveio.sys, porttalk не предлагать
Посмотри топик Привелегии уровня ядра, возможно ниче переписывать не прийдется, только доступ к портам дать
bogrus Я в курсе, что так можно. Даже исходники UserPort.sys с примером изучил. Только мне хочется сделать всё "правильо" Просто на некоторых ноутах адрес LPT не 0x378, на некоторых компах вообще нет LPT и я юзаю переходник COM->LPT. Поэтому тут в принципе плохо писать в порты, это мне чем-то DOS напоминает со старым подходом прямой работы с железом. Не зря же HAL придумали... Народ, помогите! уже месяц парюсь над этой проблемой