EventWaitHandleSecurity.AccessRuleFactory Method (IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Creates a new access control rule for the specified user, with the specified access rights, access control, and flags.

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

public override AccessRule AccessRuleFactory(
	IdentityReference identityReference,
	int accessMask,
	bool isInherited,
	InheritanceFlags inheritanceFlags,
	PropagationFlags propagationFlags,
	AccessControlType type


Type: System.Security.Principal.IdentityReference

An IdentityReference that identifies the user or group the rule applies to.

Type: System.Int32

A bitwise combination of EventWaitHandleRights values specifying the access rights to allow or deny, cast to an integer.

Type: System.Boolean

Meaningless for named wait handles, because they have no hierarchy.

Type: System.Security.AccessControl.InheritanceFlags

Meaningless for named wait handles, because they have no hierarchy.

Type: System.Security.AccessControl.PropagationFlags

Meaningless for named wait handles, because they have no hierarchy.

Type: System.Security.AccessControl.AccessControlType

One of the AccessControlType values specifying whether the rights are allowed or denied.

Return Value

Type: System.Security.AccessControl.AccessRule

An EventWaitHandleAccessRule object representing the specified rights for the specified user.

Exception Condition

accessMask, inheritanceFlags, propagationFlags, or type specifies an invalid value.


identityReference is null.


accessMask is zero.


identityReference is neither of type SecurityIdentifier, nor of a type such as NTAccount that can be converted to type SecurityIdentifier.

The recommended way to create access control rules is to use the constructors of the EventWaitHandleAccessRule class.


Although inheritance and propagation flags are meaningless for named events, it is still possible to specify them. This is not recommended, because it needlessly complicates the maintenance of rules, for example by interfering with the combination of rules that would otherwise be compatible.

.NET Framework
Available since 2.0
Return to top