/// <summary> /// Opens an existing file. /// </summary> public static TransactionalFileStructure OpenFile(string fileName, bool isReadOnly) { if (fileName is null) { throw new ArgumentNullException("fileName"); } if (!File.Exists(fileName)) { throw new Exception("fileName Does Not Exists"); } DiskIo disk = DiskIo.OpenFile(fileName, Globals.MemoryPool, isReadOnly); if (!isReadOnly && disk.LastCommittedHeader.IsSimplifiedFileFormat) { disk.Dispose(); throw new Exception("Cannot open a simplified file structure with write support."); } return(new TransactionalFileStructure(disk)); }