![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
В свое время сделал программульку, которая читает полудохлые дискеты. Основана она была на таких шагах:
Теперь поясняю, что мне надо, хотя, это уже и так ясно: хочу читать с дискеты (дискета - основная цель)так, чтобы читалась и таблица, в каком бы состоянии она не была, и любые места диска. Что я предполагаю: читать с диска все, включая кластер и информацию в нем о следующем кластере данного файла. |
|||
|
||||
Doc_d0s |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: нет Всего: 3 |
и что мешает, адрес таблицы на диске постоянен, в зависимости от объема можно определить ее размер и вуаля)
--------------------
Админ- это вождь Apache'й :) |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
когда то и я хотел этим занять , да руки не дошли
![]() вообщем имхо , есть возможность чтения с дискет плохих, на уровне Raw там игнорируются все ошибки при чтении, имхо если пару разпрочитать битое место, то можно маломальски востановить информацию ЗЫ конешно если я тя правильно понял -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
В том и дело, что предполагается отсутствие возможности прочтения таблицы. В этом случае, нужно читать кластеры вместе с информацией о следующем кластере, что не дается стандартными средствами винды. (но я еще не прочитал первую ссылку из "Здесь смотрели?")
Вроде того, только мне это нужно, в основном, для восстановления простых текстовых файлов на дискетах, т. о. пропущенное место можно домыслить. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Там все тоже, что я использовал, кроме того, о чем говорил Ibragim и DeviceIOControl от chaos.
|
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
ну и че не подходит?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
||||
|
||||
En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Кстати... ведь каждый ide-№ имеет свой системный порт ? если так, то почему бы не воспользоваться in и out в ассемблерных вставках ? Насколько я понимаю... нужно почитать доки к флоппам и тогда дело останется за запросами к флоппу за новым байтом или словом с нужной позиции.
То есть, программа или драйвер не будет зависеть от конкретной файловой системы, насколько я понимаю, это возможно ? Или мы не сможем определить битый байт так ? PS правда для NT-шек придется создавать драйвер режима ядра... |
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
![]() ![]() ![]() En_t_end, дружище, нового ты ничего не сказал, но, возможно, помог выразить мои мысли ![]() |
|||
|
||||
Mad |
|
|||
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 2 Всего: 19 |
||||
|
||||
En_t_end |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: нет Всего: 20 |
Fixin,
А что тебе стоит создать драйвер и написать приложение с юзер-модным доступом на си, которое будет работать через интерфейс драйвера ? ЗЫ не думаю, что WinApi позволяет напрямую использовать i/o-ports, скорее даже уверен в обратном. Порты - критические ресурсы, не зря их прикрыли для юзер-модных прилаг в NT-шках. Добавлено @ 06:19 Fixin,
Хм... тут я увидел твои эмоции по поводу драйвера режима ядра и ассеблерных вставок...я не связывал воедино эти две цитаты, это у тебя так страшно их процитировать получилось ![]() |
||||
|
|||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Еще вспомнил, проблемы старого способа: 1) при чтении с дискеты, чтобы попасть на тот файл, который хочу читать, нужно было использовать какой-то сдвиг (кажется 0х4000Н) при чтении кластера, откуда взялся этот сдвиг - хз, я его просто подобрал. 2) сделав "образ" дискеты, т.е. прочитав все 1,44 мб, при попытке записать это все на другую дискету - не хватает места, т.о. я сделал вывод, что при чтении теряется какая-то информация, которая существует на дискете помимо того, что я смог прочитать. Вечером притащу код тестовой проги.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |