Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция 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 |