Ошибка при попытке записи на USB. CreateFile () возвращает 0x82 (каталог или файл не может быть создан). Файл копируется в корневую папку. Проблема закончилась тем, что USB-накопитель отформатирован в FAT. Я узнал об этом, когда догадался, что вручную перетащил файл на USB-накопитель и получил диалоговое окно Windows, в котором говорилось: «Корневой диск I: \ отформатирован с помощью файловой системы FAT и может хранить только ограниченное количество элементов. Сохраните элементы в подпапке или переформатируйте диск, используя файловую систему NTFS «.
Работаю на Win7 с VS2010 C ++. Я должен быть в состоянии дать пользователю обратную связь о том, что проблема, а не просто общий «Каталог или файл не может быть создан».
Есть ли способ, с помощью которого я могу запросить USB-накопитель, чтобы выяснить, возникла ли ошибка из-за того, что было передано максимально допустимое количество файлов в корневой папке? Звонок в GetVolumeInformation (), кажется, не дает мне этой информации, и поиск в сети не показывает, кто-либо говорит о том, как это сделать (или я не нахожу правильный вопрос, чтобы задать).
Поскольку есть FAT8, FAT12, FAT16 и FAT32, я предполагаю, что у каждого из них есть разные максимумы на количество папок / файлов в корневой папке. Я обнаружил, что FAT32 позволяет увеличивать количество файлов в корневой папке, что говорит о том, что в FAT32 нет определенного максимального количества папок / файлов для root. Но для FAT16, похоже, и другие форматы могут иметь разные максимумы.
Любая идея, где я мог бы искать следующую информацию такого типа. Спасибо заранее за любую помощь.
Задача ещё не решена.
Других решений пока нет …