Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт сен 21, 2017 4:39 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 7 сообщений ] 
Автор Сообщение
СообщениеДобавлено: Вс ноя 17, 2013 12:13 pm 
Не в сети

Зарегистрирован: Вс ноя 17, 2013 11:44 am
Сообщения: 3
Есть драйвер перехватывающий и обрабатывающий неиспользуемую функцию (eax=0xF0) из прерывания 0x40.
Есть приложение которое вызывает эту функцию (далее, драйвер должен загрузить файл в память этого процесса).
---
Нужно в обработчике прерывания прочитать файл и скопировать буфер в память приложения. Должно получится что-то вроде динамической библиотеки.
---
Какие способы позволяют такое реализовать?


Вернуться к началу
СообщениеДобавлено: Вс ноя 17, 2013 12:23 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1009
CoreX, а почему бы не использовать специально предназначенную для этого функцию?
Функция 68 > Подфункция 19 - загрузить DLL


Вернуться к началу
СообщениеДобавлено: Вс ноя 17, 2013 12:36 pm 
Не в сети

Зарегистрирован: Вс ноя 17, 2013 11:44 am
Сообщения: 3
Я хотел бы чтобы драйвер сам связывал таблицу экспорта библиотеки и импорта приложения, ну возможно еще какие-либо действия свои производил.


Вернуться к началу
СообщениеДобавлено: Вт ноя 19, 2013 8:29 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
int 0x40 для драйверов тоже работает.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Ср ноя 20, 2013 4:30 pm 
Не в сети

Зарегистрирован: Вс ноя 17, 2013 11:44 am
Сообщения: 3
А разве прерывания возможны в обработчике 0x40 прерывания?
---
Я так понял, что после обработки прерывания, управление вернется драйверу? Надо включать прерывания (sti) для вызова int 0x40?


Вернуться к началу
СообщениеДобавлено: Ср ноя 20, 2013 4:36 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Да. Да. Нет.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Пн ноя 25, 2013 9:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт июн 27, 2008 3:22 pm
Сообщения: 974
diamond in PM писал(а):
При программировании драйверов лучше не использовать int 0x40 - это API для прикладных программ. Для драйверов есть отдельные API, функции, экспортируемые ядром (объявленные в imports.inc).

Если нет соответствующих функций, можно их эспортировать.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 7 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB