Share via


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位址清單。

意義
MCAST_INCLUDE
篩選包含要包含的IP位址清單。
MCAST_EXCLUDE
篩選包含要排除的IP位址清單。

gf_numsrc

gf_slist成員中的多播篩選來源位址項目數目。

gf_slist[1]

SOCKADDR_STORAGE 結構的陣列,指定要包含或排除的多播來源位址。 這些IP位址可以是IPv6或IPv4位址,但它們必須是與 gf_group 成員中指定的位址相同 (IPv6 或 IPv4) 。

備註

GROUP_FILTER結構會與 IPv6 或 IPv4 多播位址搭配使用。 GROUP_FILTER 結構會當做 SIOCGMSFILTERSIOCSMSFILTER IOCTLs 的自變數傳遞。

用於多播程式設計的 GROUP_FILTER 結構和相關結構是以 RFC 3768 第 5 節和第 8.2 節中的 IETF 建議為基礎。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc3678.txt

在 Windows Vista 和更新版本上,有一組套接字選項可用於支援 IPv6 和 IPv4 位址的多播程序設計。 這些套接字選項與IP無關,可在IPv6和IPv4上使用。 這些 IP 無從驗證選項會使用 GROUP_REQGROUP_SOURCE_REQ 結構,而且是 Windows Vista 和更新版本上多播程式設計慣用的套接字選項。

GetAdaptersAddresses 函式可用來取得gf_interface成員所需的介面索引資訊。

GROUP_FILTER結構和使用此結構的 Ioctls 只能在數據報和原始套接字上有效, (套接字類型必須SOCK_DGRAMSOCK_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