Функция CreateIpNetEntry2
Функция CreateIpNetEntry2 создает новую запись соседнего IP-адреса на локальном компьютере.
Синтаксис
NETIOAPI_API CreateIpNetEntry2(
_In_ const MIB_IPNET_ROW2 *Row
);
Параметры
- Строка [в]
Указатель на запись структуры MIB_IPNET_ROW2 для записи IP-маршрута.
Возвращаемое значение
CreateIpNetEntry2 возвращает STATUS_SUCCESS, если функция выполнена успешно.
В случае сбоя функции CreateIpNetEntry2 возвращает один из следующих кодов ошибок:
Код возврата | Описание |
---|---|
STATUS_INVALID_PARAMETER | В функцию передан недопустимый параметр. Эта ошибка возвращается, если возникает один из следующих элементов:
|
STATUS_NOT_FOUND | Не удалось найти указанный интерфейс. Эта ошибка возвращается, если функции не удается найти сетевой интерфейс, заданный элементом InterfaceLuid или InterfaceIndex структуры MIB_IPNET_ROW2, на которую указывает параметр Row . |
STATUS_NOT_SUPPORTED | Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере не расположен стек IPv4 и IPv4-адрес был указан в элементе Address структуры MIB_IPNET_ROW2, на которую указывает параметр Row , или если на локальном компьютере не расположен стек IPv6 и в элементе Address был указан IPv6-адрес. |
ERROR_OBJECT_ALREADY_EXISTS | Объект уже существует. Эта ошибка возвращается, если элемент Address структуры MIB_IPNET_ROW2, на которую указывает параметр Row , является дубликатом существующего соседнего IP-адреса в интерфейсе, заданном элементом InterfaceLuid или InterfaceIndex структуры MIB_IPNET_ROW2. |
Другое | Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки. |
Комментарии
Драйвер должен инициализировать следующие элементы структуры MIB_IPNET_ROW2 , на которые указывает параметр Row :
Задайте для элемента Address допустимый адрес одноадресной, любой рассылки или многоадресной рассылки IPv4 или IPv6-адрес и семейство.
Задайте для элементов PhysicalAddress и PhysicalAddressLength в структуре MIB_IPNET_ROW2 допустимый физический адрес.
Задайте для InterfaceLuid или InterfaceIndex значение LUID или индекса интерфейса.
Элементы InterfaceLuid и InterfaceIndex используются в порядке, указанном ранее. Таким образом, если указан InterfaceLuid , этот элемент используется для определения интерфейса для добавления одноадресного IP-адреса. Если для элемента InterfaceLuid не задано значение (значение этого элемента было равно нулю), далее для определения интерфейса используется элемент InterfaceIndex .
Функция CreateIpNetEntry2 завершается сбоем, если IP-адрес, передаваемый в элементе Address MIB_IPNET_ROW2 структуры, на которую указывает параметр Row , является дубликатом существующего соседнего IP-адреса в интерфейсе.
Требования
Целевая платформа |
Универсальное |
Версия |
Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Заголовок |
Netioapi.h (включая Netioapi.h) |
Библиотека |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |