Condividi tramite


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
WSAENOBUFS
Spazio buffer insufficiente disponibile.
WSAENOTSOCK
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

Vedi anche

MULTICAST_MODE_TYPE

SOCKADDR_STORAGE

getipv4sourcefilter

setipv4sourcefilter

setsourcefilter