Итак, я пытаюсь постепенно заполнять мультимедийное устройство и измерять скорость, и оно работает, пока я не перейду к записи данных от 75% до 95% (мы не заполняем его полностью)
Когда я перехожу к установке длины файла (пример: я пытаюсь создать файл размером 3,1 ГБ, когда на диске доступно 3,72 ГБ, я получаю следующее исключение
"Неверный параметр."
Трассировки стека
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.SeekCore(Int64 offset, SeekOrigin origin)
at System.IO.FileStream.SetLengthCore(Int64 value)
at System.IO.FileStream.SetLength(Int64 value)
at DiskSpeed.Write.WriteFileFromMemory(Byte[] buffer, String path, Int64 fileSize, Int32 currentIteration, Int32 totalIterations, CancellationToken ct)
Вот код
using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None, 8, FileOptions.WriteThrough | FileFlagNoBuffering))
{
fs.SetLength(fileSize);
.......
}
Я использую это для записи фрагментов на съемный носитель с шагом 25%, но после 75% я записываю только 20% фрагмент. Переход от 0 до 75% работает нормально, это последний фрагмент, который вызывает эту ошибку. Да, я дважды проверил размер файла, ЕСТЬ ПРОБЕЛ !!!
У кого-нибудь есть какие-либо идеи? Я в своем уме и не могу ничего найти в Интернете.
fileSize
, когда вы звонитеSetLength
? - person Default   schedule 24.03.2015