Files
2026-06-04 11:42:34 +02:00

207 lines
14 KiB
C#

using System;
using System.Security.Principal;
namespace System.Security.AccessControl
{
/// <summary>Represents the access control and audit security for a file or directory.</summary>
// Token: 0x020004C5 RID: 1221
public abstract class FileSystemSecurity : NativeObjectSecurity
{
// Token: 0x06002D56 RID: 11606 RVA: 0x000939B4 File Offset: 0x00091BB4
internal FileSystemSecurity(bool isContainer)
: base(isContainer, ResourceType.FileObject)
{
}
// Token: 0x06002D57 RID: 11607 RVA: 0x000939C0 File Offset: 0x00091BC0
internal FileSystemSecurity(bool isContainer, string name, AccessControlSections includeSections)
: base(isContainer, ResourceType.FileObject, name, includeSections)
{
}
/// <summary>Gets the enumeration that the <see cref="T:System.Security.AccessControl.FileSystemSecurity" /> class uses to represent access rights.</summary>
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.FileSystemRights" /> enumeration.</returns>
// Token: 0x170008E1 RID: 2273
// (get) Token: 0x06002D58 RID: 11608 RVA: 0x000939CC File Offset: 0x00091BCC
public override Type AccessRightType
{
get
{
return typeof(FileSystemRights);
}
}
/// <summary>Gets the enumeration that the <see cref="T:System.Security.AccessControl.FileSystemSecurity" /> class uses to represent access rules.</summary>
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> class.</returns>
// Token: 0x170008E2 RID: 2274
// (get) Token: 0x06002D59 RID: 11609 RVA: 0x000939D8 File Offset: 0x00091BD8
public override Type AccessRuleType
{
get
{
return typeof(FileSystemAccessRule);
}
}
/// <summary>Gets the type that the <see cref="T:System.Security.AccessControl.FileSystemSecurity" /> class uses to represent audit rules.</summary>
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> class.</returns>
// Token: 0x170008E3 RID: 2275
// (get) Token: 0x06002D5A RID: 11610 RVA: 0x000939E4 File Offset: 0x00091BE4
public override Type AuditRuleType
{
get
{
return typeof(FileSystemAuditRule);
}
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> class that represents a new access control rule for the specified user, with the specified access rights, access control, and flags.</summary>
/// <returns>A new <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that represents a new access control rule for the specified user, with the specified access rights, access control, and flags.</returns>
/// <param name="identityReference">An <see cref="T:System.Security.Principal.IdentityReference" /> object that represents a user account.</param>
/// <param name="accessMask">An integer that specifies an access type.</param>
/// <param name="isInherited">true if the access rule is inherited; otherwise, false. </param>
/// <param name="inheritanceFlags">One of the <see cref="T:System.Security.AccessControl.InheritanceFlags" /> values that specifies how to propagate access masks to child objects.</param>
/// <param name="propagationFlags">One of the <see cref="T:System.Security.AccessControl.PropagationFlags" /> values that specifies how to propagate Access Control Entries (ACEs) to child objects.</param>
/// <param name="type">One of the <see cref="T:System.Security.AccessControl.AccessControlType" /> values that specifies whether access is allowed or denied.</param>
/// <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="accessMask" />, <paramref name="inheritanceFlags" />, <paramref name="propagationFlags" />, or <paramref name="type" /> parameters specify an invalid value.</exception>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="identityReference" /> parameter is null. -or-The <paramref name="accessMask" /> parameter is zero.</exception>
/// <exception cref="T:System.ArgumentException">The <paramref name="identityReference" /> parameter is neither of type <see cref="T:System.Security.Principal.SecurityIdentifier" />, nor of a type such as <see cref="T:System.Security.Principal.NTAccount" /> that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</exception>
// Token: 0x06002D5B RID: 11611 RVA: 0x000939F0 File Offset: 0x00091BF0
[MonoTODO]
public sealed override AccessRule AccessRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
{
return new FileSystemAccessRule(identityReference, (FileSystemRights)accessMask, inheritanceFlags, propagationFlags, type);
}
/// <summary>Adds the specified access control list (ACL) permission to the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that represents an access control list (ACL) permission to add to a file or directory. </param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D5C RID: 11612 RVA: 0x00093A00 File Offset: 0x00091C00
[MonoTODO]
public void AddAccessRule(FileSystemAccessRule rule)
{
throw new NotImplementedException();
}
/// <summary>Removes all matching allow or deny access control list (ACL) permissions from the current file or directory.</summary>
/// <returns>true if the access rule was removed; otherwise, false.</returns>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that represents an access control list (ACL) permission to remove from a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D5D RID: 11613 RVA: 0x00093A08 File Offset: 0x00091C08
[MonoTODO]
public bool RemoveAccessRule(FileSystemAccessRule rule)
{
throw new NotImplementedException();
}
/// <summary>Removes all access control list (ACL) permissions for the specified user from the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that specifies a user whose access control list (ACL) permissions should be removed from a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D5E RID: 11614 RVA: 0x00093A10 File Offset: 0x00091C10
[MonoTODO]
public void RemoveAccessRuleAll(FileSystemAccessRule rule)
{
throw new NotImplementedException();
}
/// <summary>Removes a single matching allow or deny access control list (ACL) permission from the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that specifies a user whose access control list (ACL) permissions should be removed from a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D5F RID: 11615 RVA: 0x00093A18 File Offset: 0x00091C18
[MonoTODO]
public void RemoveAccessRuleSpecific(FileSystemAccessRule rule)
{
throw new NotImplementedException();
}
/// <summary>Adds the specified access control list (ACL) permission to the current file or directory and removes all matching ACL permissions.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that represents an access control list (ACL) permission to add to a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D60 RID: 11616 RVA: 0x00093A20 File Offset: 0x00091C20
[MonoTODO]
public void ResetAccessRule(FileSystemAccessRule rule)
{
throw new NotImplementedException();
}
/// <summary>Sets the specified access control list (ACL) permission for the current file or directory. </summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAccessRule" /> object that represents an access control list (ACL) permission to set for a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D61 RID: 11617 RVA: 0x00093A28 File Offset: 0x00091C28
[MonoTODO]
public void SetAccessRule(FileSystemAccessRule rule)
{
throw new NotImplementedException();
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> class representing the specified audit rule for the specified user.</summary>
/// <returns>A new <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> object representing the specified audit rule for the specified user.</returns>
/// <param name="identityReference">An <see cref="T:System.Security.Principal.IdentityReference" /> object that represents a user account.</param>
/// <param name="accessMask">An integer that specifies an access type.</param>
/// <param name="isInherited">true if the access rule is inherited; otherwise, false. </param>
/// <param name="inheritanceFlags">One of the <see cref="T:System.Security.AccessControl.InheritanceFlags" /> values that specifies how to propagate access masks to child objects.</param>
/// <param name="propagationFlags">One of the <see cref="T:System.Security.AccessControl.PropagationFlags" /> values that specifies how to propagate Access Control Entries (ACEs) to child objects.</param>
/// <param name="flags">One of the <see cref="T:System.Security.AccessControl.AuditFlags" /> values that specifies the type of auditing to perform.</param>
/// <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="accessMask" />, <paramref name="inheritanceFlags" />, <paramref name="propagationFlags" />, or <paramref name="flags" /> properties specify an invalid value.</exception>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="identityReference" /> property is null. -or-The <paramref name="accessMask" /> property is zero.</exception>
/// <exception cref="T:System.ArgumentException">The <paramref name="identityReference" /> property is neither of type <see cref="T:System.Security.Principal.SecurityIdentifier" />, nor of a type such as <see cref="T:System.Security.Principal.NTAccount" /> that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</exception>
// Token: 0x06002D62 RID: 11618 RVA: 0x00093A30 File Offset: 0x00091C30
[MonoTODO]
public sealed override AuditRule AuditRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags)
{
return new FileSystemAuditRule(identityReference, (FileSystemRights)accessMask, inheritanceFlags, propagationFlags, flags);
}
/// <summary>Adds the specified audit rule to the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> object that represents an audit rule to add to a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D63 RID: 11619 RVA: 0x00093A40 File Offset: 0x00091C40
[MonoTODO]
public void AddAuditRule(FileSystemAuditRule rule)
{
throw new NotImplementedException();
}
/// <summary>Removes all matching allow or deny audit rules from the current file or directory.</summary>
/// <returns>true if the audit rule was removed; otherwise, false</returns>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> object that represents an audit rule to remove from a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D64 RID: 11620 RVA: 0x00093A48 File Offset: 0x00091C48
[MonoTODO]
public bool RemoveAuditRule(FileSystemAuditRule rule)
{
throw new NotImplementedException();
}
/// <summary>Removes all audit rules for the specified user from the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> object that specifies a user whose audit rules should be removed from a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D65 RID: 11621 RVA: 0x00093A50 File Offset: 0x00091C50
[MonoTODO]
public void RemoveAuditRuleAll(FileSystemAuditRule rule)
{
throw new NotImplementedException();
}
/// <summary>Removes a single matching allow or deny audit rule from the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> object that represents an audit rule to remove from a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D66 RID: 11622 RVA: 0x00093A58 File Offset: 0x00091C58
[MonoTODO]
public void RemoveAuditRuleSpecific(FileSystemAuditRule rule)
{
throw new NotImplementedException();
}
/// <summary>Sets the specified audit rule for the current file or directory.</summary>
/// <param name="rule">A <see cref="T:System.Security.AccessControl.FileSystemAuditRule" /> object that represents an audit rule to set for a file or directory.</param>
/// <exception cref="T:System.ArgumentNullException">The <paramref name="rule" /> parameter is null.</exception>
// Token: 0x06002D67 RID: 11623 RVA: 0x00093A60 File Offset: 0x00091C60
[MonoTODO]
public void SetAuditRule(FileSystemAuditRule rule)
{
throw new NotImplementedException();
}
}
}