Exemple #1
0
        /// <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));
        }