using System;
using System.Runtime.InteropServices;
using System.Security.Principal;
namespace System.Security.AccessControl
{
/// Provides the ability to control access to objects without direct manipulation of Access Control Lists (ACLs). This class is the abstract base class for the and classes.
// Token: 0x020004D4 RID: 1236
public abstract class ObjectSecurity
{
// Token: 0x06002DCB RID: 11723 RVA: 0x00093F58 File Offset: 0x00092158
internal ObjectSecurity()
{
}
/// Initializes a new instance of the class.
/// true if the new object is a container object.
/// True if the new object is a directory object.
// Token: 0x06002DCC RID: 11724 RVA: 0x00093F60 File Offset: 0x00092160
protected ObjectSecurity(bool isContainer, bool isDS)
{
this.is_container = isContainer;
this.is_ds = isDS;
}
/// Gets the of the securable object associated with this object.
/// The type of the securable object associated with this object.
// Token: 0x17000907 RID: 2311
// (get) Token: 0x06002DCD RID: 11725
public abstract Type AccessRightType { get; }
/// Gets the of the object associated with the access rules of this object. The object must be an object that can be cast as a object.
/// The type of the object associated with the access rules of this object.
// Token: 0x17000908 RID: 2312
// (get) Token: 0x06002DCE RID: 11726
public abstract Type AccessRuleType { get; }
/// Gets the object associated with the audit rules of this object. The object must be an object that can be cast as a object.
/// The type of the object associated with the audit rules of this object.
// Token: 0x17000909 RID: 2313
// (get) Token: 0x06002DCF RID: 11727
public abstract Type AuditRuleType { get; }
/// Gets a Boolean value that specifies whether the access rules associated with this object are in canonical order.
/// true if the access rules are in canonical order; otherwise, false.
// Token: 0x1700090A RID: 2314
// (get) Token: 0x06002DD0 RID: 11728 RVA: 0x00093F78 File Offset: 0x00092178
[MonoTODO]
public bool AreAccessRulesCanonical
{
get
{
throw new NotImplementedException();
}
}
/// Gets a Boolean value that specifies whether the Discretionary Access Control List (DACL) associated with this object is protected.
/// true if the DACL is protected; otherwise, false.
// Token: 0x1700090B RID: 2315
// (get) Token: 0x06002DD1 RID: 11729 RVA: 0x00093F80 File Offset: 0x00092180
[MonoTODO]
public bool AreAccessRulesProtected
{
get
{
throw new NotImplementedException();
}
}
/// Gets a Boolean value that specifies whether the audit rules associated with this object are in canonical order.
/// true if the audit rules are in canonical order; otherwise, false.
// Token: 0x1700090C RID: 2316
// (get) Token: 0x06002DD2 RID: 11730 RVA: 0x00093F88 File Offset: 0x00092188
[MonoTODO]
public bool AreAuditRulesCanonical
{
get
{
throw new NotImplementedException();
}
}
/// Gets a Boolean value that specifies whether the System Access Control List (SACL) associated with this object is protected.
/// true if the SACL is protected; otherwise, false.
// Token: 0x1700090D RID: 2317
// (get) Token: 0x06002DD3 RID: 11731 RVA: 0x00093F90 File Offset: 0x00092190
[MonoTODO]
public bool AreAuditRulesProtected
{
get
{
throw new NotImplementedException();
}
}
/// Gets or sets a Boolean value that specifies whether the access rules associated with this object have been modified.
/// true if the access rules associated with this object have been modified; otherwise, false.
// Token: 0x1700090E RID: 2318
// (get) Token: 0x06002DD4 RID: 11732 RVA: 0x00093F98 File Offset: 0x00092198
// (set) Token: 0x06002DD5 RID: 11733 RVA: 0x00093FA0 File Offset: 0x000921A0
protected bool AccessRulesModified
{
get
{
return this.access_rules_modified;
}
set
{
this.access_rules_modified = value;
}
}
/// Gets or sets a Boolean value that specifies whether the audit rules associated with this object have been modified.
/// true if the audit rules associated with this object have been modified; otherwise, false.
// Token: 0x1700090F RID: 2319
// (get) Token: 0x06002DD6 RID: 11734 RVA: 0x00093FAC File Offset: 0x000921AC
// (set) Token: 0x06002DD7 RID: 11735 RVA: 0x00093FB4 File Offset: 0x000921B4
protected bool AuditRulesModified
{
get
{
return this.audit_rules_modified;
}
set
{
this.audit_rules_modified = value;
}
}
/// Gets or sets a Boolean value that specifies whether the group associated with the securable object has been modified.
/// true if the group associated with the securable object has been modified; otherwise, false.
// Token: 0x17000910 RID: 2320
// (get) Token: 0x06002DD8 RID: 11736 RVA: 0x00093FC0 File Offset: 0x000921C0
// (set) Token: 0x06002DD9 RID: 11737 RVA: 0x00093FC8 File Offset: 0x000921C8
protected bool GroupModified
{
get
{
return this.group_modified;
}
set
{
this.group_modified = value;
}
}
/// Gets a Boolean value that specifies whether this object is a container object.
/// true if the object is a container object; otherwise, false.
// Token: 0x17000911 RID: 2321
// (get) Token: 0x06002DDA RID: 11738 RVA: 0x00093FD4 File Offset: 0x000921D4
protected bool IsContainer
{
get
{
return this.is_container;
}
}
/// Gets a Boolean value that specifies whether this object is a directory object.
/// true if the object is a directory object; otherwise, false.
// Token: 0x17000912 RID: 2322
// (get) Token: 0x06002DDB RID: 11739 RVA: 0x00093FDC File Offset: 0x000921DC
protected bool IsDS
{
get
{
return this.is_ds;
}
}
/// Gets or sets a Boolean value that specifies whether the owner of the securable object has been modified.
/// true if the owner of the securable object has been modified; otherwise, false.
// Token: 0x17000913 RID: 2323
// (get) Token: 0x06002DDC RID: 11740 RVA: 0x00093FE4 File Offset: 0x000921E4
// (set) Token: 0x06002DDD RID: 11741 RVA: 0x00093FEC File Offset: 0x000921EC
protected bool OwnerModified
{
get
{
return this.owner_modified;
}
set
{
this.owner_modified = value;
}
}
/// Initializes a new instance of the class with the specified values.
/// The object that this method creates.
/// The identity to which the access rule applies. It must be an object that can be cast as a .
/// The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators.
/// true if this rule is inherited from a parent container.
/// Specifies the inheritance properties of the access rule.
/// Specifies whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to .
/// Specifies the valid access control type.
// Token: 0x06002DDE RID: 11742
public abstract AccessRule AccessRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type);
/// Initializes a new instance of the class with the specified values.
/// The object that this method creates.
/// The identity to which the audit rule applies. It must be an object that can be cast as a .
/// The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators.
/// true if this rule is inherited from a parent container.
/// Specifies the inheritance properties of the audit rule.
/// Specifies whether inherited audit rules are automatically propagated. The propagation flags are ignored if is set to .
/// Specifies the conditions for which the rule is audited.
// Token: 0x06002DDF RID: 11743
public abstract AuditRule AuditRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags);
/// Gets the primary group associated with the specified owner.
/// The primary group associated with the specified owner.
/// The owner for which to get the primary group.
///
///
///
// Token: 0x06002DE0 RID: 11744 RVA: 0x00093FF8 File Offset: 0x000921F8
[MonoTODO]
public IdentityReference GetGroup(Type targetType)
{
throw new NotImplementedException();
}
/// Gets the owner associated with the specified primary group.
/// The owner associated with the specified group.
/// The primary group for which to get the owner.
///
///
///
// Token: 0x06002DE1 RID: 11745 RVA: 0x00094000 File Offset: 0x00092200
[MonoTODO]
public IdentityReference GetOwner(Type targetType)
{
throw new NotImplementedException();
}
/// Returns an array of byte values that represents the security descriptor information for this object.
/// An array of byte values that represents the security descriptor for this object. This method returns null if there is no security information in this object.
// Token: 0x06002DE2 RID: 11746 RVA: 0x00094008 File Offset: 0x00092208
[MonoTODO]
public byte[] GetSecurityDescriptorBinaryForm()
{
throw new NotImplementedException();
}
/// Returns the Security Descriptor Definition Language (SDDL) representation of the specified sections of the security descriptor associated with this object.
/// The SDDL representation of the specified sections of the security descriptor associated with this object.
/// Specifies which sections (access rules, audit rules, primary group, owner) of the security descriptor to get.
// Token: 0x06002DE3 RID: 11747 RVA: 0x00094010 File Offset: 0x00092210
[MonoTODO]
public string GetSecurityDescriptorSddlForm(AccessControlSections includeSections)
{
throw new NotImplementedException();
}
/// Returns a Boolean value that specifies whether the security descriptor associated with this object can be converted to the Security Descriptor Definition Language (SDDL) format.
/// true if the security descriptor associated with this object can be converted to the Security Descriptor Definition Language (SDDL) format; otherwise, false.
// Token: 0x06002DE4 RID: 11748 RVA: 0x00094018 File Offset: 0x00092218
[MonoTODO]
public static bool IsSddlConversionSupported()
{
throw new NotImplementedException();
}
/// Applies the specified modification to the Discretionary Access Control List (DACL) associated with this object.
/// true if the DACL is successfully modified; otherwise, false.
/// The modification to apply to the DACL.
/// The access rule to modify.
/// true if the DACL is successfully modified; otherwise, false.
// Token: 0x06002DE5 RID: 11749 RVA: 0x00094020 File Offset: 0x00092220
[MonoTODO]
public virtual bool ModifyAccessRule(AccessControlModification modification, AccessRule rule, out bool modified)
{
throw new NotImplementedException();
}
/// Applies the specified modification to the System Access Control List (SACL) associated with this object.
/// true if the SACL is successfully modified; otherwise, false.
/// The modification to apply to the SACL.
/// The audit rule to modify.
/// true if the SACL is successfully modified; otherwise, false.
// Token: 0x06002DE6 RID: 11750 RVA: 0x00094028 File Offset: 0x00092228
[MonoTODO]
public virtual bool ModifyAuditRule(AccessControlModification modification, AuditRule rule, out bool modified)
{
throw new NotImplementedException();
}
/// Removes all access rules associated with the specified .
/// The for which to remove all access rules.
/// All access rules are not in canonical order.
// Token: 0x06002DE7 RID: 11751 RVA: 0x00094030 File Offset: 0x00092230
[MonoTODO]
public virtual void PurgeAccessRules(IdentityReference identity)
{
throw new NotImplementedException();
}
/// Removes all audit rules associated with the specified .
/// The for which to remove all audit rules.
/// All audit rules are not in canonical order.
// Token: 0x06002DE8 RID: 11752 RVA: 0x00094038 File Offset: 0x00092238
[MonoTODO]
public virtual void PurgeAuditRules(IdentityReference identity)
{
throw new NotImplementedException();
}
/// Sets or removes protection of the access rules associated with this object. Protected access rules cannot be modified by parent objects through inheritance.
/// true to protect the access rules associated with this object from inheritance; false to allow inheritance.
/// true to preserve inherited access rules; false to remove inherited access rules. This parameter is ignored if is false.
/// This method attempts to remove inherited rules from a non-canonical Discretionary Access Control List (DACL).
// Token: 0x06002DE9 RID: 11753 RVA: 0x00094040 File Offset: 0x00092240
[MonoTODO]
public void SetAccessRuleProtection(bool isProtected, bool preserveInheritance)
{
throw new NotImplementedException();
}
/// Sets or removes protection of the audit rules associated with this object. Protected audit rules cannot be modified by parent objects through inheritance.
/// true to protect the audit rules associated with this object from inheritance; false to allow inheritance.
/// true to preserve inherited audit rules; false to remove inherited audit rules. This parameter is ignored if is false.
/// This method attempts to remove inherited rules from a non-canonical System Access Control List (SACL).
// Token: 0x06002DEA RID: 11754 RVA: 0x00094048 File Offset: 0x00092248
[MonoTODO]
public void SetAuditRuleProtection(bool isProtected, bool preserveInheritance)
{
throw new NotImplementedException();
}
/// Sets the primary group for the security descriptor associated with this object.
/// The primary group to set.
// Token: 0x06002DEB RID: 11755 RVA: 0x00094050 File Offset: 0x00092250
[MonoTODO]
public void SetGroup(IdentityReference identity)
{
throw new NotImplementedException();
}
/// Sets the owner for the security descriptor associated with this object.
/// The owner to set.
// Token: 0x06002DEC RID: 11756 RVA: 0x00094058 File Offset: 0x00092258
[MonoTODO]
public void SetOwner(IdentityReference identity)
{
throw new NotImplementedException();
}
/// Sets the security descriptor for this object from the specified array of byte values.
/// The array of bytes from which to set the security descriptor.
// Token: 0x06002DED RID: 11757 RVA: 0x00094060 File Offset: 0x00092260
[MonoTODO]
public void SetSecurityDescriptorBinaryForm(byte[] binaryForm)
{
throw new NotImplementedException();
}
/// Sets the specified sections of the security descriptor for this object from the specified array of byte values.
/// The array of bytes from which to set the security descriptor.
/// The sections (access rules, audit rules, owner, primary group) of the security descriptor to set.
// Token: 0x06002DEE RID: 11758 RVA: 0x00094068 File Offset: 0x00092268
[MonoTODO]
public void SetSecurityDescriptorBinaryForm(byte[] binaryForm, AccessControlSections includeSections)
{
throw new NotImplementedException();
}
/// Sets the security descriptor for this object from the specified Security Descriptor Definition Language (SDDL) string.
/// The SDDL string from which to set the security descriptor.
// Token: 0x06002DEF RID: 11759 RVA: 0x00094070 File Offset: 0x00092270
[MonoTODO]
public void SetSecurityDescriptorSddlForm(string sddlForm)
{
throw new NotImplementedException();
}
/// Sets the specified sections of the security descriptor for this object from the specified Security Descriptor Definition Language (SDDL) string.
/// The SDDL string from which to set the security descriptor.
/// The sections (access rules, audit rules, owner, primary group) of the security descriptor to set.
// Token: 0x06002DF0 RID: 11760 RVA: 0x00094078 File Offset: 0x00092278
[MonoTODO]
public void SetSecurityDescriptorSddlForm(string sddlForm, AccessControlSections includeSections)
{
throw new NotImplementedException();
}
/// Applies the specified modification to the Discretionary Access Control List (DACL) associated with this object.
/// true if the DACL is successfully modified; otherwise, false.
/// The modification to apply to the DACL.
/// The access rule to modify.
/// true if the DACL is successfully modified; otherwise, false.
// Token: 0x06002DF1 RID: 11761
protected abstract bool ModifyAccess(AccessControlModification modification, AccessRule rule, out bool modified);
/// Applies the specified modification to the System Access Control List (SACL) associated with this object.
/// true if the SACL is successfully modified; otherwise, false.
/// The modification to apply to the SACL.
/// The audit rule to modify.
/// true if the SACL is successfully modified; otherwise, false.
// Token: 0x06002DF2 RID: 11762
protected abstract bool ModifyAudit(AccessControlModification modification, AuditRule rule, out bool modified);
/// Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks.
/// The handle used to retrieve the persisted information.
/// One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save.
// Token: 0x06002DF3 RID: 11763 RVA: 0x00094080 File Offset: 0x00092280
[MonoTODO]
protected virtual void Persist(SafeHandle handle, AccessControlSections includeSections)
{
throw new NotImplementedException();
}
/// Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks.
/// The name used to retrieve the persisted information.
/// One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save.
// Token: 0x06002DF4 RID: 11764 RVA: 0x00094088 File Offset: 0x00092288
[MonoTODO]
protected virtual void Persist(string name, AccessControlSections includeSections)
{
throw new NotImplementedException();
}
/// Saves the specified sections of the security descriptor associated with this object to permanent storage. We recommend that the values of the parameters passed to the constructor and persist methods be identical. For more information, see Remarks.
/// true to enable the privilege that allows the caller to take ownership of the object.
/// The name used to retrieve the persisted information.
/// One of the enumeration values that specifies the sections of the security descriptor (access rules, audit rules, owner, primary group) of the securable object to save.
// Token: 0x06002DF5 RID: 11765 RVA: 0x00094090 File Offset: 0x00092290
[MonoTODO]
protected virtual void Persist(bool enableOwnershipPrivilege, string name, AccessControlSections includeSections)
{
throw new NotImplementedException();
}
/// Locks this object for read access.
// Token: 0x06002DF6 RID: 11766 RVA: 0x00094098 File Offset: 0x00092298
[MonoTODO]
protected void ReadLock()
{
throw new NotImplementedException();
}
/// Unlocks this object for read access.
// Token: 0x06002DF7 RID: 11767 RVA: 0x000940A0 File Offset: 0x000922A0
[MonoTODO]
protected void ReadUnlock()
{
throw new NotImplementedException();
}
/// Locks this object for write access.
// Token: 0x06002DF8 RID: 11768 RVA: 0x000940A8 File Offset: 0x000922A8
[MonoTODO]
protected void WriteLock()
{
throw new NotImplementedException();
}
/// Unlocks this object for write access.
// Token: 0x06002DF9 RID: 11769 RVA: 0x000940B0 File Offset: 0x000922B0
[MonoTODO]
protected void WriteUnlock()
{
throw new NotImplementedException();
}
// Token: 0x0400121A RID: 4634
private bool is_container;
// Token: 0x0400121B RID: 4635
private bool is_ds;
// Token: 0x0400121C RID: 4636
private bool access_rules_modified;
// Token: 0x0400121D RID: 4637
private bool audit_rules_modified;
// Token: 0x0400121E RID: 4638
private bool group_modified;
// Token: 0x0400121F RID: 4639
private bool owner_modified;
}
}