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
多播筛选模式。
此成员可以是 Ws2ipdef.h 头文件中定义的 MULTICAST_MODE_TYPE 枚举类型的值之一。 此成员确定是否应包括或排除 gf_numsrc 成员中的 IP 地址列表。
值 | 含义 |
---|---|
|
筛选器包含要包括的 IP 地址列表。 |
|
筛选器包含要排除的 IP 地址列表。 |
gf_numsrc
gf_slist 成员中的多播筛选器源地址条目数。
gf_slist[1]
SOCKADDR_STORAGE结构的数组,指定要包含或排除的多播源地址。 这些 IP 地址可以是 IPv6 或 IPv4 地址,但它们必须是与 gf_group 成员中指定的 地址 (IPv6 或 IPv4) 相同的地址系列。
注解
GROUP_FILTER结构用于 IPv6 或 IPv4 多播地址。 GROUP_FILTER 结构作为 SIOCGMSFILTER 和 SIOCSMSFILTER IOCTL 的参数传递。
用于多播编程 的GROUP_FILTER 结构和相关结构基于 RFC 3768 第 5 节和第 8.2 节中的 IETF 建议。 有关详细信息,请参阅 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 结构和使用此结构的 Ioctl 仅在数据报和原始套接字上有效, (套接字类型必须SOCK_DGRAM或SOCK_RAW) 。
GROUP_FILTER结构在 Ws2ipdef.h 头文件中定义,该文件自动包含在 Ws2tcpip.h 头文件中。 不应直接使用 Ws2ipdef.h 头文件。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | ws2ipdef.h (包括 Ws2tcpip.h) |