MgmAddGroupMembershipEntry 関数 (mgm.h)
MgmAddGroupMembershipEntry 関数は、指定したインターフェイスに指定されたグループの新しいレシーバーがあることをマルチキャスト グループ マネージャーに通知します。 受信側は、ソース範囲を指定することで、マルチキャスト データを受信するソースのセットを制限できます。
マルチキャスト ルーティング プロトコルは、インターフェイスにマルチキャスト グループの受信者が存在することが通知されると、この関数を呼び出します。 プロトコルは、マルチキャスト データをインターフェイス経由で転送できるように、この関数を呼び出す必要があります。
構文
DWORD MgmAddGroupMembershipEntry(
[in] HANDLE hProtocol,
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] DWORD dwIfIndex,
[in] DWORD dwIfNextHopIPAddr,
[in] DWORD dwFlags
);
パラメーター
[in] hProtocol
MgmRegisterMProtocol の以前の呼び出しから取得したプロトコルを処理します。
[in] dwSourceAddr
マルチキャスト データの受信元の送信元アドレスを指定します。 すべてのソース (グループのワイルドカード レシーバー) からデータを受信するには、0 を指定します。それ以外の場合は、ソースまたはソース ネットワークの IP アドレスを指定します。
ソース アドレスの範囲を指定するには、 dwSourceAddr を使用してソース ネットワークを指定し、 dwSourceMask を使用してサブネット マスクを指定します。
[in] dwSourceMask
dwSourceAddr に対応するサブネット マスクを指定します。 dwSourceAddr パラメーターと dwSourceMask パラメーターを一緒に使用して、マルチキャスト データを受信するソースの範囲を定義します。
dwSourceAddr (ワイルドカード レシーバー) に 0 が指定されている場合は、このパラメーターに 0 を指定します。
[in] dwGroupAddr
データを受信するマルチキャスト グループを指定します。 すべてのグループ (ワイルドカード レシーバー) を受信するには、0 を指定します。それ以外の場合は、グループの IP アドレスを指定します。
グループ アドレスの範囲を指定するには、 dwGroupAddr を使用してグループ アドレスを指定し、 dwGroupMask を使用してサブネット マスクを指定します。
[in] dwGroupMask
dwGroupAddr に対応するサブネット マスクを指定します。 dwGroupAddr パラメーターと dwGroupMask パラメーターは、マルチキャスト グループの範囲を定義するために一緒に使用されます。
dwGroupAddr (ワイルドカード レシーバー) に 0 が指定されている場合は、このパラメーターに 0 を指定します。
[in] dwIfIndex
グループ メンバーシップを追加するインターフェイスを指定します。 指定したグループのマルチキャスト データは、このインターフェイス経由で転送されます。
[in] dwIfNextHopIPAddr
dwIfIndex で指定されたインデックスに対応する次ホップのアドレスを指定します。 dwIfIndex パラメーターと dwIfNextHopIPAddr パラメーターは、ポイント対マルチポイント インターフェイスの次ホップを一意に識別します。 ポイント対マルチポイント インターフェイスは、1 つのインターフェイスが複数のネットワークに接続する接続です。 ポイント対マルチポイント インターフェイスの例としては、非ブロードキャスト マルチ アクセス (NBMA) インターフェイスや、すべてのダイヤルアップ クライアントが接続する内部インターフェイスなどがあります。
ブロードキャスト インターフェイス (イーサネット インターフェイスなど) またはポイントツーポイント インターフェイス ( dwIfIndex の値によってのみ識別される) の場合は、0 を指定します。
[in] dwFlags
グループ メンバーシップを追加するときに実行する必要がある追加の処理を指定します。 有効な値は次のとおりです。
値 | 意味 |
---|---|
|
指定したソースとグループのグループ メンバーシップを追加します。 指定したソース グループの転送エントリを更新して、この変更をグループ メンバーシップに反映させます。 |
|
指定したインターフェイスを、指定したソースとグループに対応する転送エントリの送信インターフェイスの一覧に追加します。 |
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
値 | 意味 |
---|---|
|
この関数の呼び出しを完了できませんでした。 |
|
プロトコルのハンドルが無効です。 |
|
この操作を完了するのに十分なメモリがありません。 |
注釈
このバージョンの MGM API では、ワイルドカード ソースまたは特定のソースのみがサポートされ、一連のソースはサポートされていません。 グループにも同じ制限が適用されます。つまり、グループ範囲は許可されません。
この関数が呼び出されると、マルチキャスト グループ マネージャーが PMGM_JOIN_ALERT_CALLBACK コールバックを呼び出して、指定したグループの新しい受信者があることを他のルーティング プロトコルに通知できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mgm.h |
Library | Rtm.lib |
[DLL] | Rtm.dll |