mscorlib 2.0.0.0 4.0.0.0 System.Security.AccessControl.GenericAcl

Certain combinations of inheritance and access mask flags are meaningless:

Any access control entry (ACE) with a zero-access mask is removed.

Inherit-only ACEs inside object ACLs are removed.

, , and flags on all ACEs in leaf object ACLs are cleared.

ACEs that have an flag in the absence of the or flag are meaningless; they are removed.

The flag in the absence of the or flag can be removed.

ACEs that have an value of or in discretionary access control lists (DACLs) are removed.

Any audit ACE that does not specify either or is removed.

On DACLs, SystemAudit and SystemAlarm ACEs are removed.

On system access control lists (SACLs), AccessAllowed and AccessDenied ACEs are removed.

Canonical order is maintained according to the following algorithm:

Explicit ACEs take precedence over inherited ACEs; this rule applies to both DACLs and SACLs.

In DACLs, among the explicit ACEs, ACEs that deny access take precedence over ACEs that allow access. For directory object ACLs, the nonobject ACEs come before object ACEs.

All common ACEs take precedence over noncommon ACEs.

Inherited ACEs maintain their relative order after canonicity.

Unrecognized and custom ACEs are disallowed in both DACLs and SACLs.

Within contiguous ranges (explicit AccessDenied and AccessAllowed ACEs on DACLs, all explicit ACEs on SACLs), the ACEs are sorted by using the methods of the objects associated with the ACEs.

Adjacent ACEs are combined, if appropriate. This reduces the size of the ACL without affecting the access control semantics it grants.

Represents an access control list (ACL) and is the base class for the and classes.

- Property
  2.0.0.0
  4.0.0.0
  System.Int32 To be added. To be added.

  Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the access control list (ACL) into a binary array by using the method.

- Property
  2.0.0.0
  4.0.0.0
  System.Int32 To be added. To be added.

  Gets the number of access control entries (ACEs) in the current object.

- Method
  2.0.0.0
  4.0.0.0
  System.Void `` `` To be added.

  Marshals the contents of the object into the specified byte array beginning at the specified offset.

  The byte array into which the contents of the is marshaled. The offset at which to start marshaling.
- Property
  2.0.0.0
  4.0.0.0
  System.Boolean To be added. To be added.

  Gets a Boolean value that specifies whether the access control entries (ACEs) in the current object are in canonical order.

- Property
  2.0.0.0
  4.0.0.0
  System.Boolean To be added. To be added.

  Sets whether the object is a container.

- Property
  2.0.0.0
  4.0.0.0
  System.Boolean To be added. To be added.

  Sets whether the current object is a directory object access control list (ACL).

- Property
  2.0.0.0
  4.0.0.0
  System.Security.AccessControl.GenericAce `` To be added. To be added. To be added. To be added.
- Method
  2.0.0.0
  4.0.0.0
  System.Void `` To be added.

  Removes all access control entries (ACEs) contained by this object that are associated with the specified object.

  The object to check for.
- Method
  2.0.0.0
  4.0.0.0
  System.Void To be added.

  Removes all inherited access control entries (ACEs) from this object.

- Property
  2.0.0.0
  4.0.0.0
  System.Byte To be added. To be added.

  Gets the revision level of the .