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

PMGM_JOIN_ALERT_CALLBACK

コールバック

シグネチャ

DWORD PMGM_JOIN_ALERT_CALLBACK(
    DWORD dwSourceAddr,
    DWORD dwSourceMask,
    DWORD dwGroupAddr,
    DWORD dwGroupMask,
    BOOL bMemberUpdate
);

パラメーター

フィールド型説明
dwSourceAddrDWORD

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

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

dwSourceMaskDWORD

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

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

dwGroupAddrDWORD

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

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

dwGroupMaskDWORD

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

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

bMemberUpdateBOOLこのコールバックが呼び出された理由が、クライアントによる MgmAddGroupMembershipEntry の呼び出しであるか (この場合、マルチキャストグループマネージャーはこのパラメーターを TRUE に設定します)、MFE の作成または更新であるか (この場合、マルチキャストグループマネージャーはこのパラメーターを FALSE に設定します) を示します。

公式ドキュメント

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

戻り値

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

解説(Remarks)

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

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

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

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

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

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

マルチキャストグループマネージャーは、そのグループへのそれ以降の参加に対しては、このコールバックを呼び出しません。

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

このバージョンの Multicast Group Manager API は、ワイルドカードソース (*, g) または特定のソース (s, g) のみをサポートし、ソースの範囲はサポートしません。同じ制限がグループにも適用されます (つまり、グループの範囲は指定できません)。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)