USB-накопитель WriteFile в секторах вне тома

Я занимаюсь разработкой программы WinAPI на c ++ для записи данных на USB-накопитель напрямую с CreateFile по объему {GUID} и WriteFile функции, как десятки примеров. Как уже упоминалось Вот в комментариях:

Запись на дескриптор тома будет успешной, если у тома нет
смонтирована файловая система, или если выполняется одно из следующих условий:

  • Секторы для записи являются загрузочными секторами.
  • Секторы, которые должны быть записаны, находятся вне пространства файловой системы.
  • Вы явно заблокировали или отключили том с помощью FSCTL_LOCK_VOLUME или же FSCTL_DISMOUNT_VOLUME,
  • Том не имеет фактической файловой системы. (Другими словами, на нем смонтирована файловая система RAW.)

Я хочу беспрепятственно записать 100 МБ данных на USB. Итак, я попробовал два случая сверху.

  1. Второй случай: запись вне файловой системы (я увеличил число секторов на раздел без расширения таблицы FAT32), но он не работает без размонтирования!
  2. Четвертый случай: запись на томе без какой-либо файловой системы (без форматирования). Но это также не работает без размонтирования !!!

Также я попытался создать второй раздел (который невидим для Windows) с / без файловой системы и записать туда прямо по смещению от конца первого раздела, но также безуспешно: я не могу читать или писать там.

Итак, если кто-нибудь знает ОТВЕТ НА ОДИН ИЗ ВОПРОСОВ хотя бы:

  1. Как я могу создать секторы внутри раздела снаружи
    файловая система?
  2. Есть ли возможность плавной записи на USB напрямую?
  3. Также я могу написать в Windows на второй раздел по USB без
    играть с драйверами, NTCreateFile и другими глубокими функциями?

0

Решение

Я почти уверен, что это действительно сработало, но вы не понимаете, что обходите Windows. Это означает, что Windows не заметит, что вы сделали. Поэтому, если вы используете Windows, чтобы проверить, что вы сделали, она не сообщит об изменении.

Чтобы ответить на отдельные подвопросы: нормальная файловая система заполняет весь раздел, поэтому вы не можете. Ваши функции плавно записываются на USB, это не проблема. И нет, Windows обычно воспринимает USB как неразмеченное хранилище.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]