using System; using System.Security.Principal; namespace System.Security.AccessControl { /// Represents a combination of a user's identity, an access mask, and audit conditions. An object also contains information about the type of object to which the rule applies, the type of child object that can inherit the rule, how the rule is inherited by child objects, and how that inheritance is propagated. // Token: 0x020004D3 RID: 1235 public abstract class ObjectAuditRule : AuditRule { /// Initializes a new instance of the class. /// The identity to which the access rule applies. It must be an object that can be cast as a . /// The access mask of this rule. The access mask is a 32-bit collection of anonymous bits, the meaning of which is defined by the individual integrators. /// true if this rule is inherited from a parent container. /// Specifies the inheritance properties of the access rule. /// Whether inherited access rules are automatically propagated. The propagation flags are ignored if is set to . /// The type of object to which the rule applies. /// The type of child object that can inherit the rule. /// The audit conditions. /// The value of the parameter cannot be cast as a , or the parameter contains an invalid value. /// The value of the parameter is 0, or the or parameters contain unrecognized flag values. // Token: 0x06002DC7 RID: 11719 RVA: 0x00093EE0 File Offset: 0x000920E0 protected ObjectAuditRule(IdentityReference identity, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, Guid objectType, Guid inheritedObjectType, AuditFlags auditFlags) : base(identity, accessMask, isInherited, inheritanceFlags, propagationFlags, auditFlags) { this.object_type = objectType; this.inherited_object_type = inheritedObjectType; } /// Gets the type of child object that can inherit the object. /// The type of child object that can inherit the object. // Token: 0x17000904 RID: 2308 // (get) Token: 0x06002DC8 RID: 11720 RVA: 0x00093F04 File Offset: 0x00092104 public Guid InheritedObjectType { get { return this.inherited_object_type; } } /// /// and properties of the object contain valid values. /// /// specifies that the property contains a valid value. specifies that the property contains a valid value. These values can be combined with a logical OR. // Token: 0x17000905 RID: 2309 // (get) Token: 0x06002DC9 RID: 11721 RVA: 0x00093F0C File Offset: 0x0009210C public ObjectAceFlags ObjectFlags { get { ObjectAceFlags objectAceFlags = ObjectAceFlags.None; if (this.object_type != Guid.Empty) { objectAceFlags |= ObjectAceFlags.ObjectAceTypePresent; } if (this.inherited_object_type != Guid.Empty) { objectAceFlags |= ObjectAceFlags.InheritedObjectAceTypePresent; } return objectAceFlags; } } /// Gets the type of object to which the applies. /// The type of object to which the applies. // Token: 0x17000906 RID: 2310 // (get) Token: 0x06002DCA RID: 11722 RVA: 0x00093F50 File Offset: 0x00092150 public Guid ObjectType { get { return this.object_type; } } // Token: 0x04001218 RID: 4632 private Guid inherited_object_type; // Token: 0x04001219 RID: 4633 private Guid object_type; } }