This documentation is archived and is not being maintained.

DiscretionaryAcl Class

Represents a Discretionary Access Control List (DACL).

Namespace:  System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)

public ref class DiscretionaryAcl sealed : public CommonAcl

The DiscretionaryAcl type exposes the following members.

  NameDescription
Public methodDiscretionaryAcl(Boolean, Boolean, Int32)Initializes a new instance of the DiscretionaryAcl class with the specified values.
Public methodDiscretionaryAcl(Boolean, Boolean, RawAcl)Initializes a new instance of the DiscretionaryAcl class with the specified values from the specified RawAcl object.
Public methodDiscretionaryAcl(Boolean, Boolean, Byte, Int32)Initializes a new instance of the DiscretionaryAcl class with the specified values.
Top

  NameDescription
Public propertyBinaryLengthGets the length, in bytes, of the binary representation of the current CommonAcl object. This length should be used before marshaling the access control list (ACL) into a binary array by using the GetBinaryForm() method. (Inherited from CommonAcl.)
Public propertyCountGets the number of access control entries (ACEs) in the current CommonAcl object. (Inherited from CommonAcl.)
Public propertyIsCanonicalGets a Boolean value that specifies whether the access control entries (ACEs) in the current CommonAcl object are in canonical order. (Inherited from CommonAcl.)
Public propertyIsContainerSets whether the CommonAcl object is a container. (Inherited from CommonAcl.)
Public propertyIsDSSets whether the current CommonAcl object is a directory object access control list (ACL). (Inherited from CommonAcl.)
Public propertyIsSynchronizedThis property is always set to false. It is implemented only because it is required for the implementation of the ICollection interface. (Inherited from GenericAcl.)
Public propertyItemGets or sets the CommonAce at the specified index. (Inherited from CommonAcl.)
Public propertyRevisionGets the revision level of the CommonAcl. (Inherited from CommonAcl.)
Public propertySyncRootThis property always returns nullptr. It is implemented only because it is required for the implementation of the ICollection interface. (Inherited from GenericAcl.)
Top

  NameDescription
Public methodAddAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags)Adds an Access Control Entry (ACE) with the specified settings to the current DiscretionaryAcl object.
Public methodAddAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid)Adds an Access Control Entry (ACE) with the specified settings to the current DiscretionaryAcl object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type for the new ACE.
Public methodCopyToCopies each GenericAce of the current GenericAcl into the specified array. (Inherited from GenericAcl.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetBinaryFormMarshals the contents of the CommonAcl object into the specified byte array beginning at the specified offset. (Inherited from CommonAcl.)
Public methodGetEnumeratorReturns a new instance of the AceEnumerator class. (Inherited from GenericAcl.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodPurgeRemoves all access control entries (ACEs) contained by this CommonAcl object that are associated with the specified SecurityIdentifier object. (Inherited from CommonAcl.)
Public methodRemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags)Removes the specified access control rule from the current DiscretionaryAcl object.
Public methodRemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid)Removes the specified access control rule from the current DiscretionaryAcl object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type.
Public methodRemoveAccessSpecific(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags)Removes the specified Access Control Entry (ACE) from the current DiscretionaryAcl object.
Public methodRemoveAccessSpecific(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid)Removes the specified Access Control Entry (ACE) from the current DiscretionaryAcl object. Use this method for directory object Access Control Lists (ACLs) when specifying the object type or the inherited object type for the ACE to be removed.
Public methodRemoveInheritedAcesRemoves all inherited access control entries (ACEs) from this CommonAcl object. (Inherited from CommonAcl.)
Public methodSetAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags)Sets the specified access control for the specified SecurityIdentifier object.
Public methodSetAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid)Sets the specified access control for the specified SecurityIdentifier object.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Explicit interface implemetationPrivate methodICollection::CopyToCopies each GenericAce of the current GenericAcl into the specified array. (Inherited from GenericAcl.)
Explicit interface implemetationPrivate methodIEnumerable::GetEnumeratorReturns a new instance of the AceEnumerator class cast as an instance of the IEnumerator interface. (Inherited from GenericAcl.)
Top

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show: