Share via


PMGM_JOIN_ALERT_CALLBACK コールバック関数 (mgm.h)

PMGM_JOIN_ALERT_CALLBACK コールバックは、他のルーティング プロトコルによって所有されているインターフェイス上の 1 つ以上のグループに対して新しい受信者が存在することをプロトコルに通知するルーティング プロトコルの呼び出しです。 ルーティング プロトコルは、このコールバックを受信すると、指定されたソースとグループのマルチキャスト データの転送を開始する必要があります。

構文

PMGM_JOIN_ALERT_CALLBACK PmgmJoinAlertCallback;

DWORD PmgmJoinAlertCallback(
  [in] DWORD dwSourceAddr,
  [in] DWORD dwSourceMask,
  [in] DWORD dwGroupAddr,
  [in] DWORD dwGroupMask,
  [in] BOOL bMemberUpdate
)
{...}

パラメーター

[in] dwSourceAddr

マルチキャスト データの受信元の送信元アドレスを指定します。 ゼロは、データがすべてのソース (グループのワイルドカードレシーバー) から受信されることを示します。それ以外の場合、 dwSourceAddr の値はソースまたはソース ネットワークの IP アドレスです。

ソース アドレスの範囲を指定するために、マルチキャスト グループ マネージャーは dwSourceAddr を使用してソース ネットワークを指定し、 dwSourceMask を使用してサブネット マスクを指定します。

[in] dwSourceMask

dwSourceAddr に対応するサブネット マスクを指定します。 dwSourceAddr パラメーターと dwSourceMask パラメーターを一緒に使用して、マルチキャスト データを受信するソースの範囲を定義します。

マルチキャスト・グループ・マネージャーは、 dwSourceAddr (ワイルドカード・レシーバー) にもゼロを指定した場合、このパラメーターにゼロを指定します。

[in] dwGroupAddr

データの送信先となるマルチキャスト グループを指定します。 ゼロは、すべてのグループが受信されたことを示します (ワイルドカードレシーバー)。それ以外の場合、 dwGroupAddr の値はグループの IP アドレスです。

グループ アドレスの範囲を指定するために、マルチキャスト グループ マネージャーは dwGroupAddr を使用してグループ アドレスを指定し、 dwGroupMask を使用してサブネット マスクを指定します。

[in] dwGroupMask

dwGroupAddr に対応するサブネット マスクを指定します。 dwGroupAddr パラメーターと dwGroupMask パラメーターは、マルチキャスト グループの範囲を定義するために一緒に使用されます。

マルチキャスト グループ マネージャーは、 dwGroupAddr (ワイルドカード レシーバー) にも 0 を指定した場合、このパラメーターに 0 を指定します。

[in] bMemberUpdate

MgmAddGroupMembershipEntry がクライアントによって呼び出された (マルチキャスト グループ マネージャーがこのパラメーターを TRUE に設定する) か、MFE が作成または更新された (マルチキャスト グループ マネージャーがこのパラメーターを FALSE に設定) ためにコールバックが呼び出されたかどうかを指定します。

戻り値

RRAS では、アプリケーションが特定の値を返す必要はありません。返される値は RRAS によって無視されます。

注釈

マルチキャスト グループ マネージャーは 、bMemberUpdate パラメーターを TRUE に設定し、クライアントが MgmAddGroupMembershipEntry 関数を (s、g、(、g)、または (、*) エントリ (つまり、グループ メンバーシップが変更された) に対して呼び出した場合に、このコールバックを呼び出します。

MFE の発信インターフェイス リストが変更された場合、マルチキャスト グループ マネージャーは bMemberUpdate パラメーターを FALSE に 設定します。 この変更は通常、MFE に対応するグループのメンバーシップの変更に対して発生します。

マルチキャスト ルーティング プロトコルでは 、bMemberUpdate パラメーターを使用して、グループ メンバーシップの変更と MFE への変更を区別できます。

このコールバックを受信したときにルーティング プロトコルによって実行されるアクションは、プロトコル固有です。 プロトコル仕様でこれが正しい動作であることが示されている場合、 bMemberUpdate パラメーターが FALSE に設定されている場合、プロトコルはコールバックを無視できます。

MgmAddGroupMembershipEntry が呼び出されると、マルチキャスト グループ マネージャーはこのコールバックを使用して、指定されたソースとグループの受信者があることを他のマルチキャスト グループ マネージャー クライアントに通知します。

マルチキャスト グループ マネージャーは、次の規則を使用して、ワイルドカード (*,g) 結合に対してこのコールバックを呼び出すタイミングを決定します。

  • これがグループのインターフェイスに受信者があることをマルチキャスト グループ マネージャーに通知する最初のクライアントである場合、マルチキャスト グループ マネージャーは、他のすべての登録済みクライアントに 対してPMGM_JOIN_ALERT_CALLBACK コールバックを呼び出します。
  • グループのインターフェイスに受信者があることをマルチキャスト グループ マネージャーに通知する 2 番目のクライアントである場合、マルチキャスト グループ マネージャーは、グループに参加する最初のクライアントに対してこのコールバックを呼び出します。
マルチキャスト グループ マネージャーは、グループへの後続の結合に対してこのコールバックを呼び出しません。

マルチキャスト グループ マネージャーは、次の規則を使用して、ソース固有の (g) 結合に対してこのコールバックを呼び出すタイミングを決定します。

  • これが、送信元とグループのインターフェイスに受信者があることをマルチキャスト グループ マネージャーに通知する最初のクライアントである場合、マルチキャスト グループ マネージャーは、受信インターフェイスを所有するクライアントに対してのみ 、PMGM_JOIN_ALERT_CALLBACK コールバックをソース "s" に向けて呼び出します。
このバージョンのマルチキャスト グループ マネージャー API では、ワイルドカード ソース (*、g) または特定のソース (s、g) のみがサポートされ、ソースの範囲はサポートされていません。 グループにも同じ制限が適用されます (つまり、グループ範囲は許可されません)。

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mgm.h