Внезапно мы выяснили, что WinXP SP3 не разрешил создавать разреженный файл NTFS в пользовательском режиме. А именно, DeviceIoControl
с FSCTL_SET_SPARSE
возвращается с ошибкой 0x57 (ERROR_INVALID_PARAMETER
). Этот же код хорошо работает в SP2. Кроме того, все нормально, если совершать одни и те же вызовы из режима ядра (как в SP3, так и в SP2).Редкие файлы в WinXP SP3
Google ничего не говорит об этом. Кто-нибудь встретил эту проблему или даже получил дополнительную информацию об этом?
Вы используете FSCTL_SET_SPARSE и т. Д.? Больше информации здесь: http://msdn.microsoft.com/en-us/library/aa365566(VS.85).aspx – bk1e 2008-11-06 17:10:39
Да, конечно. В usermode DeviceIoControl с FSCTL_SET_SPARSE возвращается с ошибкой 0x57 (ERROR_INVALID_PARAMETER) под WinXP SP3 и хорошо работает под WinXP SP2. – Yakov 2008-11-06 17:34:08