funzione getipv4sourcefilter (ws2tcpip.h)
La funzione inline getipv4sourcefilter recupera lo stato del filtro multicast per un socket IPv4.
Sintassi
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
);
Parametri
[in] Socket
Descrittore che identifica un socket multicast.
[in] Interface
Indirizzo IPv4 locale dell'interfaccia o dell'indice dell'interfaccia in cui deve essere aggiunto o eliminato il gruppo multicast.
Questo valore è in ordine di byte di rete. Se questo membro specifica un indirizzo IPv4 pari a 0.0.0.0,0, viene usata l'interfaccia multicast IPv4 predefinita.
Qualsiasi indirizzo IP nel blocco 0.x.x.x (primo ottetto di 0) tranne l'indirizzo IPv4 0.0.0.0.0 viene considerato come indice di interfaccia. Un indice di interfaccia è un numero a 24 bit e il blocco indirizzi IPv4 0.0.0.0/8 non viene usato (questo intervallo è riservato).
Per usare un indice di interfaccia pari a 1 sarebbe uguale a un indirizzo IP pari a 0.0.0.1.
[in] Group
Indirizzo IPv4 del gruppo multicast.
[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, getipv4sourcefilter 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 getipv4sourcefilter viene usata per recuperare lo stato del filtro multicast per un socket IPv4.
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
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 |