Share via


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

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

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

[in] dwSourceMask

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

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

[in] dwGroupAddr

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

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

[in] dwGroupMask

dwGroupAddr に対応するサブネット マスクを指定します。 dwGroupAddr パラメーターと dwGroupMask パラメーターを組み合わせて使用して、マルチキャスト グループの範囲を定義します。

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

[in] dwIfIndex

マルチキャスト データの受信を停止するインターフェイスを指定します。

[in] dwIfNextHopAddr

dwIfIndex で指定されたインデックスに対応する次ホップのアドレスを指定します。 dwIfIndex パラメーターと dwIfNextHopIPAddr パラメーターは、ポイント対マルチポイント インターフェイスの次ホップを一意に識別します。 ポイント対マルチポイント インターフェイスは、1 つのインターフェイスが複数のネットワークに接続する接続です。 ポイント対マルチポイント インターフェイスの例としては、非ブロードキャスト マルチ アクセス (NBMA) インターフェイスと、すべてのダイヤルアップ クライアントが接続する内部インターフェイスがあります。

ブロードキャスト インターフェイス (イーサネット インターフェイスなど) またはポイントツーポイント インターフェイスの場合は、 dwIfIndex の値のみで識別されます。0 を指定します。

[in] bMemberDelete

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

[in, out] pdwTimeout

入力時に、 pdwTimeoutDWORD サイズのメモリ位置を指します。

bMemberDeleteFALSE の場合、このパラメーターを使用して、対応する MFE をマルチキャスト転送キャッシュに保持する期間を指定できます。 クライアントが値を指定しない場合、既定値は 900 秒です。

出力時に、 pdwTimeout はこの MFE のタイムアウト値 (秒単位) を受け取ります。

戻り値

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

注釈

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

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

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

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

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

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

  • 最後から 2 番目のクライアントの最終インターフェイスが削除される場合 (つまり、1 つのクライアントのみのインターフェイスが残っている場合)、マルチキャスト グループ マネージャーはその残りのクライアントに 対してPMGM_PRUNE_ALERT_CALLBACK コールバックを呼び出します。
  • 最後のクライアント (つまり、他のインターフェイスが残っていない場合) の最終インターフェイスが削除される場合、このコールバックは、マルチキャスト グループ マネージャーに登録されている他のすべてのクライアントに対して呼び出されます。
マルチキャスト グループ マネージャーは、次の規則を使用して、ソース固有の (g) 結合に対してこのコールバックを呼び出すタイミングを決定します。
  • グループ (s、g) のソース固有の排除を受信すると、マルチキャスト グループ マネージャーは、ソース "s" に向けて受信インターフェイスを所有するクライアントに対してのみ PMGM_PRUNE_ALERT_CALLBACK コールバックを呼び出します。
このバージョンのマルチキャスト グループ マネージャー API では、ワイルドカード ソース (*,g) または特定のソース (s, g) のみがサポートされ、ソースの範囲はサポートされていません。 グループにも同じ制限が適用されます (つまり、グループ範囲は許可されません)。

要件

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

こちらもご覧ください

PMGM_CREATION_ALERT_CALLBACK