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


структура GROUP_FILTER (ws2ipdef.h)

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

Синтаксис

typedef struct group_filter {
  ULONG               gf_interface;
  SOCKADDR_STORAGE    gf_group;
  MULTICAST_MODE_TYPE gf_fmode;
  ULONG               gf_numsrc;
  SOCKADDR_STORAGE    gf_slist[1];
} GROUP_FILTER, *PGROUP_FILTER;

Члены

gf_interface

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

gf_group

Группа адресов многоадресной рассылки, которую необходимо отфильтровать. Это может быть адрес многоадресной рассылки IPv6 или IPv4.

gf_fmode

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

Этот элемент может быть одним из значений из типа перечисления MULTICAST_MODE_TYPE , определенного в файле заголовка Ws2ipdef.h . Этот член определяет, следует ли включать или исключать список IP-адресов в элементе gf_numsrc .

Значение Значение
MCAST_INCLUDE
Фильтр содержит список IP-адресов для включения.
MCAST_EXCLUDE
Фильтр содержит список ИСключаемых IP-адресов.

gf_numsrc

Количество исходных записей фильтра многоадресной рассылки в элементе gf_slist .

gf_slist[1]

Массив SOCKADDR_STORAGE структур, указывающих адреса источников многоадресной рассылки для включения или исключения. Эти IP-адреса могут быть IPv6 или IPv4-адресами, но они должны быть тем же семейством адресов (IPv6 или IPv4), что и адрес, указанный в элементе gf_group .

Комментарии

Структура GROUP_FILTER используется с адресами многоадресной рассылки IPv6 или IPv4. Структура GROUP_FILTER передается в качестве аргумента для IOCTL SIOCGMSFILTER и SIOCSMSFILTER .

Структура GROUP_FILTER и связанные структуры, используемые для многоадресного программирования, основаны на рекомендациях IETF, приведенных в разделах 5 и 8.2 RFC 3768. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc3678.txt.

В Windows Vista и более поздних версиях для многоадресного программирования доступен набор параметров сокетов, поддерживающих адреса IPv6 и IPv4. Эти параметры сокета не зависят от IP-адресов и могут использоваться как для IPv6, так и для IPv4. Эти параметры, не зависящие от IP-адресов, используют структуры GROUP_REQ и GROUP_SOURCE_REQ и являются предпочтительными вариантами сокетов для многоадресного программирования в Windows Vista и более поздних версиях.

Функцию GetAdaptersAddresses можно использовать для получения сведений об индексе интерфейса, необходимых для элемента gf_interface .

Структура GROUP_FILTER и Ioctls, использующие эту структуру, допустимы только для датаграмм и необработанных сокетов (тип сокета должен быть SOCK_DGRAM или SOCK_RAW).

Структура GROUP_FILTER определяется в файле заголовка Ws2ipdef.h , который автоматически включается в файл заголовка Ws2tcpip.h . Файлы заголовков Ws2ipdef.h никогда не следует использовать напрямую.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть ws2ipdef.h (включая Ws2tcpip.h)

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

GROUP_REQ

GROUP_SOURCE_REQ

GetAdaptersAddresses

MULTICAST_MODE_TYPE

Многоадресное программирование

SOCKADDR_STORAGE

Параметры сокета

ip_mreq

ip_msfilter

ipv6_mreq