Freigeben über


MgmAddGroupMembershipEntry-Funktion (mgm.h)

Die MgmAddGroupMembershipEntry-Funktion benachrichtigt den Multicastgruppen-Manager, dass es neue Empfänger für die angegebenen Gruppen auf der angegebenen Schnittstelle gibt. Die Empfänger können den Satz von Quellen einschränken, von denen sie Multicastdaten empfangen sollen, indem sie einen Quellbereich angeben.

Ein Multicastroutingprotokoll ruft diese Funktion auf, wenn sie benachrichtigt wird, dass auf einer Schnittstelle Empfänger für eine Multicastgruppe vorhanden sind. Das Protokoll muss diese Funktion aufrufen, damit Multicastdaten über eine Schnittstelle weitergeleitet werden können.

Syntax

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
);

Parameter

[in] hProtocol

Handle mit dem Protokoll, das von einem vorherigen Aufruf von MgmRegisterMProtocol abgerufen wurde.

[in] dwSourceAddr

Gibt die Quelladresse an, von der Multicastdaten empfangen werden sollen. Geben Sie null an, um Daten aus allen Quellen zu empfangen (ein Wildcardempfänger für eine Gruppe); Geben Sie andernfalls die IP-Adresse der Quelle oder des Quellnetzwerks an.

Um einen Bereich von Quelladressen anzugeben, geben Sie das Quellnetzwerk mit dwSourceAddr an, und geben Sie mithilfe von dwSourceMask eine Subnetzmaske an.

[in] dwSourceMask

Gibt die Subnetzmaske an, die dwSourceAddr entspricht. Die Parameter dwSourceAddr und dwSourceMask werden zusammen verwendet, um einen Bereich von Quellen zu definieren, aus dem Multicastdaten empfangen werden.

Geben Sie null für diesen Parameter an, wenn null für dwSourceAddr (ein Wildcardempfänger) angegeben wurde.

[in] dwGroupAddr

Gibt die Multicastgruppe an, für die Daten empfangen werden sollen. Geben Sie null an, um alle Gruppen (einen Wildcardempfänger) zu empfangen. Geben Sie andernfalls die IP-Adresse der Gruppe an.

Um einen Bereich von Gruppenadressen anzugeben, geben Sie die Gruppenadresse mithilfe von dwGroupAddr an, und geben Sie mithilfe von dwGroupMask eine Subnetzmaske an.

[in] dwGroupMask

Gibt die Subnetzmaske an, die dwGroupAddr entspricht. Die Parameter dwGroupAddr und dwGroupMask werden zusammen verwendet, um einen Bereich von Multicastgruppen zu definieren.

Geben Sie null für diesen Parameter an, wenn null für dwGroupAddr (ein Wildcardempfänger) angegeben wurde.

[in] dwIfIndex

Gibt die Schnittstelle an, der die Gruppenmitgliedschaft hinzugefügt werden soll. Multicastdaten für die angegebenen Gruppen werden über diese Schnittstelle weitergeleitet.

[in] dwIfNextHopIPAddr

Gibt die Adresse des nächsten Hops an, die dem von dwIfIndex angegebenen Index entspricht. Die Parameter dwIfIndex und dwIfNextHopIPAddr identifizieren eindeutig einen nächsten Hop auf Point-to-Multipoint-Schnittstellen. Eine Point-to-Multipoint-Schnittstelle ist eine Verbindung, bei der eine Schnittstelle eine Verbindung mit mehreren Netzwerken herstellt. Beispiele für Point-to-Multipoint-Schnittstellen sind NBMA-Schnittstellen (Non-Broadcast Multiple Access) und die interne Schnittstelle, über die alle DFÜ-Clients eine Verbindung herstellen.

Geben Sie für Broadcastschnittstellen (z. B. Ethernet-Schnittstellen) oder Punkt-zu-Punkt-Schnittstellen, die nur durch den Wert von dwIfIndex identifiziert werden, null an.

[in] dwFlags

Gibt alle zusätzlichen Verarbeitungen an, die beim Hinzufügen der Gruppenmitgliedschaft erfolgen müssen. Gültige Werte sind:

Wert Bedeutung
MGM_JOIN_STATE_FLAG
Fügen Sie die Gruppenmitgliedschaft für die angegebene Quelle und Gruppe hinzu. Aktualisieren Sie alle Weiterleitungseinträge für die angegebene Quellgruppe, um diese Änderung in der Gruppenmitgliedschaft widerzuspiegeln.
MGM_FORWARD_STATE
Fügen Sie die angegebene Schnittstelle der Liste der ausgehenden Schnittstellen für den Weiterleitungseintrag hinzu, der der angegebenen Quelle und Gruppe entspricht.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Wert Bedeutung
ERROR_CAN_NOT_COMPLETE
Der Aufruf dieser Funktion konnte nicht abgeschlossen werden.
ERROR_INVALID_PARAMETER
Ungültiges Handle für das Protokoll.
ERROR_NOT_ENOUGH_MEMORY
Nicht genügend Arbeitsspeicher, um diesen Vorgang abzuschließen.
 
 

Hinweise

Diese Version der MGM-API unterstützt nur Feldhalterquellen oder bestimmte Quellen, nicht einen Bereich von Quellen. Die gleiche Einschränkung gilt für Gruppen, d. h. es sind keine Gruppenbereiche zulässig.

Wenn diese Funktion aufgerufen wird, kann der Multicastgruppen-Manager den PMGM_JOIN_ALERT_CALLBACK Rückruf aufrufen, um andere Routingprotokolle darüber zu informieren, dass es neue Empfänger für die angegebene Gruppe gibt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mgm.h
Bibliothek Rtm.lib
DLL Rtm.dll

Weitere Informationen

MgmDeleteGroupMembershipEntry

PMGM_JOIN_ALERT_CALLBACK