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


Функция CreateAnycastIpAddressEntry

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

Синтаксис

NETIOAPI_API CreateAnycastIpAddressEntry(
  _In_ const MIB_ANYCASTIPADDRESS_ROW *Row
);

Параметры

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

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

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

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

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

STATUS_NOT_FOUND

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

STATUS_NOT_SUPPORTED

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

ERROR_OBJECT_ALREADY_EXISTS

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

Другое

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

Комментарии

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

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

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

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

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

Требования

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

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

Версия

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

Заголовок

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

Библиотека

Netio.lib

IRQL

< DISPATCH_LEVEL

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

DeleteAnycastIpAddressEntry

GetAnycastIpAddressEntry

GetAnycastIpAddressTable

MIB_ANYCASTIPADDRESS_ROW

MIB_ANYCASTIPADDRESS_TABLE