public int EnumProcesses(out IEnumDebugProcesses2 ppEnum) { RemoteEnumDebugProcess processList = new RemoteEnumDebugProcess(_computerName); processList.connect(this, _supplier.UsesSSL()); ppEnum = processList; return VSConstants.S_OK; }
public int Clone(out IEnumDebugProcesses2 ppEnum) { ppEnum = new RemoteEnumDebugProcess(_remoteComputer); foreach (ScriptDebugProcess process in _runningProcesses) { ((RemoteEnumDebugProcess)ppEnum)._runningProcesses.Add(process); } return(VSConstants.S_OK); }
public int GetProcess(AD_PROCESS_ID ProcessId, out IDebugProcess2 ppProcess) { RemoteEnumDebugProcess processList = new RemoteEnumDebugProcess(_computerName); processList.connect(this, _supplier.UsesSSL()); uint numProcesses = 0; uint numRetrieved = 0; ppProcess = null; processList.GetCount(out numProcesses); IDebugProcess2[] processes = new IDebugProcess2[numProcesses]; processList.Next(numProcesses, processes, ref numRetrieved); while (numRetrieved >= 0) { if ((processes[numRetrieved - 1] as ScriptDebugProcess).ProcessId == ProcessId.dwProcessId) { ppProcess = processes[numRetrieved - 1]; return VSConstants.S_OK; } numRetrieved--; } return VSConstants.S_FALSE; }