Вопрос по WinAPI функциям GetExtendedUdpTable и GetExtendedTcpTable

168
19 июня 2018, 12:40

Есть следующие функции в WinApi:

   [DllImport("Iphlpapi.dll", SetLastError = true, ExactSpelling = true)]
    static extern uint GetExtendedUdpTable(IntPtr pUdpTable,
       ref int pdwSize,
       bool bOrder,
       uint ulAf,
       UDP_TABLE_CLASS TableClass,
       uint Reserved
       )
       ;
      [DllImport("Iphlpapi.dll", SetLastError = true, ExactSpelling = true)]
    static extern uint GetExtendedTcpTable(IntPtr pTcpTable,
       ref int pdwSize,
       bool bOrder,
       uint ulAf,
       TCP_TABLE_CLASS TableClass,
       uint Reserved
       )
       ;

Все параметры понятны, кроме одного - ulAf. Как написано в MSDN - это версия IP, используемая конечной(-ми) точкой(-ми). Если передать в любую из функций AF_INET, то вернется одно кол-во тэйблов с IP, а если передать AF_INET6, то вернется совершенно другое. Мне кажется, грубо говоря, AF_INET и AF_INET6 нужны для получения соединений IPv4 и IPv6. Прав ли я?

Answer 1

Если передать в любую из функций AF_INET, то вернется одно кол-во тэйблов с IP, а если передать AF_INET6, то вернется совершенно другое.

Так и должно быть, потому что IPv4 и IPv6 (как вы правильно предположили) — это два абсолютно разных протокола, образующих совершенно независимые наборы соединений.

Более того, возвращаемое количество также зависит и от того, какой список запрашиваете, то есть какое значение параметра TableClass передаёте. Ведь эти функции могут возвращать не только соединения различных видов, но и процессы, которым они принадлежат.

READ ALSO
Cохранить текст с определенной строки

Cохранить текст с определенной строки

У меня есть текстЯ хочу часто добавлять в него строки или удалять

174
Ввод данных с задержкой между знаками в selenium

Ввод данных с задержкой между знаками в selenium

Столкнулся с проблемойНужно взять данные с файла и ввести их на сайте с задержкой между знаками (имитация ввода с клавиатуры)

149
вывод сообщения в тестах на C#

вывод сообщения в тестах на C#

Какой метод еще принимает текстовую строку сообщения при успешном тестировании и возвращает ее?

148
Правильное использование Yandex Disk API Client for .NET C#

Правильное использование Yandex Disk API Client for .NET C#

Хочу написать приложение для загрузки файлов на ЯндексДиск с помощью C#

241