В Windows XP (SP2, если необходимо), есть ли способ определить из приложения пользовательского пространства, что открыт сокет TCP / UDP (из любого процесса)? Мне известны функции GetExtendedTcpTable()
и GetExtendedUdpTable()
, но они обнаруживают только в настоящее время открытых сокетов. Некоторые сокеты закрываются сразу после открытия, и единственный способ, которым я смогу обнаружить их существование, - это уведомление об открытии.
Если такого механизма в пользовательском пространстве не существует, я хочу пойти в пространство ядра, чтобы получить эту функциональность. Есть ли какие-либо документированные / недокументированные функции, которые могли бы сделать это?