public void SetAudit () { SecurityIdentifier adminSid = new SecurityIdentifier ("BA"); // S-1-5-32-544 SecurityIdentifier userSid = new SecurityIdentifier ("BU"); // S-1-5-32-545 SystemAcl sacl = new SystemAcl (true, false, 0); sacl.SetAudit (AuditFlags.Success, adminSid, 1, InheritanceFlags.ObjectInherit, PropagationFlags.None); sacl.SetAudit (AuditFlags.Success, userSid, 2, InheritanceFlags.None, PropagationFlags.None); Assert.AreEqual (2, sacl.Count); CommonAce ace = (CommonAce)sacl [0]; Assert.AreEqual (adminSid, ace.SecurityIdentifier); Assert.AreEqual (1, ace.AccessMask); sacl.SetAudit (AuditFlags.Success, adminSid, 4, InheritanceFlags.ObjectInherit, PropagationFlags.None); Assert.AreNotEqual (4, ace.AccessMask); ace = (CommonAce)sacl [0]; Assert.AreEqual (4, ace.AccessMask); sacl.SetAudit (AuditFlags.Failure, adminSid, 4, InheritanceFlags.ObjectInherit, PropagationFlags.None); Assert.AreEqual (2, sacl.Count); ace = (CommonAce)sacl [0]; Assert.AreEqual (AuditFlags.Failure, ace.AuditFlags); Assert.AreEqual (adminSid, ace.SecurityIdentifier); ace = (CommonAce)sacl [1]; Assert.AreEqual (AuditFlags.Success, ace.AuditFlags); Assert.AreEqual (userSid, ace.SecurityIdentifier); }