I'm currently using the CreateFile function to read a disk using a BinaryReader, and it seems as though whenever I seek or change the position of my stream, it can take anywhere from 200 milliseconds to 900 milliseconds. The code is basically exactly what you'd think it would be...
for (int i = 0; i < f.BlocksOccupied.Length - 1; i++)
{
br.BaseStream.Position = m.GetBlockOffset(f.BlocksOccupied[i], f.PartInfo);
outIO.Write(br.ReadBytes((int)FAT.ClusterSize));
}
This is my first time working with reading a disk, or even large files, but I know there has to be a faster way of changing my stream's position. Thanks in advanced for any contribution.