public RootDirectory(int clusterSize) { _reserved = -1; int sizeOfRootDirectoryRecord = Marshal.SizeOf <RootDirectoryRecord>(); int directoryRecordsCount = (clusterSize - sizeof(int)) / sizeOfRootDirectoryRecord; _rootDirectory = new RootDirectoryRecord[directoryRecordsCount]; _emptySpace = new byte[clusterSize - directoryRecordsCount * sizeOfRootDirectoryRecord - sizeof(int)]; _rootDirectory[0] = new RootDirectoryRecord() { fileInodeId = 1, fileName = ".", fileExtension = "" }; _rootDirectory[1] = new RootDirectoryRecord() { fileInodeId = 1, fileName = "..", fileExtension = "" }; for (int i = 2; i < _rootDirectory.Length; i++) { _rootDirectory[i] = new RootDirectoryRecord(FREE_INODE_ID); } }
public RootDirectory(int clusterSize) { _reserved = -1; int sizeOfRootDirectoryRecord = Marshal.SizeOf<RootDirectoryRecord>(); int directoryRecordsCount = (clusterSize - sizeof(int)) / sizeOfRootDirectoryRecord; _rootDirectory = new RootDirectoryRecord[directoryRecordsCount]; _emptySpace = new byte[clusterSize - directoryRecordsCount * sizeOfRootDirectoryRecord - sizeof(int)]; _rootDirectory[0] = new RootDirectoryRecord() { fileInodeId = 1, fileName = ".", fileExtension = "" }; _rootDirectory[1] = new RootDirectoryRecord() { fileInodeId = 1, fileName = "..", fileExtension = "" }; for (int i = 2; i < _rootDirectory.Length; i++) { _rootDirectory[i] = new RootDirectoryRecord(FREE_INODE_ID); } }