示例#1
0
        /// <summary>
        /// Creates a RemoteSessionNamedPipeServer with the current process and AppDomain information.
        /// </summary>
        /// <returns>RemoteSessionNamedPipeServer</returns>
        public static RemoteSessionNamedPipeServer CreateRemoteSessionNamedPipeServer()
        {
            string appDomainName = NamedPipeUtils.GetCurrentAppDomainName();

            return(new RemoteSessionNamedPipeServer(NamedPipeUtils.CreateProcessPipeName(
                                                        System.Diagnostics.Process.GetCurrentProcess(), appDomainName)));
        }
示例#2
0
        /// <summary>
        /// Constructor. Creates Named Pipe based on process Id, app domain name and container object root path.
        /// </summary>
        /// <param name="procId">Target process Id for pipe.</param>
        /// <param name="appDomainName">AppDomain name or null for default AppDomain</param>
        /// <param name="containerObRoot">Container OB root.</param>
        public ContainerSessionNamedPipeClient(
            int procId,
            string appDomainName,
            string containerObRoot)
        {
            if (String.IsNullOrEmpty(containerObRoot))
            {
                throw new PSArgumentNullException("containerObRoot");
            }

            //
            // Named pipe inside Windows Server container is under different name space.
            //
            _pipeName = containerObRoot + @"\Device\NamedPipe\" +
                        NamedPipeUtils.CreateProcessPipeName(procId, appDomainName);
        }
示例#3
0
 /// <summary>
 /// Constructor. Creates Named Pipe based on process Id.
 /// </summary>
 /// <param name="procId">Target process Id for pipe.</param>
 /// <param name="appDomainName">AppDomain name or null for default AppDomain</param>
 public RemoteSessionNamedPipeClient(
     int procId, string appDomainName) :
     this(NamedPipeUtils.CreateProcessPipeName(procId, appDomainName))
 {
 }
示例#4
0
 /// <summary>
 /// Constructor.  Creates Named Pipe based on process object.
 /// </summary>
 /// <param name="process">Target process object for pipe.</param>
 /// <param name="appDomainName">AppDomain name or null for default AppDomain</param>
 public RemoteSessionNamedPipeClient(
     System.Diagnostics.Process process, string appDomainName) :
     this(NamedPipeUtils.CreateProcessPipeName(process, appDomainName))
 {
 }