private static System.IO.Pipes.NamedPipeServerStream GetPipeServer(string aPipeName, System.IO.Pipes.PipeDirection aDir) { //Get "Everyone" for localized OS: http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/0737f978-a998-453d-9a6a-c348285d7ea3/ System.Security.Principal.SecurityIdentifier sid = new System.Security.Principal.SecurityIdentifier(System.Security.Principal.WellKnownSidType.WorldSid, null); System.Security.Principal.NTAccount acct = sid.Translate(typeof(System.Security.Principal.NTAccount)) as System.Security.Principal.NTAccount; System.IO.Pipes.PipeSecurity ps = new System.IO.Pipes.PipeSecurity(); System.IO.Pipes.PipeAccessRule par = new System.IO.Pipes.PipeAccessRule(acct, System.IO.Pipes.PipeAccessRights.ReadWrite, System.Security.AccessControl.AccessControlType.Allow); ps.AddAccessRule(par); return new System.IO.Pipes.NamedPipeServerStream(aPipeName, aDir, 1, System.IO.Pipes.PipeTransmissionMode.Message, System.IO.Pipes.PipeOptions.None, 4096, 4096, ps); }
public MyServer(string pipeName) { var rule = new System.IO.Pipes.PipeAccessRule("Everyone", System.IO.Pipes.PipeAccessRights.FullControl, System.Security.AccessControl.AccessControlType.Allow); var security = new System.IO.Pipes.PipeSecurity(); security.AddAccessRule(rule); var server = new NamedPipeServer <MyMessage>(pipeName, security); server.ClientConnected += OnClientConnected; server.ClientDisconnected += OnClientDisconnected; server.ClientMessage += OnClientMessage; server.Error += OnError; server.Start(); while (KeepRunning) { // Do nothing - wait for user to press 'q' key } server.Stop(); }
public void SetAccessRule(System.IO.Pipes.PipeAccessRule rule) { }
public void RemoveAccessRuleSpecific(System.IO.Pipes.PipeAccessRule rule) { }
public bool RemoveAccessRule(System.IO.Pipes.PipeAccessRule rule) { throw null; }
private System.IO.Pipes.NamedPipeServerStream GetPipeServer(System.IO.Pipes.PipeDirection aDir) { System.IO.Pipes.PipeSecurity ps = new System.IO.Pipes.PipeSecurity(); System.IO.Pipes.PipeAccessRule par = new System.IO.Pipes.PipeAccessRule("Everyone", System.IO.Pipes.PipeAccessRights.ReadWrite, System.Security.AccessControl.AccessControlType.Allow); ps.AddAccessRule(par); return new System.IO.Pipes.NamedPipeServerStream("XervBackup.Pipe." + aDir.ToString(), aDir, 1, System.IO.Pipes.PipeTransmissionMode.Message, System.IO.Pipes.PipeOptions.Asynchronous, 4096, 4096, ps); }
public bool RemoveAccessRule(System.IO.Pipes.PipeAccessRule rule) { return(default(bool)); }