Функция 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.
Если функция завершается сбоем или не возвращает какие-либо данные, возвращается один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Буфер, на который указывает параметр pIpNetTable, недостаточно велик. Требуемый размер возвращается в переменной DWORD , на которую указывает параметр pdwSize . |
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если параметр pdwSize имеет значение NULL или GetIpNetTable не может выполнить запись в память, на которую указывает параметр pdwSize . |
|
Возвращаемые данные отсутствуют. Таблица сопоставления IPv4 с физическими адресами пуста. Это возвращаемое значение указывает, что вызов функции GetIpNetTable выполнен успешно, но возвращаемых данных не было. |
|
Транспорт 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 |
См. также раздел
Справочник по вспомогательной функции IP