다음을 통해 공유


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 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_REQGROUP_SOURCE_REQ 구조를 사용하며 Windows Vista 이상에서 멀티캐스트 프로그래밍을 위한 기본 소켓 옵션입니다.

GetAdaptersAddresses 함수를 사용하여 gf_interface 멤버에 필요한 인터페이스 인덱스 정보를 가져올 수 있습니다.

이 구조를 사용하는 GROUP_FILTER 구조체 및 Ioctls는 데이터그램 및 원시 소켓에서만 유효합니다(소켓 유형은 SOCK_DGRAM 또는 SOCK_RAW 있어야 합니다).

GROUP_FILTER 구조체는 Ws2tcpip.h 헤더 파일에 자동으로 포함되는 Ws2ipdef.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