switch to using ZwQuerySystemInformation for enumerating processes

git-svn-id: svn://svn.code.sf.net/p/processhacker/code@431 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
wj32
2008-12-27 04:26:58 +00:00
parent 4f7ba223c8
commit b04aeeb56a
9 changed files with 258 additions and 204 deletions
@@ -126,23 +126,26 @@ namespace ProcessHacker
return TreePath.Empty;
else
{
ProcessNode currentNode = node;
Stack<ProcessNode> stack = new Stack<ProcessNode>();
while (true)
{
stack.Push(node);
stack.Push(currentNode);
if (_processes.ContainsKey(node.PPID))
if (_processes.ContainsKey(currentNode.PPID))
{
ProcessNode newNode = _processes[node.PPID];
ProcessNode newNode = _processes[currentNode.PPID];
if (newNode == node)
if (newNode == currentNode)
break;
node = newNode;
currentNode = newNode;
}
else
{
break;
}
}
return new TreePath(stack.ToArray());