EventWaitHandleSecurity::RemoveAccessRule Method (EventWaitHandleAccessRule^)
Searches for an access control rule with the same user and AccessControlType (allow or deny) as the specified access rule, and with compatible inheritance and propagation flags; if such a rule is found, the rights contained in the specified access rule are removed from it.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- rule
-
Type:
System.Security.AccessControl::EventWaitHandleAccessRule^
An EventWaitHandleAccessRule that specifies the user and AccessControlType to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found.
| Exception | Condition |
|---|---|
| ArgumentNullException | rule is null. |
The current EventWaitHandleSecurity is searched for a rule that has the same user and the same AccessControlType value as rule. If no such rule is found, no action is taken, and the method returns false. If matching rules are found, their inheritance and compatibility flags are checked for compatibility with the flags specified in rule. If no compatible rule is found, no action is taken, and the method returns false. If a rule with compatible flags is found, the rights specified in rule are removed from the compatible rule, and the method returns true. If rule specifies rights not contained in the compatible rule, no action is taken with respect to those rights. If all rights are removed from the compatible rule, the entire rule is removed from the current EventWaitHandleSecurity object.
Important |
|---|
Although you can specify inheritance and propagation flags for event access rules, by creating them with the AccessRuleFactory method, this is not recommended. Inheritance and propagation have no meaning for named events, and they make the maintenance of access rules more complicated. |
The following code example demonstrates the use of the RemoveAccessRule method to remove rights from an Allow rule in an EventWaitHandleSecurity object. It also shows that other rights in rule are ignored.
The example creates an EventWaitHandleSecurity object and adds rules that allow and deny various rights for the current user. The rights allowed include Modify, ReadPermissions, and Synchronize. The example then creates a new rule for the current user, including ReadPermissions and TakeOwnership rights, and uses that rule with the RemoveAccessRule method to remove ReadPermissions from the Allow rule in the EventWaitHandleSecurity object. The TakeOwnership right in rule is ignored.
Note |
|---|
This example does not attach the security object to a EventWaitHandle object. Examples that attach security objects can be found in EventWaitHandle::GetAccessControl and EventWaitHandle::SetAccessControl. |
Available since 2.0

