Не могу разобраться с PID
(пишу правда на C, но это все равно)
Мне надо контролировать TCP соединения программы Merin.exe.
1.Написал функцию GetProcessByExeName, вызываю :
GetProcessByExeName(pid,"Merin.exe");
- получаю в переменной pid идентификатор процесса, совпадающий с тем
что выдает утилита Tcpview.exe, то есть верный.
2.С помощью функции GetExtendedTcpTable получаю таблицу TCP соединений :
GetExtendedTcpTable(tcp,&sz,FALSE,AF_INET,TCP_TABL E_OWNER_PID_ALL,0);
3.В цикле ищу свой pid :
Если tcp->table[i].dwOwningPid равен pid, то это мой Merin.exe
- и не нахожу его. То есть нахожу много других процессов, а Merin.exe
(обычная сетевая терминалка) отсутствует. Связана она по TCP со 127.0.0.1.
Может, неверные параметры у GetExtendedTcpTable ?
|