다음을 통해 공유


PMGM_PRUNE_ALERT_CALLBACK 콜백 함수(mgm.h)

PMGM_PRUNE_ALERT_CALLBACK 콜백은 다른 라우팅 프로토콜이 소유한 인터페이스에 수신기가 더 이상 존재하지 않는다는 것을 프로토콜에 알리기 위해 라우팅 프로토콜을 호출하는 것입니다.

구문

PMGM_PRUNE_ALERT_CALLBACK PmgmPruneAlertCallback;

DWORD PmgmPruneAlertCallback(
  [in]      DWORD dwSourceAddr,
  [in]      DWORD dwSourceMask,
  [in]      DWORD dwGroupAddr,
  [in]      DWORD dwGroupMask,
  [in]      DWORD dwIfIndex,
  [in]      DWORD dwIfNextHopAddr,
  [in]      BOOL bMemberDelete,
  [in, out] PDWORD pdwTimeout
)
{...}

매개 변수

[in] dwSourceAddr

멀티캐스트 데이터 수신을 중지할 원본 주소를 지정합니다. 0은 모든 원본(그룹의 와일드카드 수신기)에서 데이터 수신을 중지하도록 나타냅니다. 그렇지 않으면 dwSourceAddr 값은 원본 또는 원본 네트워크의 IP 주소입니다.

원본 주소 범위를 지정하기 위해 멀티캐스트 그룹 관리자는 dwSourceAddr를 사용하여 원본 네트워크를 지정하고 dwSourceMask를 사용하여 서브넷 마스크를 지정합니다.

[in] dwSourceMask

dwSourceAddr에 해당하는 서브넷 마스크를 지정합니다. dwSourceAddrdwSourceMask 매개 변수는 함께 사용하여 수신 멀티캐스트 데이터 수신을 중지할 원본 범위를 정의합니다.

멀티캐스트 그룹 관리자는 dwSourceAddr (와일드카드 수신기)에 0을 지정한 경우 이 매개 변수에 대해 0을 지정합니다.

[in] dwGroupAddr

데이터 수신을 중지할 멀티캐스트 그룹을 지정합니다. 0은 모든 그룹(와일드카드 수신기)에 대한 데이터 수신을 중지했음을 나타냅니다. 그렇지 않으면 dwGroupAddr 값은 그룹의 IP 주소입니다.

그룹 주소 범위를 지정하기 위해 멀티캐스트 그룹 관리자는 dwGroupAddr을 사용하여 그룹 주소를 지정하고 dwGroupMask를 사용하여 서브넷 마스크를 지정합니다.

[in] dwGroupMask

dwGroupAddr에 해당하는 서브넷 마스크를 지정합니다. dwGroupAddrdwGroupMask 매개 변수는 멀티캐스트 그룹의 범위를 정의하는 데 함께 사용됩니다.

멀티캐스트 그룹 관리자는 dwGroupAddr (와일드카드 수신기)에도 0을 지정한 경우 이 매개 변수에 대해 0을 지정합니다.

[in] dwIfIndex

멀티캐스트 데이터 수신을 중지할 인터페이스를 지정합니다.

[in] dwIfNextHopAddr

dwIfIndex에서 지정한 인덱스에 해당하는 다음 홉의 주소를 지정합니다. dwIfIndexdwIfNextHopIPAddr 매개 변수는 지점 간 인터페이스에서 다음 홉을 고유하게 식별합니다. 지점 및 다중 지점 인터페이스는 하나의 인터페이스가 여러 네트워크에 연결되는 연결입니다. 지점 및 다중 지점 인터페이스의 예로는 NBMA(비 브로드캐스트 다중 액세스) 인터페이스 및 모든 전화 접속 클라이언트가 연결하는 내부 인터페이스가 있습니다.

dwIfIndex 값으로만 식별되는 브로드캐스트 인터페이스(예: 이더넷 인터페이스) 또는 지점 및 지점 인터페이스의 경우 0을 지정합니다.

[in] bMemberDelete

MgmAddGroupMembershipEntry가 클라이언트에서 호출되었기 때문에(멀티캐스트 그룹 관리자는 이 매개 변수를 TRUE로 설정), MFE가 만들어지거나 업데이트되었기 때문에 콜백이 호출되었는지 여부를 지정합니다(멀티캐스트 그룹 관리자는 이 매개 변수를 FALSE로 설정).

[in, out] pdwTimeout

입력 시 pdwTimeoutDWORD 크기의 메모리 위치를 가리킵니다.

bMemberDeleteFALSE인 경우 이 매개 변수를 사용하여 해당 MFE가 멀티캐스트 전달 캐시에 남아 있는 기간을 지정할 수 있습니다. 클라이언트에서 값을 지정하지 않으면 기본값은 900초입니다.

출력에서 pdwTimeout 은 이 MFE에 대한 시간 제한 값을 초 단위로 받습니다.

반환 값

RRAS는 애플리케이션이 특정 값을 반환할 것으로 예상하지 않습니다. 반환된 모든 값은 RRAS에서 무시됩니다.

설명

멀티캐스트 그룹 관리자는 bMemberDelete 매개 변수를 TRUE로 설정하고 클라이언트가 (s, g), (, g) 또는 (, *) 항목(즉, 그룹 멤버 자격이 변경됨)에 대해 MgmDeleteGroupMembershipEntry 함수를 호출하는 경우 이 콜백을 호출합니다.

MFE에 대한 나가는 인터페이스 목록이 변경되면 멀티캐스트 그룹 관리자는 bMemberDelete 매개 변수를 FALSE 로 설정합니다. 이 변경은 일반적으로 MFE에 해당하는 그룹의 멤버 자격 변경에 대해 발생합니다.

멀티캐스트 라우팅 프로토콜은 bMemberDelete 매개 변수를 사용하여 그룹 멤버 자격 변경 내용과 MFE 변경 내용을 구분할 수 있습니다.

이 콜백이 수신될 때 라우팅 프로토콜에서 수행한 작업은 프로토콜에 따라 다릅니다. 프로토콜 사양이 올바른 동작임을 나타내는 경우 bMemberDelete 매개 변수가 FALSE로 설정된 경우 프로토콜은 콜백을 무시할 수 있습니다.

MgmDeleteGroupMembershipEntry가 호출되면 멀티캐스트 그룹 관리자는 이 콜백을 사용하여 다른 멀티캐스트 그룹 관리자 클라이언트에 지정된 원본 및 그룹에 대한 수신기가 더 이상 없음을 알립니다.

멀티캐스트 그룹 관리자는 다음 규칙을 사용하여 와일드카드(*, g) 조인에 대해 이 콜백을 호출할 시기를 결정합니다.

  • 마지막 두 번째 클라이언트(즉, 단일 클라이언트에 대한 인터페이스만 남아 있는 경우)에 대해 최종 인터페이스가 제거되는 경우 멀티캐스트 그룹 관리자는 나머지 클라이언트에 대한 PMGM_PRUNE_ALERT_CALLBACK 콜백을 호출합니다.
  • 마지막 클라이언트(즉, 다른 인터페이스가 남아 있지 않은 경우)에 대해 최종 인터페이스가 제거되는 경우 이 콜백은 멀티캐스트 그룹 관리자에 등록된 다른 모든 클라이언트에 대해 호출됩니다.
멀티캐스트 그룹 관리자는 다음 규칙을 사용하여 원본별(s, g) 조인에 대해 이 콜백을 호출할 시기를 결정합니다.
  • 그룹(s, g)에 대한 원본별 정리가 수신되면 멀티캐스트 그룹 관리자는 원본 "s"에 대해 들어오는 인터페이스를 소유하는 클라이언트에 대해서만 PMGM_PRUNE_ALERT_CALLBACK 콜백을 호출합니다.
이 버전의 멀티캐스트 그룹 관리자 API는 와일드카드 원본(*, g) 또는 원본 범위가 아닌 특정 원본(s, g)만 지원합니다. 동일한 제한이 그룹에 적용됩니다(즉, 그룹 범위가 허용되지 않음).

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 mgm.h

추가 정보

PMGM_CREATION_ALERT_CALLBACK