コード例 #1
0
ファイル: DFSImage.cs プロジェクト: Dehax/DehaxOS
            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);
                }
            }
コード例 #2
0
ファイル: DFSImage.cs プロジェクト: Dehax/DehaxOS
            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);
                }
            }