다음을 통해 공유


getsourcefilter 함수(ws2tcpip.h)

getsourcefilter 인라인 함수는 IPv4 또는 IPv6 소켓에 대한 멀티캐스트 필터 상태를 검색합니다.

구문

int getsourcefilter(
  [in]      SOCKET              Socket,
  [in]      ULONG               Interface,
  [in]      const SOCKADDR      *Group,
  [in]      int                 GroupLength,
  [out]     MULTICAST_MODE_TYPE *FilterMode,
  [in, out] ULONG               *SourceCount,
  [out]     SOCKADDR_STORAGE    *SourceList
);

매개 변수

[in] Socket

멀티캐스트 소켓을 식별하는 설명자입니다.

[in] Interface

멀티캐스트 인터페이스의 인터페이스 인덱스입니다.

[in] Group

멀티캐스트 그룹의 소켓 주소에 대한 포인터입니다.

[in] GroupLength

Group 매개 변수가 가리키는 소켓 주소의 길이(바이트)입니다.

[out] FilterMode

함수가 반환될 때 멀티캐스트 그룹 주소에 대한 멀티캐스트 필터 모드를 받을 값에 대한 포인터입니다.

[in, out] SourceCount

입력에서 SourceList 매개 변수가 가리키는 버퍼에 맞는 최대 원본 주소 수를 나타내는 값에 대한 포인터입니다.

출력에서 멀티캐스트 필터와 연결된 총 원본 주소 수를 나타내는 값에 대한 포인터입니다.

[out] SourceList

멀티캐스트 필터와 연결된 IP 주소 목록을 수신하는 버퍼에 대한 포인터입니다.

SourceCount가 입력에서 0이면 NULL 포인터가 제공될 수 있습니다.

반환 값

성공하면 getsourcefilter 는 NO_ERROR(0)를 반환합니다. 0이 아닌 반환 값은 실패를 나타내며 WSAGetLastError를 호출하여 특정 오류 코드를 검색할 수 있습니다.

오류 코드 의미
WSAENOBUFS
버퍼 공간이 부족합니다.
WSAENOTSOCK
설명자가 소켓이 아닙니다.

설명

getsourcefilter 인라인 함수는 IPv4 또는 IPv6 소켓에 대한 멀티캐스트 필터 상태를 검색하는 데 사용됩니다.

앱이 소스 목록의 크기를 미리 모르는 경우 추측할 수 있습니다(예: 0). 완료 시 SourceCount 매개 변수가 더 큰 값을 보유하는 경우 충분한 버퍼로 작업을 반복할 수 있습니다.

반환될 때 SourceCount 매개 변수는 항상 필터의 총 원본 수로 업데이트되고 SourceList 매개 변수가 가리키는 버퍼는 원본 원본 계정 값으로 전달된 배열 크기의 최소값과 필터의 총 원본 수까지 적합한 원본 주소를 보유합니다.

이 함수는 RFC 3678에 정의된 멀티캐스트 원본 필터에 대한 소켓 인터페이스 확장의 일부입니다. 앱은 이러한 함수를 사용하여 소켓과 연결된 멀티캐스트 원본 주소 필터를 검색하고 설정할 수 있습니다.

Windows Phone 8: 이 함수는 Windows Phone 8 이상에서 Windows Phone 스토어 앱에서 지원됩니다.

Windows 8.1Windows 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

추가 정보

MULTICAST_MODE_TYPE

SOCKADDR_STORAGE

getipv4sourcefilter

setipv4sourcefilter

setsourcefilter