getipv4sourcefilter-Funktion (ws2tcpip.h)
Die Inlinefunktion getipv4sourcefilter ruft den Multicastfilterstatus für einen IPv4-Socket ab.
Syntax
int getipv4sourcefilter(
[in] SOCKET Socket,
[in] IN_ADDR Interface,
[in] IN_ADDR Group,
[out] MULTICAST_MODE_TYPE *FilterMode,
[in, out] ULONG *SourceCount,
[out] IN_ADDR *SourceList
);
Parameter
[in] Socket
Ein Deskriptor, der einen Multicastsocket identifiziert.
[in] Interface
Die lokale IPv4-Adresse der Schnittstelle oder der Schnittstellenindex, in dem die Multicastgruppe verknüpft oder gelöscht werden soll.
Dieser Wert liegt in der Netzwerkbytereihenfolge vor. Wenn dieser Member die IPv4-Adresse 0.0.0.0 angibt, wird die IPv4-Standard-Multicastschnittstelle verwendet.
Jede IP-Adresse im 0.x.x.x-Block (erstes Oktett von 0) mit Ausnahme der IPv4-Adresse 0.0.0.0 wird als Schnittstellenindex behandelt. Ein Schnittstellenindex ist eine 24-Bit-Zahl, und der IPv4-Adressblock 0.0.0.0/8 wird nicht verwendet (dieser Bereich ist reserviert).
Die Verwendung eines Schnittstellenindexes von 1 entspricht der IP-Adresse 0.0.0.1.
[in] Group
Die IPv4-Adresse der Multicastgruppe.
[out] FilterMode
Ein Zeiger auf einen Wert, der den Multicastfiltermodus für die Multicastgruppenadresse empfangen soll, wenn die Funktion zurückgegeben wird.
[in, out] SourceCount
Bei der Eingabe ein Zeiger auf einen Wert, der die maximale Anzahl von Quelladressen angibt, die in den Puffer passen, auf den der SourceList-Parameter verweist.
In der Ausgabe ein Zeiger auf einen Wert, der die Gesamtanzahl der Quelladressen angibt, die dem Multicastfilter zugeordnet sind.
[out] SourceList
Ein Zeiger auf einen Puffer zum Empfangen der Liste der IP-Adressen, die dem Multicastfilter zugeordnet sind.
Wenn SourceCount bei der Eingabe null ist, kann ein NULL-Zeiger angegeben werden.
Rückgabewert
Bei Erfolg gibt getipv4sourcefilter NO_ERROR (0) zurück. Jeder Rückgabewert ungleich null gibt einen Fehler an, und ein bestimmter Fehlercode kann durch Aufrufen von WSAGetLastError abgerufen werden.
Fehlercode | Bedeutung |
---|---|
Es ist nicht genügend Pufferspeicher verfügbar. | |
Der Deskriptor ist kein Socket. |
Hinweise
Die Inlinefunktion getipv4sourcefilter wird verwendet, um den Multicastfilterstatus für einen IPv4-Socket abzurufen.
Wenn die App die Größe der Quellliste im Voraus nicht kennt, kann sie eine Schätzung vornehmen (z. B. null). Wenn der SourceCount-Parameter nach Abschluss einen größeren Wert enthält, kann der Vorgang mit einem ausreichend großen Puffer wiederholt werden.
Bei der Rückgabe wird der SourceCount-Parameter immer aktualisiert, um die Gesamtanzahl der Quellen im Filter zu sein, während der Puffer, auf den der SourceList-Parameter verweist, so viele Quelladressen wie möglich enthält, bis zum Minimum der Arraygröße, die als ursprünglicher SourceCount-Wert übergeben wird, und der Gesamtzahl der Quellen im Filter.
Diese Funktion ist Teil der Socketschnittstellenerweiterungen für Multicastquellenfilter, die in RFC 3678 definiert sind. Eine App kann diese Funktionen verwenden, um die Multicast-Quelladressfilter abzurufen und festzulegen, die einem Socket zugeordnet sind.
Windows Phone 8: Diese Funktion wird für Windows Phone Store-Apps ab Windows Phone 8 unterstützt.
Windows 8.1 und Windows Server 2012 R2: Diese Funktion wird für Windows Store-Apps unter Windows 8.1, Windows Server 2012 R2 und höher unterstützt.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 8.1, Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | ws2tcpip.h |
Bibliothek | Ws2_32.lib |
DLL | Ws2_32.dll |