Как написать свой собственный базовый сканер дисков - PullRequest
2 голосов
/ 11 октября 2011

Я хотел бы написать некоторую базовую утилиту для сканирования дисков. По сути, я хотел бы иметь возможность читать необработанные байты определенного файла (файлов), записанные на диск, так, как это делают системные утилиты диска (например, проверка ошибок и дефрагментация в Windows). Я хотел бы сделать это в C.

Какими должны быть мои первые шаги? Очевидно, что fopen недостаточно.

Любое руководство будет высоко оценено (я не прошу решения, просто немного теории и подталкиваю в правильном направлении, поскольку я даже не знаю, с чего начать ...).

Ответы [ 3 ]

1 голос
/ 11 октября 2011

Могут быть использованы следующие ресурсы:

1 голос
/ 11 октября 2011

Вы отправляетесь в страну водителя здесь. Большинство API доступа к файлам по-прежнему удерживают вас на уровне выше, чем сам диск. Вы можете разговаривать с файловой системой на CD, RAMDisk, SAN или HDD, и вам все равно.

Если вам нужно нажать на диск напрямую, API управления томами должен помочь вам в Windows:

API управления томами

0 голосов
/ 11 октября 2011

fopen и fread будут работать. Если вы хотите использовать небуферизованный интерфейс, используйте open и read . Открытие и чтение являются частью стандарта POSIX, поэтому они работают и в Windows, хотя вам может понадобиться найти справочные страницы для окон, чтобы быть уверенным, что вы заметите любые тонкие различия в поведении.

...