Exemplo n.º 1
0
        public override List <FileSystemEntry> ListEntriesInDirectory(string path)
        {
            FileRecord directoryRecord = m_volume.GetFileRecord(path);

            if (directoryRecord != null && directoryRecord.IsDirectory)
            {
                List <FileRecord>      records = m_volume.GetFileRecordsInDirectory(directoryRecord.MftSegmentNumber);
                List <FileSystemEntry> result  = new List <FileSystemEntry>();

                path = FileSystem.GetDirectoryPath(path);

                foreach (FileRecord record in records)
                {
                    string          fullPath = path + record.FileName;
                    FileSystemEntry entry    = ToFileSystemEntry(fullPath, record);
                    result.Add(entry);
                }
                return(result);
            }
            else
            {
                return(null);
            }
        }