DiscretionaryAcl.RemoveAccess Method

Definition

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

Overloads

RemoveAccess(AccessControlType, SecurityIdentifier, ObjectAccessRule)

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

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)

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)

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

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

sid
SecurityIdentifier

The SecurityIdentifier for which to remove an access control rule.

rule
ObjectAccessRule

The ObjectAccessRule for which to remove access.

Returns

Returns Boolean.

Applies to

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
Public Function RemoveAccess (accessType As AccessControlType, sid As SecurityIdentifier, accessMask As Integer, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags) As Boolean

Parameters

accessType
AccessControlType

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

sid
SecurityIdentifier

The SecurityIdentifier for which to remove an access control rule.

accessMask
Int32

The access mask for the rule to be removed.

inheritanceFlags
InheritanceFlags

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

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.

Applies to

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
Public Function RemoveAccess (accessType As AccessControlType, sid As SecurityIdentifier, accessMask As Integer, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, objectFlags As ObjectAceFlags, objectType As Guid, inheritedObjectType As Guid) As Boolean

Parameters

accessType
AccessControlType

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

sid
SecurityIdentifier

The SecurityIdentifier for which to remove an access control rule.

accessMask
Int32

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

inheritanceFlags
InheritanceFlags

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

propagationFlags
PropagationFlags

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

objectFlags
ObjectAceFlags

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

objectType
Guid

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

inheritedObjectType
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