public UnbufferedFileStream(string path, FileMode mode, FileAccess access, FileShare share, FileOptions options, BufferManager bufferManager)
{
_path = path;
_bufferManager = bufferManager;
{
const FileOptions FileFlagNoBuffering = (FileOptions)0x20000000;
_stream = new FileStream(path, mode, access, share, 8, options | FileFlagNoBuffering);
}
_blockInfo = new BlockInfo();
{
_blockInfo.IsUpdated = false;
_blockInfo.Position = -1;
_blockInfo.Offset = 0;
_blockInfo.Count = 0;
_blockInfo.Value = _bufferManager.TakeBuffer(SectorSize);
}
_position = _stream.Position;
_length = _stream.Length;
}