そのため、メディア デバイスを段階的に満たして速度を測定しようとしていますが、75% から 95% のデータを書き込むまでは機能します (完全には満たしていません)。
ファイルの長さを設定しようとすると (例: ディスクに 3.72 GB の空き容量があるときに 3.1GB のファイルを作成しようとすると、次の例外が発生します)
"パラメータが正しくありません。"
スタックトレース
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% の範囲で問題なく動作します。このエラーをスローするのは最後のチャンクです。はい、ファイルサイズを再確認しました。スペースがあります!!!
誰にもアイデアはありますか?私は頭がおかしいので、オンラインで何も見つけられないようです。