Board.KolibriOS.org
http://board.kolibrios.org/

Как в драйвере работать с файлами?
http://board.kolibrios.org/viewtopic.php?f=3&t=2496
Страница 1 из 1

Автор:  CoreX [ Вс ноя 17, 2013 12:13 pm ]
Заголовок сообщения:  Как в драйвере работать с файлами?

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

Автор:  0CodErr [ Вс ноя 17, 2013 12:23 pm ]
Заголовок сообщения:  Re: Как в драйвере работать с файлами?

CoreX, а почему бы не использовать специально предназначенную для этого функцию?
Функция 68 > Подфункция 19 - загрузить DLL

Автор:  CoreX [ Вс ноя 17, 2013 12:36 pm ]
Заголовок сообщения:  Re: Как в драйвере работать с файлами?

Я хотел бы чтобы драйвер сам связывал таблицу экспорта библиотеки и импорта приложения, ну возможно еще какие-либо действия свои производил.

Автор:  CleverMouse [ Вт ноя 19, 2013 8:29 pm ]
Заголовок сообщения:  Re: Как в драйвере работать с файлами?

int 0x40 для драйверов тоже работает.

Автор:  CoreX [ Ср ноя 20, 2013 4:30 pm ]
Заголовок сообщения:  Re: Как в драйвере работать с файлами?

А разве прерывания возможны в обработчике 0x40 прерывания?
---
Я так понял, что после обработки прерывания, управление вернется драйверу? Надо включать прерывания (sti) для вызова int 0x40?

Автор:  CleverMouse [ Ср ноя 20, 2013 4:36 pm ]
Заголовок сообщения:  Re: Как в драйвере работать с файлами?

Да. Да. Нет.

Автор:  Asper [ Пн ноя 25, 2013 9:47 pm ]
Заголовок сообщения:  Re: Как в драйвере работать с файлами?

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

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

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/