Задать вопрос
@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)
}

Что можете посоветовать и как это исправить?
  • Вопрос задан
  • 937 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
  • Учебный центр IBS
    DEV-001_NET Шаблоны проектирования GoF. Редакция для .NET
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
Советую при ошибке вызывать GetLastError и смотреть что же она вернет. Без кода ошибки - гадание на кофейной гуще.
Ответ написан
@nirvimel
Встал вопрос о перезаписи кластеров где находится файл.

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

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

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