getsourcefilter-Funktion (ws2tcpip.h)
Die Inlinefunktion getsourcefilter ruft den Multicastfilterstatus für einen IPv4- oder IPv6-Socket ab.
Syntax
int getsourcefilter(
[in] SOCKET Socket,
[in] ULONG Interface,
[in] const SOCKADDR *Group,
[in] int GroupLength,
[out] MULTICAST_MODE_TYPE *FilterMode,
[in, out] ULONG *SourceCount,
[out] SOCKADDR_STORAGE *SourceList
);
Parameter
[in] Socket
Ein Deskriptor, der einen Multicastsocket identifiziert.
[in] Interface
Der Schnittstellenindex der Multicastschnittstelle.
[in] Group
Ein Zeiger auf die Socketadresse der Multicastgruppe.
[in] GroupLength
Die Länge der Socketadresse in Bytes, auf die vom Group-Parameter verwiesen wird.
[out] FilterMode
Ein Zeiger auf einen Wert, um den Multicastfiltermodus für die Multicastgruppenadresse zu empfangen, wenn die Funktion zurückgibt.
[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, um die Liste der IP-Adressen zu empfangen, die dem Multicastfilter zugeordnet sind.
Wenn SourceCount bei der Eingabe null ist, wird möglicherweise ein NULL-Zeiger angegeben.
Rückgabewert
Bei Erfolg gibt getsourcefilter NO_ERROR (0) zurück. Jeder nichtzero-Rückgabewert 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 getsourcefilter wird verwendet, um den Multicastfilterstatus für einen IPv4- oder IPv6-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 von Socketschnittstellenerweiterungen für Multicastquellfilter, 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 auf Windows Phone 8 und höher unterstützt.
Windows 8.1 und Windows Server 2012 R2: Diese Funktion wird für Windows Store-Apps auf Windows 8.1, Windows Server 2012 R2 und höher unterstützt.
Anforderungen
Anforderung | Wert |
---|---|
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 |