@bloodrazorr

Как записать байты в определенный сектор диска c#?

Всем доброго времени суток.
Пишу программу для гарантированного уничтожения данных. Встал вопрос о перезаписи кластеров где находится файл. На текущем этапе не удается перейти на указанную позицию на диске. Пытался использовать функцию SetFilePointer возвращает значение -1.
SafeFileHandle hDrive = CreateFile("\\\\.\\" + fileRoot, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);
if (SetFilePointerEx(hDrive, start, &start2, 0) != -1)
{
    ...
    WriteFile(hDrive, buff, buff.Length, &retBytes, null)
}

Что можете посоветовать и как это исправить?
  • Вопрос задан
  • 915 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
Советую при ошибке вызывать GetLastError и смотреть что же она вернет. Без кода ошибки - гадание на кофейной гуще.
Ответ написан
@nirvimel
Встал вопрос о перезаписи кластеров где находится файл.

Если проблема только в этом, то можно же перезаписывать содержимое самого файла.
Это не сработает на Copy-on-write файловых системах, но под windows, вроде, таких нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы