funzione getsourcefilter (ws2tcpip.h)
La funzione inline getsourcefilter recupera lo stato del filtro multicast per un socket IPv4 o IPv6.
Sintassi
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
);
Parametri
[in] Socket
Descrittore che identifica un socket multicast.
[in] Interface
Indice dell'interfaccia dell'interfaccia multicast.
[in] Group
Puntatore all'indirizzo socket del gruppo multicast.
[in] GroupLength
Lunghezza, in byte, dell'indirizzo socket a cui fa riferimento il parametro Group .
[out] FilterMode
Puntatore a un valore per ricevere la modalità filtro multicast per l'indirizzo del gruppo multicast quando la funzione restituisce.
[in, out] SourceCount
In input, un puntatore a un valore che indica il numero massimo di indirizzi di origine che si adattano al buffer a cui fa riferimento il parametro SourceList .
In output, un puntatore a un valore che indica il numero totale di indirizzi di origine associati al filtro multicast.
[out] SourceList
Puntatore a un buffer per ricevere l'elenco di indirizzi IP associati al filtro multicast.
Se SourceCount è zero in input, è possibile specificare un puntatore NULL .
Valore restituito
In caso di esito positivo, getsourcefilter restituisce NO_ERROR (0). Qualsiasi valore restituito diverso da zero indica l'errore e un codice di errore specifico può essere recuperato chiamando WSAGetLastError.
Codice di errore | Significato |
---|---|
Spazio buffer insufficiente disponibile. | |
Il descrittore non è un socket. |
Commenti
La funzione inline getsourcefilter viene usata per recuperare lo stato del filtro multicast per un socket IPv4 o IPv6.
Se l'app non conosce le dimensioni dell'elenco di origine in anticipo, può indovinare (ad esempio zero). Se al termine, il parametro SourceCount contiene un valore maggiore, l'operazione può essere ripetuta con un buffer sufficiente.
In caso di ritorno, il parametro SourceCount viene sempre aggiornato per essere il numero totale di origini nel filtro, mentre il buffer a cui punta il parametro SourceList conterrà il numero massimo di indirizzi di origine adatti, fino al minimo delle dimensioni della matrice passate come valore sourceCount originale e il numero totale di origini nel filtro.
Questa funzione fa parte delle estensioni dell'interfaccia socket per i filtri di origine multicast definiti in RFC 3678. Un'app può usare queste funzioni per recuperare e impostare i filtri degli indirizzi di origine multicast associati a un socket.
Windows Phone 8: questa funzione è supportata per le app Windows Phone Store in Windows Phone 8 e versioni successive.
Windows 8.1 e Windows Server 2012 R2: questa funzione è supportata per le app di Windows Store in Windows 8.1, Windows Server 2012 R2 e versioni successive.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8.1, Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | ws2tcpip.h |
Libreria | Ws2_32.lib |
DLL | Ws2_32.dll |