public static extern IntPtr CreateFileW( [MarshalAs(UnmanagedType.LPWStr)] string filename, [MarshalAs(UnmanagedType.U4)] FileAccess access, [MarshalAs(UnmanagedType.U4)] FileShare share, IntPtr securityAttributes, [MarshalAs(UnmanagedType.U4)] FileMode creationDisposition, [MarshalAs(UnmanagedType.U4)] FileAttributesEx flagsAndAttributes, IntPtr templateFile);
public static extern IntPtr CreateFile( [MarshalAs(UnmanagedType.LPTStr)] string filename, [MarshalAs(UnmanagedType.U4)] FileAccess access, [MarshalAs(UnmanagedType.U4)] FileShare share, IntPtr securityAttributes, // optional SECURITY_ATTRIBUTES struct or IntPtr.Zero [MarshalAs(UnmanagedType.U4)] FileMode creationDisposition, [MarshalAs(UnmanagedType.U4)] FileAttributesEx flagsAndAttributes, IntPtr templateFile);
private static extern SafeFileHandle CreateFile( string fileName, [MarshalAs(UnmanagedType.U4)] EFileAccess fileAccess, [MarshalAs(UnmanagedType.U4)] FileShare fileShare, IntPtr securityAttributes, [MarshalAs(UnmanagedType.U4)] FileMode creationDisposition, [MarshalAs(UnmanagedType.U4)] FileAttributesEx dwFlagsAndAttributes, IntPtr template);
public bool IsBannedFile(string filePath) { // Check if Option set to Enable Filtering if (mSettings.GetConfig().EnabledFiltering) { // Establish an FileInfo, we need for the checks below FileAttributesEx fi = new FileAttributesEx(filePath); // If Options says to filter protected OS files if (mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders) { return(fi.isHiddenSystemFile()); } // If Config says to filter Hidden Files if (mSettings.GetConfig().IgnoreHiddenFiles) { return(fi.isHidden()); } // If Config says to filter System Files if (mSettings.GetConfig().IgnoreSystemFiles) { return(fi.isSystem()); } // If Config says to filter following files if (mSettings.GetConfig().IgnoreFollowingFiles) { foreach (string item in mBannedFilter) { if (Path.GetFileName(filePath).ToLower() == item.ToLower()) { return(true); } if (item.IndexOf("*.") != -1 && item.IndexOf(Path.GetExtension(filePath)) != -1) { return(true); } } } } return(false); }
public bool isBannedFolder(TreeDir dir) { // Check if Option set to Enable Filtering if (mSettings.GetConfig().EnabledFiltering) { DirectoryInfo di = new DirectoryInfo(dir.DirectoryPath()); FileAttributesEx dirAttrib = new FileAttributesEx(dir.DirectoryPath()); string[] c = dir.DirectoryPath().Split(Path.DirectorySeparatorChar); // If Options says to filter protected OS folders if (mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders) { return(c[1].Length != 0 && dirAttrib.isReadOnlyDirectory() && mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders); } // If Config says to filter Hidden Folders if (mSettings.GetConfig().IgnoreHiddenFolders) { return(dirAttrib.isHidden()); } // If Config says to filter System Folders if (mSettings.GetConfig().IgnoreSystemFolders) { return(dirAttrib.isSystem()); } //war59312: If Config says to filter Empty Folders if (mSettings.GetConfig().IgnoreEmptyFolders&& dir.DirectorySize() == 0.0) { return(true); } } return(false); }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) { return(null); } FileAttributesEx attributes = (FileAttributesEx)value; if (targetType == typeof(string)) { StringBuilder sb = new StringBuilder(15); if (((attributes & FileAttributesEx.ReadOnly) == FileAttributesEx.ReadOnly)) { sb.Append('R'); } if (((attributes & FileAttributesEx.Hidden) == FileAttributesEx.Hidden)) { sb.Append('H'); } if (((attributes & FileAttributesEx.System) == FileAttributesEx.System)) { sb.Append('S'); } if (((attributes & FileAttributesEx.Archive) == FileAttributesEx.Archive)) { sb.Append('A'); } if (((attributes & FileAttributesEx.Device) == FileAttributesEx.Device)) { sb.Append('D'); } if (((attributes & FileAttributesEx.Normal) == FileAttributesEx.Normal)) { sb.Append('N'); } if (((attributes & FileAttributesEx.Temporary) == FileAttributesEx.Temporary)) { sb.Append('T'); } if (((attributes & FileAttributesEx.SparseFile) == FileAttributesEx.SparseFile)) { sb.Append("Sf"); } if (((attributes & FileAttributesEx.ReparsePoint) == FileAttributesEx.ReparsePoint)) { sb.Append("Rp"); } if (((attributes & FileAttributesEx.Compressed) == FileAttributesEx.Compressed)) { sb.Append('C'); } if (((attributes & FileAttributesEx.Offline) == FileAttributesEx.Offline)) { sb.Append('O'); } if (((attributes & FileAttributesEx.NotContentIndexed) == FileAttributesEx.NotContentIndexed)) { sb.Append('I'); } if (((attributes & FileAttributesEx.Encrypted) == FileAttributesEx.Encrypted)) { sb.Append('E'); } return(sb.ToString()); } return(null); }