Функция GetExtendedUdpTable (iphlpapi.h)
Функция GetExtendedUdpTable извлекает таблицу, содержащую список конечных точек UDP, доступных приложению.
Синтаксис
IPHLPAPI_DLL_LINKAGE DWORD GetExtendedUdpTable(
[out] PVOID pUdpTable,
[in, out] PDWORD pdwSize,
[in] BOOL bOrder,
[in] ULONG ulAf,
[in] UDP_TABLE_CLASS TableClass,
[in] ULONG Reserved
);
Параметры
[out] pUdpTable
Указатель на структуру таблицы, содержащую отфильтрованные конечные точки UDP, доступные приложению. Сведения об определении типа возвращаемой таблицы на основе конкретных сочетаний входных параметров см. в разделе Примечания далее в этом документе.
[in, out] pdwSize
Предполагаемый размер структуры, возвращаемой в pUdpTable, в байтах. Если это значение слишком мало, функция возвращает ERROR_INSUFFICIENT_BUFFER , и это поле будет содержать правильный размер структуры.
[in] bOrder
Значение типа , указывающее, следует ли отсортировать таблицу конечных точек UDP. Если для этого параметра задано значение TRUE, конечные точки UDP в таблице сортируются по возрастанию, начиная с самого низкого локального IP-адреса. Если для этого параметра задано значение FALSE, конечные точки UDP в таблице отображаются в том порядке, в котором они были получены.
При упорядочении конечных точек UDP сравниваются следующие значения:
- Локальный IP-адрес
- Локальный идентификатор область (применяется, если для параметра ulAf задано значение AF_INET6)
- Локальный UDP-порт
[in] ulAf
Версия IP-адреса, используемого конечной точкой UDP.
Значение | Значение |
---|---|
|
Используется протокол IPv4. |
|
Используется IPv6. |
[in] TableClass
Тип извлекаемой структуры таблицы UDP. Этот параметр может быть одним из значений перечисления UDP_TABLE_CLASS .
В windows SDK, выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась, и перечисление UDP_TABLE_CLASS определяется в файле заголовка Iprtrmib.h , а не в файле заголовка Iphlpapi.h .
Значение перечисления UDP_TABLE_CLASS объединяется со значением параметра ulAf для определения извлекаемых расширенных сведений UDP.
[in] Reserved
Зарезервировано. Это значение должно быть равно нулю.
Возвращаемое значение
Если вызов выполнен успешно, возвращается значение NO_ERROR .
Если функция завершается сбоем, возвращается один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Для таблицы было выделено недостаточно места. Размер таблицы возвращается в параметре pdwSize и должен использоваться при последующем вызове этой функции для успешного извлечения таблицы.
Эта ошибка также возвращается, если параметр pUdpTable имеет значение NULL. |
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если параметр TableClass содержит значение, не определенное в перечислении UDP_TABLE_CLASS . |
Комментарии
Тип таблицы, возвращаемый этой функцией, зависит от конкретного сочетания параметров ulAf и TableClass .
Если для параметра ulAf задано значение AF_INET, в следующей таблице указан тип таблицы UDP, который необходимо получить в структуре, на которую указывает параметр pUdpTable для каждого возможного значения TableClass .
Значение TableClass | Структура pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDPTABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDPTABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDPTABLE_OWNER_PID |
Если для параметра ulAf задано значение AF_INET6, в следующей таблице указан тип таблицы TCP, который необходимо получить в структуре, на которую указывает параметр pUdpTable для каждого возможного значения TableClass .
Значение TableClass | Структура pUdpTable |
---|---|
UDP_TABLE_BASIC | MIB_UDP6TABLE |
UDP_TABLE_OWNER_MODULE | MIB_UDP6TABLE_OWNER_MODULE |
UDP_TABLE_OWNER_PID | MIB_UDP6TABLE_OWNER_PID |
Функция GetExtendedUdpTable при вызове с параметром ulAf , заданным в AF_INET6 , а tableClass — UDP_TABLE_BASIC , поддерживается только в Windows Vista и более поздних версиях.
В Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2) функция GetExtendedUdpTable, вызываемая с параметромulAf , для параметра AF_INET6 и tableClass , для UDP_TABLE_BASIC завершается сбоем и возвращает ERROR_NOT_SUPPORTED.
В windows SDK, выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась. Различные структуры MIB_UDPTABLE определяются в файле заголовка Udpmib.h , а не в файле заголовка Iprtrmib.h . Обратите внимание, что файл заголовка Udpmib.h автоматически включается в iprtrmib.h, который автоматически включается в файл заголовка Iphlpapi.h . Файлы заголовков Udpmib.h и Iprtrmib.h никогда не должны использоваться напрямую.
Требования
Минимальная версия клиента | Windows Vista, Windows XP с пакетом обновления 2 (SP2) [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008, Windows Server 2003 с пакетом обновления 1 (SP1) [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | iphlpapi.h |
Библиотека | Iphlpapi.lib |
DLL | Iphlpapi.dll |