Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Прямой доступ к портам |
Автор: webgraf 18.10.2007, 17:34 |
Второй день ищу пример работы с портами в WinXP. Понимаю что скорее всего нужно писать драйвер, т.к. эта штука доступна только в нулевом кольце. Ни у кого нет примера или может готового драйвера? Нашел вот такую вот штуку http://kazus.ru/programs/download/4838/ , но что то у меня она не работает. Вообще нужно кидать в порты i8042 (клавиатура ps/2) сканкоды нажатых клавиш. Нужно именно так... |
Автор: ksili 19.10.2007, 04:27 |
Уже давно сделан драйвер GiveIO.sys, который именно это и делает - открывает прямой доступ к портам в WinXP. Программа просто должна обратиться к нему в начале работы (CreateFile), после этого его можно сразу закрывать (CloseHandle). Дело в том, что штука эта доступна не только в нулевом кольце. Для программ с CPL не равным нулю, просто выполняется вторая проверка: открытость конкретного порта в таблице разрешений ввода-вывода (IOPM). Драйвер GiveIO как раз и делает только, что зануляет все биты в IOPM, открывая таким образом доступ к всем портам для данного процесса. |
Автор: webgraf 19.10.2007, 12:03 |
Спасибо! Все работает! Вот здесь можно посмотреть как: http://www.pcports.ru/articles/3.php |