public ProcessInfo(procinfo info) { if (info != null) { this.nPID = info.nPID; this.nCPUTime = info.nCPUTime; this.nMemUse = info.nMemUse; this.nThreadCount = info.nThreadCount; this.nVMSize = info.nVMSize; this.szProcName = info.szProcName; } else { this.nPID = 0; this.nCPUTime = 0; this.nMemUse = 0; this.nThreadCount = 0; this.nVMSize = 0; this.szProcName = string.Empty; } }
public g2e_getprocinfo() { nProcCount = 0; Proc = new procinfo[80]; for(int i = 0; i < 80; i++) { Proc[i] = new procinfo(); } }
public void UpdateProcessInfo(procinfo[] infos) { if (infos != null) { lock (_processInfoList.SyncRoot) { _processInfoList.Clear(); for (int i = 0; i < infos.Length; i++) { _processInfoList.Add(new ProcessInfo(infos[i])); } } } }
private void MessageReceived(GameServer server, IProtocol message) { switch ((ProtocolDef)message.ProtocolId) { case ProtocolDef.g2e_getprocinfo_def: g2e_getprocinfo protocol = message as g2e_getprocinfo; procinfo[] infos = new procinfo[protocol.nProcCount]; Array.Copy(protocol.Proc, infos, infos.Length); server.UpdateProcessInfo(infos); break; default: break; } }