/// <summary> /// lears DACL and adds ACE for an event trace. /// </summary> /// <param name="guid">The event trace GUID.</param> /// <param name="sid">The SID to set.</param> /// <param name="access_mask">The access mask to set.</param> /// <param name="allow">True to allow, false to deny.</param> public static void SetTraceSecurityDacl(Guid guid, Sid sid, TraceAccessRights access_mask, bool allow) { SetTraceSecurityDacl(guid, sid, access_mask, allow, true); }
/// <summary> /// Modify trace security. /// </summary> /// <param name="guid">The event trace GUID.</param> /// <param name="operation">The operation to perform.</param> /// <param name="sid">The SID to set.</param> /// <param name="access_mask">The access mask to set.</param> /// <param name="allow">True to allow, false to deny.</param> public static void ControlTraceSecurity(Guid guid, EventSecurityOperation operation, Sid sid, TraceAccessRights access_mask, bool allow) { ControlTraceSecurity(guid, operation, sid, access_mask, allow, true); }
/// <summary> /// Clears DACL and adds ACE for an event trace. /// </summary> /// <param name="guid">The event trace GUID.</param> /// <param name="sid">The SID to set.</param> /// <param name="access_mask">The access mask to set.</param> /// <param name="allow">True to allow, false to deny.</param> /// <param name="throw_on_error">True to throw on error.</param> /// <returns>The NT status code.</returns> public static NtStatus SetTraceSecurityDacl(Guid guid, Sid sid, TraceAccessRights access_mask, bool allow, bool throw_on_error) { return(ControlTraceSecurity(guid, EventSecurityOperation.SetDacl, sid, access_mask, allow, throw_on_error)); }
/// <summary> /// Modify trace security. /// </summary> /// <param name="guid">The event trace GUID.</param> /// <param name="operation">The operation to perform.</param> /// <param name="sid">The SID to set.</param> /// <param name="access_mask">The access mask to set.</param> /// <param name="allow">True to allow, false to deny.</param> /// <param name="throw_on_error">True to throw on error.</param> /// <returns>The NT status code.</returns> public static NtStatus ControlTraceSecurity(Guid guid, EventSecurityOperation operation, Sid sid, TraceAccessRights access_mask, bool allow, bool throw_on_error) { using (var buffer = sid.ToSafeBuffer()) { return(Win32NativeMethods.EventAccessControl(ref guid, operation, buffer, access_mask, allow).ToNtException(throw_on_error)); } }