Win32 API 日本語リファレンス
ホーム › NetworkManagement.Rras › PMGM_PRUNE_ALERT_CALLBACK

PMGM_PRUNE_ALERT_CALLBACK

コールバック

シグネチャ

DWORD PMGM_PRUNE_ALERT_CALLBACK(
    DWORD dwSourceAddr,
    DWORD dwSourceMask,
    DWORD dwGroupAddr,
    DWORD dwGroupMask,
    DWORD dwIfIndex,
    DWORD dwIfNextHopAddr,
    BOOL bMemberDelete,
    DWORD* pdwTimeout
);

パラメーター

フィールド型説明
dwSourceAddrDWORD

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

送信元アドレスの範囲を指定するには、マルチキャストグループマネージャーは dwSourceAddr で送信元ネットワークを指定し、dwSourceMask でサブネットマスクを指定します。

dwSourceMaskDWORD

dwSourceAddr に対応するサブネットマスクを指定します。dwSourceAddr と dwSourceMask の 2 つのパラメーターは、マルチキャストデータの受信を停止する送信元の範囲を定義するために組み合わせて使用されます。

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

dwGroupAddrDWORD

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

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

dwGroupMaskDWORD

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

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

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

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

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

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

入力時、pdwTimeout は DWORD サイズのメモリ位置を指すポインターです。

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

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

公式ドキュメント

PMGM_PRUNE_ALERT_CALLBACK コールバックは、他のルーティングプロトコルが所有するインターフェイス上に受信者が存在しなくなったことをプロトコルに通知するために、ルーティングプロトコルを呼び出すものです。

戻り値

RRAS はアプリケーションが特定の値を返すことを想定していません。返された値は RRAS によって無視されます。

解説(Remarks)

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

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

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

このコールバックを受け取ったときにルーティングプロトコルが行う処理は、プロトコルごとに異なります。プロトコル仕様がそれを正しい動作としている場合、プロトコルは bMemberDelete パラメーターが FALSE に設定されているコールバックを無視してもかまいません。

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

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

マルチキャストグループマネージャーは、送信元固有 (s, g) の join に対してこのコールバックを呼び出すタイミングを、次の規則に従って決定します。 このバージョンのマルチキャストグループマネージャー API は、ワイルドカード送信元 (*, g) または特定の送信元 (s, g) のみをサポートし、送信元の範囲はサポートしません。同じ制限がグループにも適用されます (つまり、グループの範囲指定は許可されません)。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)