using System;
using System.Security.Principal;
namespace System.Security.AccessControl
{
/// Represents a set of access rights to be audited for a user or group. This class cannot be inherited.
// Token: 0x020004BE RID: 1214
public sealed class EventWaitHandleAuditRule : AuditRule
{
/// Initializes a new instance of the class, specifying the user or group to audit, the rights to audit, and whether to audit success, failure, or both.
/// The user or group the rule applies to. Must be of type or a type such as that can be converted to type .
/// A bitwise combination of values specifying the kinds of access to audit.
/// A bitwise combination of values specifying whether to audit success, failure, or both.
///
/// specifies an invalid value.-or- specifies an invalid value.
///
/// is null. -or- is zero.
///
/// is .
///
/// is neither of type nor of a type such as that can be converted to type .
// Token: 0x06002D37 RID: 11575 RVA: 0x00093794 File Offset: 0x00091994
public EventWaitHandleAuditRule(IdentityReference identity, EventWaitHandleRights eventRights, AuditFlags flags)
: base(identity, 0, false, InheritanceFlags.None, PropagationFlags.None, flags)
{
if (eventRights < EventWaitHandleRights.Modify || eventRights > EventWaitHandleRights.FullControl)
{
throw new ArgumentOutOfRangeException("eventRights");
}
if (flags < AuditFlags.None || flags > AuditFlags.Failure)
{
throw new ArgumentOutOfRangeException("flags");
}
if (identity == null)
{
throw new ArgumentNullException("identity");
}
if (eventRights == (EventWaitHandleRights)0)
{
throw new ArgumentNullException("eventRights");
}
if (flags == AuditFlags.None)
{
throw new ArgumentException("flags");
}
if (!(identity is SecurityIdentifier))
{
throw new ArgumentException("identity");
}
this.rights = eventRights;
}
/// Gets the access rights affected by the audit rule.
/// A bitwise combination of values that indicates the rights affected by the audit rule.
// Token: 0x170008DB RID: 2267
// (get) Token: 0x06002D38 RID: 11576 RVA: 0x0009383C File Offset: 0x00091A3C
public EventWaitHandleRights EventWaitHandleRights
{
get
{
return this.rights;
}
}
// Token: 0x040011D5 RID: 4565
private EventWaitHandleRights rights;
}
}