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


Функция SetIpNetEntry2

Функция SetIpNetEntry2 задает физический адрес существующей записи IP-адреса соседа на локальном компьютере.

Синтаксис

NETIOAPI_API SetIpNetEntry2(
  _In_ PMIB_IPNET_ROW2 Row
);

Параметры

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

SetIpNetEntry2 возвращает STATUS_SUCCESS, если функция выполнена успешно.

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

Код возврата Описание
STATUS_INVALID_PARAMETER

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

  • В параметре Row был передан указатель NULL.

  • Для элемента AddressMIB_IPNET_ROW2 структуры, на которую указывает параметр Row , не задан допустимый одноадресный, любой или многоадресный адрес IPv4 или IPv6.

  • Для элементов PhysicalAddress и PhysicalAddressLength структуры MIB_IPNET_ROW2 не задан допустимый физический адрес.

  • Элементы InterfaceLuid и InterfaceIndex структуры MIB_IPNET_ROW2 не указаны.

  • В элементе Address передан адрес замыкания на себя.

STATUS_NOT_FOUND

Не удалось найти указанный интерфейс. Эта ошибка возвращается, если функции не удается найти сетевой интерфейс, указанный элементом InterfaceLuid или InterfaceIndex структуры MIB_IPNET_ROW2, на которую указывает параметр Row .

STATUS_NOT_SUPPORTED

Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере не расположен стек IPv4 и адрес IPv4 был указан в элементе Address структуры MIB_IPNET_ROW2, на которую указывает параметр Row , или если на локальном компьютере не расположен стек IPv6, а адрес IPv6 был указан в элементе Address .

Другое

Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

Драйвер должен инициализировать следующие элементы структуры MIB_IPNET_ROW2 , на которую указывает параметр Row .

  • Адрес
    Задайте допустимый одноадресный, любой или многоадресный адрес IPv4 или IPv6 и семейство.

  • PhysicalAddress и PhysicalAddressLength
    Задайте допустимый физический адрес.

  • InterfaceLuid или InterfaceIndex
    Эти элементы используются в порядке, указанном ранее. Таким образом, если указан InterfaceLuid , этот член используется для определения интерфейса. Если для элемента InterfaceLuid не задано значение (значение этого элемента равно нулю), для определения интерфейса будет использоваться элемент InterfaceIndex .

Функция SetIpNetEntry2 завершается сбоем, если IP-адрес, передаваемый в элементе Address структуры MIB_IPNET_ROW2, на которую указывает параметр Row , не является существующим СОСЕДНИм IP-адресом в указанном интерфейсе.

Требования

Целевая платформа

Универсальное

Версия

Доступно в Windows Vista и более поздних версиях операционных систем Windows.

Заголовок

Netioapi.h (включая Netioapi.h)

Библиотека

Netio.lib

IRQL

< DISPATCH_LEVEL

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

CreateIpNetEntry2

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2