![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
PGsoft |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 30.5.2005 Где: Петербург Репутация: 1 Всего: 1 |
Кстати, многие вещи касательно файловой системы (в том числе и NTFS) описаны не в MSDN или DDK, а только в Microsoft IFS Kit. Он распространяется не бесплатно, а за несколько сотен долларов (см. сайт Microsoft). Кое-какие сведения имеются в файле "ntifs.h", распространяемым различными "исследователями" Windows NT... например, http://www.acc.umu.se/~bosse/
Если у кого-нибудь есть доступ к IFS Kit 98/2000/XP - кинте ссылку, пожалуйста. Или у кого-нибудь может на CD есть (на некоторых дисках вместе с Borland C/Visual C бывает DDK и IFS), не могли бы залить куда-нибудь в Интернет (или прислать мне по почте)? :-) |
|||
|
||||
WERITAS |
|
|||
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
PGsoft
Испытал вашу "разрушительную" прогу. Сначала на ХР, потом на 2000. Пробовал не только на диске С, но и на диске А. Результата не дало НИКАКОГО! На диске А, ваще появилось сообщение, что он не могет найти устройство. По-моему данная прога будет работать тока на виндовсе НТ, на котором я это не испытывал. P.S. Ах да, вы уж пожалуста расшщифруйте ваши комментарии, а то я пытался по-разному их прочитать и никак не получилось -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
Ibragim |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
В программировании разбираюсь плоховато, но про накопители могу ответить все
![]() 1. Значит смотри - R-Studio NE, или R-Studio NTFS - лучший выбор однозначно. Не так уж сложно найти в нете и саму, и лекарство. Только показывай не на раздел, а на весь диск, правая кнопка мыши и Scan - тогда оно само найдет варианты NTFS Boot, выберешь, какой твой. 2. Совсем низкоуровневый доступ можно получить до порта, например с помощью драйверов smport.sys или подобных, и потом по стандарту ATA (www.t13.org) подавать на диск команды чтения сектора, и анализировать содержимое. Достаточно сложно, но необходимо, если на винте например бэд-блоки, и Windows просто говорит об ошибке и отказывается работать. Могу привести код по просьбе общественности (как инициализации и запуска драйвера, так чтения/запись в порт, так и команду чтения сектора) - только много получится, если никто не попросит - нечего форум засорять. |
|||
|
||||
avek |
|
|||
Unregistered |
Два замечания:
1) Под Windows 9x и на достаточно свежих материнках есть функции BIOS INT13h, AH=4xh, которые не ограничены 1024 цилиндрами и вообще адресуют диск через 64-битный LBA адрес. 2) В ATA уже давно гораздо больше 28 бит адреса (вроде 64, если я правильно помню), но это должны специально поддерживать драйвер диска и сам диск. Там есть команда, которая выдаётся перед нормальной командой чтения, записи и т.п. и устанавливает старшие биты адреса для следующей команды. Короче, см. http://www.t13.org - точнее, чем там, на халяву не бывает. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
Хороший ресурс ![]() Только как , то что там описанно в исходник всунуть???? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
The Thing |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: нет Всего: 3 |
У меня почему-то не работает:
в то время как
...работает... ??? -------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
||||
|
|||||
PGsoft |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 30.5.2005 Где: Петербург Репутация: 1 Всего: 1 |
The Thing, значит, у тебя Win9X ![]() |
|||
|
||||
The Thing |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: нет Всего: 3 |
Win 2000
-------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
|||
|
||||
The Thing |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: нет Всего: 3 |
нет... Я тут поковырялся... все верно.. доступ я получаю к физическому носителю PHYSICALDRIVE0 - мой жесткий диск, а c: или d: это уже логический диск.. и на прямую, как я понял, его получить нельзя.. на CreateFile(...) говорит, что уже занято иным процессом. Т.е. мне надо получить информацию о смещение до нужного логического диска... или как-то плясать через таблицу логических дисков. По идее должна быть фун возвращающая колонку, трек и сектор.. С которого начинается диск.
Нус... жду помощи! -------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |