Поделиться через


Функция GetIpNetTable (iphlpapi.h)

Функция GetIpNetTable извлекает таблицу сопоставления IPv4 с физическими адресами.

Синтаксис

IPHLPAPI_DLL_LINKAGE ULONG GetIpNetTable(
  [out]     PMIB_IPNETTABLE IpNetTable,
  [in, out] PULONG          SizePointer,
  [in]      BOOL            Order
);

Параметры

[out] IpNetTable

Указатель на буфер, который получает таблицу сопоставления IPv4 с физическими адресами в виде MIB_IPNETTABLE структуры.

[in, out] SizePointer

При входе задает размер буфера в байтах, на который указывает параметр pIpNetTable .

В выходных данных, если буфер недостаточно велик для хранения возвращаемой таблицы сопоставления, функция устанавливает этот параметр равным требуемому размеру буфера в байтах.

[in] Order

Логическое значение, указывающее, следует ли отсортировать возвращаемую таблицу сопоставления в порядке возрастания по IP-адресу. Если этот параметр имеет значение TRUE, таблица сортируется.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет NO_ERROR или ERROR_NO_DATA.

Если функция завершается сбоем или не возвращает какие-либо данные, возвращается один из следующих кодов ошибок.

Код возврата Описание
ERROR_INSUFFICIENT_BUFFER
Буфер, на который указывает параметр pIpNetTable, недостаточно велик. Требуемый размер возвращается в переменной DWORD , на которую указывает параметр pdwSize .
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр. Эта ошибка возвращается, если параметр pdwSize имеет значение NULL или GetIpNetTable не может выполнить запись в память, на которую указывает параметр pdwSize .
ERROR_NO_DATA
Возвращаемые данные отсутствуют. Таблица сопоставления IPv4 с физическими адресами пуста. Это возвращаемое значение указывает, что вызов функции GetIpNetTable выполнен успешно, но возвращаемых данных не было.
ERROR_NOT_SUPPORTED
Транспорт IPv4 не настроен на локальном компьютере.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

The
Функция GetIpNetTable перечисляет записи протокола ARP для IPv4 в локальной системе из таблицы сопоставления IPv4 с физическими адресами и возвращает эти сведения в MIB_IPNETTABLE структуре.

Записи IPv4-адресов возвращаются в MIB_IPNETTABLE структуре в буфере, на который указывает параметр pIpNetTable . Структура MIB_IPNETTABLE содержит количество записей ARP и массив структур MIB_IPNETROW для каждой записи IPv4-адреса.

Обратите внимание, что возвращаемая структура MIB_IPNETTABLE , на которую указывает параметр pIpNetTable, может содержать заполнение для выравнивания между элементом dwNumEntries и первой записью массива MIB_IPNETROW в элементе таблицыструктуры MIB_IPNETTABLE . Между MIB_IPNETROW записями массива также может присутствовать заполнение для выравнивания. Любой доступ к записи MIB_IPNETROW массива должен предполагать, что может существовать заполнение.

В Windows Vista и более поздних версий функцию GetIpNetTable2 можно использовать для получения соседних IP-адресов для IPv6 и IPv4.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header iphlpapi.h
Библиотека Iphlpapi.lib
DLL Iphlpapi.dll

См. также раздел

CreateIpNetEntry

DeleteIpNetEntry

FlushIpNetTable

GetIpNetTable2

Справочник по вспомогательной функции IP

Начальная страница вспомогательного ip-адреса

MIB_IPNETROW

MIB_IPNETTABLE

SetIpNetEntry