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


Функция setipv4sourcefilter (ws2tcpip.h)

Встроенная функция setipv4sourcefilter задает состояние фильтра многоадресной рассылки для сокета IPv4.

Синтаксис

int setipv4sourcefilter(
  [in] SOCKET              Socket,
  [in] IN_ADDR             Interface,
  [in] IN_ADDR             Group,
  [in] MULTICAST_MODE_TYPE FilterMode,
  [in] ULONG               SourceCount,
  [in] const IN_ADDR       *SourceList
);

Параметры

[in] Socket

Дескриптор, идентифицирующий сокет многоадресной рассылки.

[in] Interface

Локальный IPv4-адрес интерфейса или индекс интерфейса, к которому следует присоединить или удалить группу многоадресной рассылки.

Это значение находится в порядке сетевых байтов. Если этот член указывает IPv4-адрес 0.0.0.0, используется многоадресный интерфейс IPv4 по умолчанию.

Любой IP-адрес в блоке 0.x.x.x (первый октет 0), кроме IPv4-адреса 0.0.0.0, обрабатывается как индекс интерфейса. Индекс интерфейса — это 24-разрядное число, а блок адресов IPv4 0.0.0.0/8 не используется (этот диапазон зарезервирован).

Если использовать индекс интерфейса 1, он будет совпадать с IP-адресом 0.0.0.1.

[in] Group

IPv4-адрес группы многоадресной рассылки.

[in] FilterMode

Режим фильтрации многоадресной рассылки для адреса группы многоадресной рассылки.

[in] SourceCount

Число исходных адресов в буфере, на который указывает параметр SourceList .

[in] SourceList

Указатель на буфер с IP-адресами, которые необходимо связать с фильтром многоадресной рассылки.

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

При успешном выполнении setipv4sourcefilter возвращает NO_ERROR (0). Любое ненулевое возвращаемое значение указывает на сбой, и конкретный код ошибки можно получить, вызвав WSAGetLastError.

Код ошибки Значение
WSAENOBUFS
Недостаточно места в буфере.
WSAENOTSOCK
Дескриптор не является сокетом.

Комментарии

Встроенная функция setipv4sourcefilter используется для установки состояния фильтра многоадресной рассылки для сокета IPv4.

Эта функция является частью расширений интерфейса сокета для фильтров источников многоадресной рассылки, определенных в RFC 3678. Приложение может использовать эти функции для получения и задания фильтров адресов источника многоадресной рассылки, связанных с сокетом.

Windows Phone 8. Эта функция поддерживается для приложений Магазина Windows Phone на Windows Phone 8 и более поздних версиях.

Windows 8.1 и Windows Server 2012 R2. Эта функция поддерживается для приложений Магазина Windows на Windows 8.1, Windows Server 2012 R2 и более поздних версиях.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1, Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header ws2tcpip.h
Библиотека Ws2_32.lib
DLL Ws2_32.dll

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

MULTICAST_MODE_TYPE

getipv4sourcefilter

getsourcefilter

in_addr

setsourcefilter