Early Preview

This is currently very much a preview. Please feel free to try things out, but don't be upset if anything is not yet working. Feedback is welcome over on our GitHub Dicussions page.

class System.​Security.​AccessControl.​SystemAcl

Assembly: System.Security.AccessControl

Inheritance: object → GenericAclCommonAcl → SystemAcl

Implemented Interfaces

Represents a System Access Control List (SACL).

Properties

public int
BinaryLength
Gets the length, in bytes, of the binary representation of the current <see cref="T:System.Security.AccessControl.CommonAcl" /> object. This length should be used before marshaling the access control list (ACL) into a binary array by using the <see cref="M:System.Security.AccessControl.CommonAcl.GetBinaryForm(System.Byte[],System.Int32)" /> method.
public int
Count
Gets the number of access control entries (ACEs) in the current <see cref="T:System.Security.AccessControl.CommonAcl" /> object.
public bool
IsCanonical
Gets a Boolean value that specifies whether the access control entries (ACEs) in the current <see cref="T:System.Security.AccessControl.CommonAcl" /> object are in canonical order.
public bool
IsContainer
Sets whether the <see cref="T:System.Security.AccessControl.CommonAcl" /> object is a container.
public bool
IsDS
Sets whether the current <see cref="T:System.Security.AccessControl.CommonAcl" /> object is a directory object access control list (ACL).
public GenericAce
Item
public byte
Revision
Gets the revision level of the <see cref="T:System.Security.AccessControl.CommonAcl" /> .
public bool
IsSynchronized
This property is always set to <see langword="false" /> . It is implemented only because it is required for the implementation of the <see cref="T:System.Collections.ICollection" /> interface.
public object
SyncRoot
This property always returns <see langword="null" /> . It is implemented only because it is required for the implementation of the <see cref="T:System.Collections.ICollection" /> interface.

Methods

public void
AddAudit​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Adds an audit rule to the current <see cref="T:System.Security.AccessControl.SystemAcl" /> object.
auditFlags The type of audit rule to add.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to add an audit rule.
accessMask The access mask for the new audit rule.
inheritanceFlags Flags that specify the inheritance properties of the new audit rule.
propagationFlags Flags that specify the inheritance propagation properties for the new audit rule.
public void
AddAudit​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Adds an audit rule with the specified settings to the current <see cref="T:System.Security.AccessControl.SystemAcl" /> object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type for the new audit rule.
auditFlags The type of audit rule to add.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to add an audit rule.
accessMask The access mask for the new audit rule.
inheritanceFlags Flags that specify the inheritance properties of the new audit rule.
propagationFlags Flags that specify the inheritance propagation properties for the new audit rule.
objectFlags Flags that specify if the <paramref name="objectType" /> and <paramref name="inheritedObjectType" /> parameters contain non- <see langword="null" /> values.
objectType The identity of the class of objects to which the new audit rule applies.
inheritedObjectType The identity of the class of child objects which can inherit the new audit rule.
public void
AddAudit​(Principal.​SecurityIdentifier sid, ObjectAuditRule rule)
Adds an audit rule to the current <see cref="T:System.Security.AccessControl.SystemAcl" /> object.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to add an audit rule.
rule The <see cref="T:System.Security.AccessControl.ObjectAuditRule" /> for the new audit rule.
public bool
RemoveAudit​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Removes the specified audit rule from the current <see cref="T:System.Security.AccessControl.SystemAcl" /> object.
Returns <see langword="true" /> if this method successfully removes the specified audit rule; otherwise, <see langword="false" /> .
auditFlags The type of audit rule to remove.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to remove an audit rule.
accessMask The access mask for the rule to be removed.
inheritanceFlags Flags that specify the inheritance properties of the rule to be removed.
propagationFlags Flags that specify the inheritance propagation properties for the rule to be removed.
public bool
RemoveAudit​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Removes the specified audit rule from the current <see cref="T:System.Security.AccessControl.SystemAcl" /> object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type.
Returns <see langword="true" /> if this method successfully removes the specified audit rule; otherwise, <see langword="false" /> .
auditFlags The type of audit rule to remove.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to remove an audit rule.
accessMask The access mask for the rule to be removed.
inheritanceFlags Flags that specify the inheritance properties of the rule to be removed.
propagationFlags Flags that specify the inheritance propagation properties for the rule to be removed.
objectFlags Flags that specify if the <paramref name="objectType" /> and <paramref name="inheritedObjectType" /> parameters contain non- <see langword="null" /> values.
objectType The identity of the class of objects to which the removed audit control rule applies.
inheritedObjectType The identity of the class of child objects which can inherit the removed audit rule.
public bool
RemoveAudit​(Principal.​SecurityIdentifier sid, ObjectAuditRule rule)
Removes the specified audit rule from the current <see cref="T:System.Security.AccessControl.SystemAcl" /> object.
Returns <see langword="true" /> if this method successfully removes the specified audit rule; otherwise, <see langword="false" /> .
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to remove an audit rule.
rule The <see cref="T:System.Security.AccessControl.ObjectAuditRule" /> for which to remove an audit rule.
public void
RemoveAuditSpecific​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Removes the specified audit rule from the current <see cref="T:System.Security.AccessControl.DiscretionaryAcl" /> object.
auditFlags The type of audit rule to remove.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to remove an audit rule.
accessMask The access mask for the rule to be removed.
inheritanceFlags Flags that specify the inheritance properties of the rule to be removed.
propagationFlags Flags that specify the inheritance propagation properties for the rule to be removed.
public void
RemoveAuditSpecific​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Removes the specified audit rule from the current <see cref="T:System.Security.AccessControl.DiscretionaryAcl" /> object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type.
auditFlags The type of audit rule to remove.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to remove an audit rule.
accessMask The access mask for the rule to be removed.
inheritanceFlags Flags that specify the inheritance properties of the rule to be removed.
propagationFlags Flags that specify the inheritance propagation properties for the rule to be removed.
objectFlags Flags that specify if the <paramref name="objectType" /> and <paramref name="inheritedObjectType" /> parameters contain non- <see langword="null" /> values.
objectType The identity of the class of objects to which the removed audit control rule applies.
inheritedObjectType The identity of the class of child objects which can inherit the removed audit rule.
public void
RemoveAuditSpecific​(Principal.​SecurityIdentifier sid, ObjectAuditRule rule)
Removes the specified audit rule from the current <see cref="T:System.Security.AccessControl.DiscretionaryAcl" /> object.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to remove an audit rule.
rule The <see cref="T:System.Security.AccessControl.ObjectAuditRule" /> for the rule to be removed.
public void
SetAudit​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags)
Sets the specified audit rule for the specified <see cref="T:System.Security.Principal.SecurityIdentifier" /> object.
auditFlags The audit condition to set.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to set an audit rule.
accessMask The access mask for the new audit rule.
inheritanceFlags Flags that specify the inheritance properties of the new audit rule.
propagationFlags Flags that specify the inheritance propagation properties for the new audit rule.
public void
SetAudit​(AuditFlags auditFlags, Principal.​SecurityIdentifier sid, int accessMask, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType)
Sets the specified audit rule for the specified <see cref="T:System.Security.Principal.SecurityIdentifier" /> object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type.
auditFlags The audit condition to set.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to set an audit rule.
accessMask The access mask for the new audit rule.
inheritanceFlags Flags that specify the inheritance properties of the new audit rule.
propagationFlags Flags that specify the inheritance propagation properties for the new audit rule.
objectFlags Flags that specify if the <paramref name="objectType" /> and <paramref name="inheritedObjectType" /> parameters contain non- <see langword="null" /> values.
objectType The identity of the class of objects to which the new audit rule applies.
inheritedObjectType The identity of the class of child objects which can inherit the new audit rule.
public void
SetAudit​(Principal.​SecurityIdentifier sid, ObjectAuditRule rule)
Sets the specified audit rule for the specified <see cref="T:System.Security.Principal.SecurityIdentifier" /> object.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> for which to set an audit rule.
rule The <see cref="T:System.Security.AccessControl.ObjectAuditRule" /> for which to set an audit rule.
public void
GetBinaryForm​(byte[] binaryForm, int offset)
Inherited from CommonAcl
Marshals the contents of the <see cref="T:System.Security.AccessControl.CommonAcl" /> object into the specified byte array beginning at the specified offset.
binaryForm The byte array into which the contents of the <see cref="T:System.Security.AccessControl.CommonAcl" /> is marshaled.
offset The offset at which to start marshaling.
public void
Purge​(Principal.​SecurityIdentifier sid)
Inherited from CommonAcl
Removes all access control entries (ACEs) contained by this <see cref="T:System.Security.AccessControl.CommonAcl" /> object that are associated with the specified <see cref="T:System.Security.Principal.SecurityIdentifier" /> object.
sid The <see cref="T:System.Security.Principal.SecurityIdentifier" /> object to check for.
public void
RemoveInheritedAces​()
Inherited from CommonAcl
Removes all inherited access control entries (ACEs) from this <see cref="T:System.Security.AccessControl.CommonAcl" /> object.
public void
CopyTo​(GenericAce[] array, int index)
Inherited from GenericAcl
Copies each <see cref="T:System.Security.AccessControl.GenericAce" /> of the current <see cref="T:System.Security.AccessControl.GenericAcl" /> into the specified array.
array The array into which copies of the <see cref="T:System.Security.AccessControl.GenericAce" /> objects contained by the current <see cref="T:System.Security.AccessControl.GenericAcl" /> are placed.
index The zero-based index of <paramref name="array" /> where the copying begins.
public AceEnumerator
GetEnumerator​()
Inherited from GenericAcl
Retrieves an object that you can use to iterate through the access control entries (ACEs) in an access control list (ACL).
Returns An enumerator object.
public bool
Equals​(object obj)
Inherited from object
protected void
Finalize​()
Inherited from object
public int
GetHashCode​()
Inherited from object
public Type
GetType​()
Inherited from object
protected object
MemberwiseClone​()
Inherited from object
public string
ToString​()
Inherited from object