Функция CreateAnycastIpAddressEntry

Функция createAnycastIpAddressEntry добавляет новую запись IP-адреса любой рассылки на локальном компьютере.

Синтаксис

NETIOAPI_API CreateAnycastIpAddressEntry(
  _In_ const MIB_ANYCASTIPADDRESS_ROW *Row
);

Параметры

  • строк [in]
    Указатель на запись структуры MIB_ANYCASTIPADDRESS_ROW для записи IP-адреса любой рассылки.

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

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

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

Возвращаемый код Описание
STATUS_INVALID_PARAMETER

Недопустимый параметр был передан функции. Эта ошибка возвращается, если указатель NULL передается в параметре row, Элемент адреса структуры MIB_ANYCASTIPADDRESS_ROW, на который указывает параметр Row, не задан допустимый одноадресный IPv4 или IPv6-адрес или InterfaceLuid и InterfaceIndex члены структуры MIB_ANYCASTIPADDRESS_ROW были не указаны.

STATUS_NOT_FOUND

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

STATUS_NOT_SUPPORTED

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

ERROR_OBJECT_ALREADY_EXISTS

Объект уже существует. Эта ошибка возвращается, если элемент адреса MIB_ANYCASTIPADDRESS_ROW структуры, указывающей параметр строки, является дубликатом существующего IP-адреса любой рассылки в интерфейсе, указанном InterfaceLuid или InterfaceIndex член структуры MIB_ANYCASTIPADDRESS_ROW.

Другие

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

Замечания

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

  • адрес
    Задайте допустимый ip-адрес и семейство одноадресной рассылки IPv4 или IPv6.

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

Элемент ScopeId структуры MIB_ANYCASTIPADDRESS_ROW, на который указывает параметр row, игнорируется при вызове функции CreateAnycastIpAddressEntry. Элемент ScopeId автоматически определяется интерфейсом, в который добавляется адрес.

Функция createAnycastIpAddressEntry завершается ошибкой, если ip-адрес любой рассылки, передаваемый в элементе address структуры MIB_ANYCASTIPADDRESS_ROW, что параметр row указывает на дубликат существующего IP-адреса любой рассылки в интерфейсе.

Требования

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

универсальные

Версия

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

Заголовок

Netioapi.h (include Netioapi.h)

Библиотека

Netio.lib

IRQL

< DISPATCH_LEVEL

См. также

DeleteAnycastIpAddressEntry

GetAnycastIpAddressEntry

GetAnycastIpAddressTable

MIB_ANYCASTIPADDRESS_ROW

MIB_ANYCASTIPADDRESS_TABLE