This documentation is archived and is not being maintained.

ObjectSecurity.SetAccessRuleProtection Method

Sets or removes protection of the access rules associated with this ObjectSecurity object. Protected access rules cannot be modified by parent objects through inheritance.

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

public void SetAccessRuleProtection(
	bool isProtected,
	bool preserveInheritance


Type: System.Boolean
true to protect the access rules associated with this ObjectSecurity object from inheritance; false to allow inheritance.
Type: System.Boolean
true to preserve inherited access rules; false to remove inherited access rules. This parameter is ignored if isProtected is false.


This method attempts to remove inherited rules from a non-canonical Discretionary Access Control List (DACL).

.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.