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


Функция GetMulticastIpAddressEntry (netioapi.h)

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

Синтаксис

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetMulticastIpAddressEntry(
  [in, out] PMIB_MULTICASTIPADDRESS_ROW Row
);

Параметры

[in, out] Row

Указатель на запись структуры MIB_MULTICASTIPADDRESS_ROW для записи многоадресного IP-адреса. При успешном возвращении в эту структуру будут добавлены свойства существующего IP-адреса многоадресной рассылки.

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

Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.

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

Код возврата Описание
ERROR_FILE_NOT_FOUND
Системе не удается найти указанный файл. Эта ошибка возвращается, если luID сетевого интерфейса или индекс интерфейса, заданный элементом InterfaceLuid или InterfaceIndexMIB_MULTICASTIPADDRESS_ROW , на который указывает параметр Row , не является значением на локальном компьютере.
ERROR_INVALID_PARAMETER
Неправильный параметр. Эта ошибка возвращается, если в параметре Row передается указатель NULL, члену Address MIB_MULTICASTIPADDRESS_ROW, на который указывает параметр Row, не задан допустимый адрес многоадресной рассылки IPv4 или IPv6 либо не указаны оба элемента InterfaceLuid или InterfaceIndexMIB_MULTICASTIPADDRESS_ROW, на которые указывает параметр Row.
ERROR_NOT_FOUND
Элемент не найден. Эта ошибка возвращается, если сетевой интерфейс, указанный элементом InterfaceLuid или InterfaceIndexструктуры MIB_MULTICASTIPADDRESS_ROW , на которую указывает параметр Row , не соответствует IP-адресу и семейству адресов, указанным в элементе Address в структуре MIB_MULTICASTIPADDRESS_ROW .
ERROR_NOT_SUPPORTED
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4 и IPv4-адрес указан в элементе AddressMIB_MULTICASTIPADDRESS_ROW , на который указывает параметр Row . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6 и в элементе Address указан IPv6-адрес.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

Функция GetMulticastIpAddressEntry определена в Windows Vista и более поздних версиях.

Функция GetMulticastIpAddressEntry используется для получения существующей записи структуры MIB_MULTICASTIPADDRESS_ROW .

Во входных данных элемент Address в структуре MIB_MULTICASTIPADDRESS_ROW , на который указывает параметр Row , должен быть инициализирован допустимым адресом многоадресной рассылки IPv4 или IPv6-адресом и семейством. Кроме того, необходимо инициализировать по крайней мере один из следующих элементов в структуре MIB_MULTICASTIPADDRESS_ROW , указываемой на параметр Row : InterfaceLuid или InterfaceIndex.

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

При успешном вызове GetMulticastIpAddressEntry извлекает другие свойства многоадресного IP-адреса и заполняет структуру MIB_MULTICASTIPADDRESS_ROW , на которую указывает параметр Row .

Можно вызвать функцию GetMulticastIpAddressTable для перечисления записей многоадресных IP-адресов на локальном компьютере.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header netioapi.h (включая Iphlpapi.h)
Библиотека Iphlpapi.lib
DLL Iphlpapi.dll

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

GetMulticastIpAddressTable

MIB_MULTICASTIPADDRESS_ROW

MIB_MULTICASTIPADDRESS_TABLE