Мое приложение записывает несколько байтов данных в альтернативный поток данных. Это отлично работает на всех компьютерах (Windows Server 2003 SP2). Вместо этого CreateFile возвращает ERROR_DISK_FULL
при попытке создать альтернативный поток данных (в корневом каталоге). Я не нашел причины для этого результата, потому что ...Что может быть причиной ошибки Windows ERROR_DISK_FULL (112) при открытии альтернативного потока данных NTFS?
На этом диске достаточно места.
Привод NTFS отформатирован (из-за GetVolumeInformation).
Привод поддерживает данные с изображениями (из-за GetVolumeInformation).
Edit: Я могу предоставить более подробную информацию о том, что причина не является: я добавил много потоков на тестовой системе, которая не показывала ошибку, и задавался вопросом, если может произойти ошибка. Это не так. Вместо этого после 2000 потоков с длинными именами файлов произошла и сохранилась еще одна ошибка: 1450 (ERROR_NO_SYSTEM_RESOURCES).
EDIT: Вот пример одного из используемых имен файлов:
char szStreamFileName[] = "C:\\:abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnoqrstuvwxyz";
EDIT: Наш клиент использует некоторое корпоративное антивирусное программное обеспечение от компании Avira на этом сервере. Возможно, именно по этой причине (альтернативные потоки данных могут быть использованы вредоносными программами).
Не могли бы вы привести конкретный пример параметра 'lpFileName' функции' CreateFile'? – Michael