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
入力時に、 pdwTimeout は DWORD サイズのメモリ位置を指します。
bMemberDelete が FALSE の場合、このパラメーターを使用して、対応する 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 コールバックを呼び出します。
- 最後のクライアント (つまり、他のインターフェイスが残っていない場合) の最終インターフェイスが削除される場合、このコールバックは、マルチキャスト グループ マネージャーに登録されている他のすべてのクライアントに対して呼び出されます。
- グループ (s、g) のソース固有の排除を受信すると、マルチキャスト グループ マネージャーは、ソース "s" に向けて受信インターフェイスを所有するクライアントに対してのみ PMGM_PRUNE_ALERT_CALLBACK コールバックを呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mgm.h |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示