getipv4sourcefilter 함수(ws2tcpip.h)
getipv4sourcefilter 인라인 함수는 IPv4 소켓에 대한 멀티캐스트 필터 상태를 검색합니다.
구문
int getipv4sourcefilter(
[in] SOCKET Socket,
[in] IN_ADDR Interface,
[in] IN_ADDR Group,
[out] MULTICAST_MODE_TYPE *FilterMode,
[in, out] ULONG *SourceCount,
[out] IN_ADDR *SourceList
);
매개 변수
[in] Socket
멀티캐스트 소켓을 식별하는 설명자입니다.
[in] Interface
인터페이스의 로컬 IPv4 주소 또는 멀티캐스트 그룹을 조인하거나 삭제해야 하는 인터페이스 인덱스입니다.
이 값은 네트워크 바이트 순서입니다. 이 멤버가 0.0.0.0의 IPv4 주소를 지정하는 경우 기본 IPv4 멀티캐스트 인터페이스가 사용됩니다.
IPv4 주소 0.0.0.0을 제외한 0.x.x.x 블록의 모든 IP 주소(0의 첫 번째 옥텟)는 인터페이스 인덱스로 처리됩니다. 인터페이스 인덱스는 24비트 숫자이며 0.0.0.0/8 IPv4 주소 블록은 사용되지 않습니다(이 범위는 예약됨).
인터페이스 인덱스 1을 사용하려면 0.0.0.1의 IP 주소와 동일합니다.
[in] Group
멀티캐스트 그룹의 IPv4 주소입니다.
[out] FilterMode
함수가 반환될 때 멀티캐스트 그룹 주소에 대한 멀티캐스트 필터 모드를 받을 값에 대한 포인터입니다.
[in, out] SourceCount
입력에서 SourceList 매개 변수가 가리키는 버퍼에 맞는 최대 원본 주소 수를 나타내는 값에 대한 포인터입니다.
출력에서 멀티캐스트 필터와 연결된 총 원본 주소 수를 나타내는 값에 대한 포인터입니다.
[out] SourceList
멀티캐스트 필터와 연결된 IP 주소 목록을 수신하는 버퍼에 대한 포인터입니다.
SourceCount가 입력에 0이면 NULL 포인터가 제공될 수 있습니다.
반환 값
성공하면 getipv4sourcefilter 는 NO_ERROR(0)을 반환합니다. 0이 아닌 반환 값은 실패를 나타내며 WSAGetLastError를 호출하여 특정 오류 코드를 검색할 수 있습니다.
오류 코드 | 의미 |
---|---|
버퍼 공간이 부족합니다. | |
설명자가 소켓이 아닙니다. |
설명
getipv4sourcefilter 인라인 함수는 IPv4 소켓에 대한 멀티캐스트 필터 상태를 검색하는 데 사용됩니다.
앱이 소스 목록의 크기를 미리 모르는 경우 추측(예: 0)을 만들 수 있습니다. 완료되면 SourceCount 매개 변수가 더 큰 값을 보유하는 경우 충분한 버퍼로 작업을 반복할 수 있습니다.
반환할 때 SourceCount 매개 변수는 항상 필터의 총 원본 수로 업데이트되고 SourceList 매개 변수가 가리키는 버퍼는 원본 원본 계정 값으로 전달된 배열 크기의 최소값과 필터의 총 원본 수까지 적합한 원본 주소를 보유합니다.
이 함수는 RFC 3678에 정의된 멀티캐스트 원본 필터에 대한 소켓 인터페이스 확장의 일부입니다. 앱은 이러한 함수를 사용하여 소켓과 연결된 멀티캐스트 원본 주소 필터를 검색하고 설정할 수 있습니다.
Windows Phone 8: 이 함수는 Windows Phone 8 이상에서 Windows Phone 스토어 앱에서 지원됩니다.
Windows 8.1 및 Windows Server 2012 R2: 이 함수는 Windows 8.1, Windows Server 2012 R2 이상의 Windows 스토어 앱에서 지원됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8.1, Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | ws2tcpip.h |
라이브러리 | Ws2_32.lib |
DLL | Ws2_32.dll |