Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чтение сектора и ошибка KRNL386.EXE

2.2K
17 марта 2003 года
Tsahes
14 / / 17.03.2003
Здравствуйте!

Мне необходимо считать MBR диска, boot сектор раздела и т.п. При использовании функций bios чтения сектора (INT 13h, AH = 02h и INT 13h, AH = 42h) выскакивает ошибка KRNL386.EXE
Подскажите, почему возникает ошибка? И существуют ли в Builder'е другие средства посекторного чтения?

Спасибо !
2.2K
18 марта 2003 года
Tsahes
14 / / 17.03.2003
Нашел вот здесь
http://win32.wp-club.net/arxiv/f3t409.html
"нельзя использовать прерывания"
Спасибо, тема закрыта.
384
26 марта 2003 года
mikeshilkin
95 / / 20.04.2000
Цитата:
Originally posted by Tsahes
Здравствуйте!

Мне необходимо считать MBR диска, boot сектор раздела и т.п. При использовании функций bios чтения сектора (INT 13h, AH = 02h и INT 13h, AH = 42h) выскакивает ошибка KRNL386.EXE
Подскажите, почему возникает ошибка? И существуют ли в Builder'е другие средства посекторного чтения?

Спасибо !



Да нет прерываение ты использовать можешь, но винду надо сначала перевести в реальный режим (ГЕМОРНО) а потом использовать прерывание.

Выход!
посмотри функцию в MSDN - - DeviceIoControl

2.2K
26 марта 2003 года
Tsahes
14 / / 17.03.2003
Цитата:
Originally posted by mikeshilkin


Да нет прерываение ты использовать можешь, но винду надо сначала перевести в реальный режим (ГЕМОРНО) а потом использовать прерывание.

Выход!
посмотри функцию в MSDN - - DeviceIoControl



Интересно позволит ли WinNT/2000/XP использовать переход в реальный режим? Или это значения не имеет?
Собственно, DeviceIoControl оказался пригодным для чтения только в Win9x, используется VWIN32.VXD для работы с некоторыми прерываниями (Using VWIN32 to Carry Out MS-DOS Functions - MSDN).
А вот в WinNT/2000/XP VWIN32 уже нет, зато имеется возможность создать хендл на устройство "\\.\PhysicalDriveN".
Создаем, используем его в ReadFile() и - вот она :D - таблица разделов жесткого диска.

384
27 марта 2003 года
mikeshilkin
95 / / 20.04.2000
Цитата:
Originally posted by Tsahes


Собственно, DeviceIoControl оказался пригодным для чтения только в Win9x, используется VWIN32.VXD для работы с некоторыми прерываниями (Using VWIN32 to Carry Out MS-DOS Functions - MSDN).
А вот в WinNT/2000/XP VWIN32 уже нет, зато имеется возможность создать хендл на устройство "\\.\PhysicalDriveN".
Создаем, используем его в ReadFile() и - вот она :D - таблица разделов жесткого диска.



Если нужны исходники сбрось мне на мыло запрос.
[email]mikeshilkin@nc.ru[/email]

7.7K
19 мая 2004 года
Rome
1 / / 19.05.2004
Цитата:
Originally posted by mikeshilkin


Если нужны исходники сбрось мне на мыло запрос.
[email]mikeshilkin@nc.ru[/email]



Здравствуйте! DeviceIOControl - это хорошо, чтобы узнать геометрию диска и т.п. А как с ее помощью прочитать такой-то сектор?

2.2K
20 мая 2004 года
Tsahes
14 / / 17.03.2003
Цитата:
Originally posted by Rome


Здравствуйте! DeviceIOControl - это хорошо, чтобы узнать геометрию диска и т.п. А как с ее помощью прочитать такой-то сектор?



Испрользование DeviceIOControl для вас является обязательным? Вы могли бы воспользоваться функцией ReadFile.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог