Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция GetIpForwardTable2 извлекает записи IP-маршрута на локальном компьютере.
Синтаксис
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpForwardTable2(
[in] ADDRESS_FAMILY Family,
[out] PMIB_IPFORWARD_TABLE2 *Table
);
Параметры
[in] Family
Извлекаемая семья адресов.
Возможные значения для семейства адресов перечислены в файле заголовка Winsock2.h . Обратите внимание, что значения для семейства адресов AF_ и констант семейства PF_ протоколов идентичны (например, AF_INET и PF_INET), поэтому можно использовать либо константу.
На Windows SDK, выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась, и возможные значения для этого элемента определяются в файле заголовка Ws2def.h. Обратите внимание, что файл заголовка Ws2def.h автоматически включается в Winsock2.h и никогда не должен использоваться напрямую.
В настоящее время поддерживаются значения AF_INET, AF_INET6 и AF_UNSPEC.
[out] Table
Указатель на структуру MIB_IPFORWARD_TABLE2 , содержащую таблицу записей IP-маршрутов на локальном компьютере.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
| Код возврата | Описание |
|---|---|
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Table передается указатель NULL или параметр Family не указан как AF_INET, AF_INET6 или AF_UNSPEC. |
|
Недостаточно ресурсов памяти для завершения операции. |
|
Записи IP-маршрута, указанные в параметре Family , не найдены. |
|
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4 и AF_INET был указан в параметре Family . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6 и AF_INET6 был указан в параметре Family . Эта ошибка также возвращается в версиях Windows, в которых эта функция не поддерживается. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки. |
Комментарии
Функция GetIpForwardTable2 определена в Windows Vista и более поздних версиях.
The
Функция GetIpForwardTable2 перечисляет записи IP-маршрута в локальной системе и возвращает эти сведения в MIB_IPFORWARD_TABLE2 структуре.
Записи IP-маршрута возвращаются в структуре MIB_IPFORWARD_TABLE2 в буфере, на который указывает параметр Table . Структура MIB_IPFORWARD_TABLE2 содержит число записей IP-маршрутов и массив MIB_IPFORWARD_ROW2 структур для каждой записи IP-маршрута. Если возвращаемые структуры больше не требуются, освободите память, вызвав FreeMibTable.
Параметр Family должен быть инициализирован AF_INET, AF_INET6 или AF_UNSPEC.
Обратите внимание, что возвращаемая MIB_IPFORWARD_TABLE2 структура, на которую указывает параметр Table, может содержать заполнение для выравнивания между элементом NumEntries и первой записью массива MIB_IPFORWARD_ROW2 в элементе Tableструктуры MIB_IPFORWARD_TABLE2 . Между MIB_IPFORWARD_ROW2 записями массива также может присутствовать заполнение для выравнивания. Любой доступ к записи MIB_IPFORWARD_ROW2 массива должен предполагать наличие заполнения.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
| Целевая платформа | Windows |
| Header | netioapi.h (включая Iphlpapi.h) |
| Библиотека | Iphlpapi.lib |
| DLL | Iphlpapi.dll |