Beispiel #1
0
 /// <summary>
 /// Set the Auditing Security Descriptor.
 /// </summary>
 /// <param name="security_information">The security information to set.</param>
 /// <param name="security_descriptor">The security descriptor to set.</param>
 /// <param name="throw_on_error">True to throw on error.</param>
 /// <returns>The NT status code.</returns>
 public static NtStatus SetSecurity(SecurityInformation security_information, SecurityDescriptor security_descriptor, bool throw_on_error)
 {
     using (var buffer = security_descriptor.ToSafeBuffer()) {
         if (!SecurityNativeMethods.AuditSetSecurity(security_information, buffer))
         {
             return(NtObjectUtils.MapDosErrorToStatus().ToNtException(throw_on_error));
         }
         return(NtStatus.STATUS_SUCCESS);
     }
 }