DiscretionaryAcl.RemoveAccess DiscretionaryAcl.RemoveAccess DiscretionaryAcl.RemoveAccess DiscretionaryAcl.RemoveAccess Method

Definition

Removes the specified access control rule from the current DiscretionaryAcl object.

Overloads

RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule) RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule) RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule) RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule)

Removes the specified access control rule from the current DiscretionaryAcl object.

RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags) RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags) RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags)

Removes the specified access control rule from the current DiscretionaryAcl object.

RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid) RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid) RemoveAccess(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.

Remarks

Access removal is accomplished by using a complex algorithm that might add ACEs in addition to removing them.

RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule) RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule) RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule) RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule)

Removes the specified access control rule from the current DiscretionaryAcl object.

public:
 bool RemoveAccess(System::Security::AccessControl::AccessControlType accessType, System::Security::Principal::SecurityIdentifier ^ sid, System::Security::AccessControl::ObjectAccessRule ^ rule);
public bool RemoveAccess (System.Security.AccessControl.AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, System.Security.AccessControl.ObjectAccessRule rule);
member this.RemoveAccess : System.Security.AccessControl.AccessControlType * System.Security.Principal.SecurityIdentifier * System.Security.AccessControl.ObjectAccessRule -> bool
Public Function RemoveAccess (accessType As AccessControlType, sid As SecurityIdentifier, rule As ObjectAccessRule) As Boolean

Parameters

accessType
AccessControlType AccessControlType AccessControlType AccessControlType

The type of access control (allow or deny) to remove.

Returns

RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags) RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags) RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags)

Removes the specified access control rule from the current DiscretionaryAcl object.

public:
 bool RemoveAccess(System::Security::AccessControl::AccessControlType accessType, System::Security::Principal::SecurityIdentifier ^ sid, int accessMask, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags);
public bool RemoveAccess (System.Security.AccessControl.AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, int accessMask, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags);
member this.RemoveAccess : System.Security.AccessControl.AccessControlType * System.Security.Principal.SecurityIdentifier * int * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags -> bool

Parameters

accessType
AccessControlType AccessControlType AccessControlType AccessControlType

The type of access control (allow or deny) to remove.

accessMask
Int32 Int32 Int32 Int32

The access mask for the rule to be removed.

inheritanceFlags
InheritanceFlags InheritanceFlags InheritanceFlags InheritanceFlags

Flags that specify the inheritance properties of the rule to be removed.

propagationFlags
PropagationFlags PropagationFlags PropagationFlags PropagationFlags

Flags that specify the inheritance propagation properties for the rule to be removed.

Returns

true if this method successfully removes the specified access; otherwise, false.

Remarks

Access removal is accomplished by using a complex algorithm that might add Access Control Entries (ACEs) in addition to removing them.

RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid) RemoveAccess(AccessControlType, SecurityIdentifier, Int32, InheritanceFlags, PropagationFlags, ObjectAceFlags, Guid, Guid) RemoveAccess(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:
 bool RemoveAccess(System::Security::AccessControl::AccessControlType accessType, System::Security::Principal::SecurityIdentifier ^ sid, int accessMask, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType);
public bool RemoveAccess (System.Security.AccessControl.AccessControlType accessType, System.Security.Principal.SecurityIdentifier sid, int accessMask, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.ObjectAceFlags objectFlags, Guid objectType, Guid inheritedObjectType);
member this.RemoveAccess : System.Security.AccessControl.AccessControlType * System.Security.Principal.SecurityIdentifier * int * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.ObjectAceFlags * Guid * Guid -> bool

Parameters

accessType
AccessControlType AccessControlType AccessControlType AccessControlType

The type of access control (allow or deny) to remove.

accessMask
Int32 Int32 Int32 Int32

The access mask for the access control rule to be removed.

inheritanceFlags
InheritanceFlags InheritanceFlags InheritanceFlags InheritanceFlags

Flags that specify the inheritance properties of the access control rule to be removed.

propagationFlags
PropagationFlags PropagationFlags PropagationFlags PropagationFlags

Flags that specify the inheritance propagation properties for the access control rule to be removed.

objectFlags
ObjectAceFlags ObjectAceFlags ObjectAceFlags ObjectAceFlags

Flags that specify if the objectType and inheritedObjectType parameters contain non-null values.

objectType
Guid Guid Guid Guid

The identity of the class of objects to which the removed access control rule applies.

inheritedObjectType
Guid Guid Guid Guid

The identity of the class of child objects which can inherit the removed access control rule.

Returns

true if this method successfully removes the specified access; otherwise, false.

Remarks

Access removal is accomplished by using a complex algorithm that might add Access Control Entries (ACEs) in addition to removing them.

Applies to