public BufferedDiskReader(string filename) { this.filename = filename; hFile = Exports.CreateFile(this.filename, (uint)FileAccess.Read, (uint)FileShare.None, IntPtr.Zero, (uint)FileMode.Open, Exports.FILE_FLAG_NO_BUFFERING, IntPtr.Zero); buffer = new byte[bytesPerSector]; Exports.ReadFile(hFile, buffer, (uint)buffer.Length, ref bytesRead, IntPtr.Zero); bufferSector = 0; currentPos = 0; }