Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Noin
0 / 0 / 0
Регистрация: 31.12.2009
Сообщений: 22
#1

Чтение секторов жёсткого в DOS - C++

29.08.2011, 17:27. Просмотров 814. Ответов 5
Метки нет (Все метки)

Добрый вечер!
Проблема заключается именно в том, что программа должна работать под DOS, и ей не важно что есть на диске и какая там операционная система, необходимо просто прочитать сектора. Много нашёл про то как прочитать под Win32 - там в принципи ясно, но как реализовать под досом и на языке высокого уровня? если такая тема уже была прошу ссылк, т.к. сам не нашёл...

из того что нарыл - непосредственный опрос портов на ассемблере (с 0x1f0 до 0x1f7), я надеюсь есть что-то подобное я Си, м.б. какие функции, и вообще куда собственно копать?

P.S. Спасибо...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2011, 17:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение секторов жёсткого в DOS (C++):

Модель и серийник жёсткого диска (WMI) - C++ Builder
Всем привет. Помогите пожалуйста . Нужно "как-то" получить модель и серийник(но он не обязателен) харда. Как я понял единственный способ...

Разбить изображения на 20 ровных сектора и подсчитать количество черных пикселов в каждом из найденых секторов - C++ Builder
Здравствуйте. Задача заключается в следующем. Нужно разбить изображение на 20 равных частей (на картинках показано как нужно разбить). В...

С++ чтение секторов диска - Visual C++
как по очереди прочитать все сектора на диске? по идее должна использоваться функция ReadFile(hDevice, buf, 512, &dwBytesRead, NULL); но...

Чтение секторов на диске - C++ WinAPI
Подскажите, как в приложении Win32 прочитать на дискете сектор с заданным цилидром головкой и поверхностью. Не через CreateFile! ...

Количество секторов на кластер - C++ WinAPI
Всем привет) Нужна помощь. Хочу копировать флешку на диск. Использую функции ReadFile и WriteFile. Хочу производить чтение и запись по...

Определить количество секторов на диске - C++ WinAPI
Здравствуйте! Требуется посекторно читать диск (флешку). Проблема с определением количества секторов. Попытка воспользоваться...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
30.08.2011, 07:22 #2
В DOS есть функции BIOS для чтения-записи
В C их можно спокойно дергать
1
Noin
0 / 0 / 0
Регистрация: 31.12.2009
Сообщений: 22
30.08.2011, 09:01  [ТС] #3
Цитата Сообщение от odip Посмотреть сообщение
В DOS есть функции BIOS для чтения-записи
В C их можно спокойно дергать
Вы имеете ввиду прерывания биоса? делать ассемблерные вставки?
0
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
30.08.2011, 10:27 #4
Noin, в dos.h можно попытаться поискать, но я не уверен.
0
Noin
0 / 0 / 0
Регистрация: 31.12.2009
Сообщений: 22
30.08.2011, 10:41  [ТС] #5
нашёл функции _bios_disk(), absread(), abswrite(). Вроде как работают со всеми дисками (от flopy до CD), но есть один интересный параметр "DWORD drive". Необходимо написать номер диска, причём в качестве примера приведено "0 - A:, 1 - B:...", а если диск не размечен? подойдут значения 80h и 81h? кто-нибудь пользовался этими функция? все примеры, как на зло, для НГМД...
0
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
30.08.2011, 18:54 #6
а если диск не размечен?
И что ?
При чем тут разметка ?
Ты читаешь сектор с диска
Диск состоит из последовательных секторов
подойдут значения 80h и 81h?
Для дисков 0x80, 0x81, 0x82, 0x83 подойдут
А вот другие диски уже не будут видны - BIOS как правило не поддерживает больше 4-ех дисков
кто-нибудь пользовался этими функция?
Билл Гейтс ?
Наверняка !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2011, 18:54
Привет! Вот еще темы с ответами:

Определение номеров свободных секторов на диске - C++ WinAPI
Подскажите, пожалуйста, как можно определить номера свободных секторов на HDD, например, нескольких последних свободных секторов, для...

Запись в сектора на floppy-диске, и чтение с этих секторов - C++
Здраствуйте. Меня интерисует Функция на Си чтоби записывать данные (строку, или часть отдельного файла) в отдельный сектор на флопи...

Сложная разбивка изображения на 25 секторов - C++
Здравствуйте. Задача заключается в следующем. Нужно разбить изображение на 25 равных частей (на картинках показано как нужно разбить). В...

Поменять местами элементы заданных секторов двух квадратных матриц - C++
В двух квадратных матрицах выделено четыре сектора, ограниченных диагоналями: верхний, нижний, правый и левый. Поменять местами элементы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.08.2011, 18:54
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru