static void FillFileInformationFromFileSystemEntry(FileInformation FileInformation, FileSystemEntry FileSystemEntry)
{
FileInformation.Attributes = System.IO.FileAttributes.Normal;
if (FileSystemEntry.Type.HasFlag(FileSystemEntry.EntryType.Directory))
{
FileInformation.Attributes |= FileAttributes.Directory;
}
if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Compressed))
{
FileInformation.Attributes |= FileAttributes.Compressed;
}
if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Hidden))
{
FileInformation.Attributes |= FileAttributes.Hidden;
}
if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Encrypted))
{
FileInformation.Attributes |= FileAttributes.Encrypted;
}
if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.System))
{
FileInformation.Attributes |= FileAttributes.System;
}
if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Archive))
{
FileInformation.Attributes |= FileAttributes.Archive;
}
if (FileSystemEntry.ExtendedFlags.HasFlag(FileSystemEntry.ExtendedFlagsTypes.Device))
{
FileInformation.Attributes |= FileAttributes.Device;
}
FileInformation.Length = FileSystemEntry.Size;
FileInformation.FileName = FileSystemEntry.Name;
FileInformation.CreationTime = FileSystemEntry.Time.CreationTime;
FileInformation.LastWriteTime = FileSystemEntry.Time.LastWriteTime;
FileInformation.LastAccessTime = FileSystemEntry.Time.LastAccessTime;
}