/// <summary> /// Adds <see cref="PipeAccessRule"/>'s for each <see cref="NamedPipeServerStream"/> that will be created by <see cref="PipeServer{T}"/> /// </summary> /// <param name="server"></param> /// <param name="rules"></param> /// <exception cref="ArgumentNullException"></exception> /// <returns></returns> public static void AddAccessRules <T>(this IPipeServer <T> server, params PipeAccessRule[] rules) { server = server ?? throw new ArgumentNullException(nameof(rules)); rules = rules ?? throw new ArgumentNullException(nameof(rules)); var pipeSecurity = new PipeSecurity(); foreach (var rule in rules) { pipeSecurity.AddAccessRule(rule); } server.SetPipeSecurity(pipeSecurity); }