예제 #1
0
        public PipeServer(String name, IPipeHandler handler, int instances, int pipeServerType)
        {
            m_handler             = handler;
            m_pipename            = name;
            m_ServerInstanceCount = instances;

            switch (pipeServerType)
            {
            case 0:
                m_sec = new PipeSecurity();
                m_sec.AddAccessRule(new PipeAccessRule(WindowsIdentity.GetCurrent().User,
                                                       PipeAccessRights.FullControl, AccessControlType.Allow)
                                    );

                m_sec.AddAccessRule(new PipeAccessRule(
                                        new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null),
                                        PipeAccessRights.ReadWrite, AccessControlType.Allow)
                                    );
                break;

            default:
                break;
            }

            for (int i = 0; i < instances; i++)
            {
                PipeServerCreate(pipeServerType);
            }
        }
예제 #2
0
        public PipeServer(String name, IPipeHandler handler, int instances)
        {
            m_running = true;

            m_handler  = handler;
            m_pipename = name;


            m_sec = new PipeSecurity();
            m_sec.AddAccessRule(new PipeAccessRule(WindowsIdentity.GetCurrent().User,
                                                   PipeAccessRights.FullControl, AccessControlType.Allow)
                                );

            m_sec.AddAccessRule(new PipeAccessRule(
                                    new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null),
                                    PipeAccessRights.ReadWrite, AccessControlType.Allow)
                                );

            for (int i = 0; i < instances; i++)
            {
                PipeServerCreate();
            }
        }
 public void Remove(IPipeHandler handler)
 {
     _handlers.Remove(handler);
 }
 public void Register(IPipeHandler handler)
 {
     _handlers.Add(handler);
 }