/// <summary> /// Initializes a new instance of the <see cref="WindowsConnection"/> class. /// </summary> /// <param name="stateId"> /// The state id. /// </param> /// <param name="localAddress"> /// The local address. /// </param> /// <param name="remoteAddress"> /// The remote address. /// </param> /// <param name="processId"> /// The process id. /// </param> public WindowsConnection(States stateId, IPEndPoint localAddress, IPEndPoint remoteAddress, int processId) { this.ProtocolType = ProtocolTypes.Tcp; this.State = stateId; this.LocalAddress = localAddress; if (this.LocalAddress.Port != 0 && this.LocalAddress.Address.Equals(new IPAddress(0x0))) { this.LocalAddress = new IPEndPoint(new IPAddress(0x0000007F), this.LocalAddress.Port); } this.RemoteAddress = remoteAddress; if (this.RemoteAddress.Port != 0 && this.RemoteAddress.Address.Equals(new IPAddress(0x0))) { this.RemoteAddress = new IPEndPoint(new IPAddress(0x0000007F), this.RemoteAddress.Port); } this.ProcessId = processId; Win32Process process = Win32Process.GetProcessByPidWithCache(this.ProcessId); if (process != null) { this.ProcessName = process.Name; this.ProcessPath = process.ExecutablePath; } }
/// <summary> /// Initializes a new instance of the <see cref="WindowsConnection"/> class. /// </summary> /// <param name="localAddress"> /// The local address. /// </param> /// <param name="processId"> /// The process id. /// </param> public WindowsConnection(IPEndPoint localAddress, int processId) { this.ProtocolType = ProtocolTypes.Udp; this.LocalAddress = localAddress; if (this.LocalAddress.Port != 0 && this.LocalAddress.Address.Equals(new IPAddress(0x0))) { this.LocalAddress = new IPEndPoint(new IPAddress(0x0000007F), this.LocalAddress.Port); } this.ProcessId = processId; Win32Process process = Win32Process.GetProcessByPidWithCache(this.ProcessId); this.ProcessName = process.Name; this.ProcessPath = process.ExecutablePath; }