次の方法で共有


MgmDeleteGroupMembershipEntry 関数 (mgm.h)

MgmDeleteGroupMembershipEntry 関数は、指定したインターフェイスに指定されたグループに対して受信者が存在しなくなったことをマルチキャスト グループ マネージャーに通知します。

マルチキャスト ルーティング プロトコルは、インターフェイス上にマルチキャスト グループの受信者がもうないことを通知された後、この関数を呼び出します。 プロトコルは、マルチキャスト データがインターフェイス経由で転送されないようにするには、この関数を呼び出す必要があります。

構文

DWORD MgmDeleteGroupMembershipEntry(
  [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

グループ メンバーシップが削除されたときに実行する必要がある追加の処理を指定します。 有効な値は次のとおりです。

意味
MGM_JOIN_STATE_FLAG
指定したソースとグループのグループ メンバーシップを削除します。 指定したソース グループの転送エントリを更新して、この変更をグループ メンバーシップに反映させます。
MGM_FORWARD_STATE
指定したソースとグループに対応する転送エントリの送信インターフェイスの一覧から、指定したインターフェイスを削除します。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

意味
ERROR_CAN_NOT_COMPLETE
この関数の呼び出しを完了できませんでした。
ERROR_INVALID_PARAMETER
プロトコルへのハンドルが無効であるか、インターフェイスが別のプロトコルによって所有されています。
ERROR_NOT_FOUND
指定したインターフェイスが見つかりませんでした。
 
 

注釈

このバージョンの MGM API では、ワイルドカード ソースまたは特定のソースのみがサポートされ、一連のソースはサポートされていません。 グループにも同じ制限が適用されます (つまり、グループ範囲は許可されません)。

この関数が呼び出されると、マルチキャスト グループ マネージャーは PMGM_PRUNE_ALERT_CALLBACK コールバックを呼び出して、指定されたグループに対してこれ以上受信者が存在しない他のルーティング プロトコルに通知する場合があります。

要件

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

こちらもご覧ください

MgmAddGroupMembershipEntry

PMGM_PRUNE_ALERT_CALLBACK