Função getipv4sourcefilter (ws2tcpip.h)

A função embutida getipv4sourcefilter recupera o estado do filtro multicast para um soquete IPv4.

Sintaxe

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
);

Parâmetros

[in] Socket

Um descritor que identifica um soquete multicast.

[in] Interface

O endereço IPv4 local da interface ou o índice de interface no qual o grupo multicast deve ser unido ou descartado.

Esse valor está na ordem de bytes de rede. Se esse membro especificar um endereço IPv4 de 0.0.0.0, a interface multicast IPv4 padrão será usada.

Qualquer endereço IP no bloco 0.x.x.x (primeiro octeto de 0), exceto o endereço IPv4 0.0.0.0, é tratado como um índice de interface. Um índice de interface é um número de 24 bits e o bloco de endereçoS IPv4 0.0.0.0/8 não é usado (esse intervalo é reservado).

Usar um índice de interface de 1 seria o mesmo que um endereço IP de 0.0.0.1.

[in] Group

O endereço IPv4 do grupo multicast.

[out] FilterMode

Um ponteiro para um valor para receber o modo de filtro multicast para o endereço de grupo multicast quando a função retornar.

[in, out] SourceCount

Na entrada, um ponteiro para um valor que indica o número máximo de endereços de origem que caberão no buffer apontado pelo parâmetro SourceList .

Na saída, um ponteiro para um valor que indica o número total de endereços de origem associados ao filtro multicast.

[out] SourceList

Um ponteiro para um buffer para receber a lista de endereços IP associados ao filtro multicast.

Se SourceCount for zero na entrada, um ponteiro NULL poderá ser fornecido.

Valor retornado

Em caso de êxito, getipv4sourcefilter retorna NO_ERROR (0). Qualquer valor retornado diferente de zero indica falha e um código de erro específico pode ser recuperado chamando WSAGetLastError.

Código do erro Significado
WSAENOBUFS
Espaço em buffer insuficiente está disponível.
WSAENOTSOCK
O descritor não é um soquete.

Comentários

A função embutida getipv4sourcefilter é usada para recuperar o estado do filtro multicast para um soquete IPv4.

Se o aplicativo não souber o tamanho da lista de origem com antecedência, ele poderá fazer uma suposição (zero, por exemplo). Se após a conclusão, o parâmetro SourceCount conterá um valor maior, a operação poderá ser repetida com um buffer grande o suficiente.

No retorno, o parâmetro SourceCount sempre é atualizado para ser o número total de fontes no filtro, enquanto o buffer apontado pelo parâmetro SourceList conterá quantos endereços de origem forem adequados, até o mínimo do tamanho da matriz passado como o valor sourceCount original e o número total de fontes no filtro.

Essa função faz parte das extensões de interface de soquete para filtros de origem multicast definidos no RFC 3678. Um aplicativo pode usar essas funções para recuperar e definir os filtros de endereço de origem multicast associados a um soquete.

Windows Phone 8: essa função tem suporte para aplicativos da Windows Phone Store no Windows Phone 8 e posterior.

Windows 8.1 e Windows Server 2012 R2: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e posterior.

Requisitos

   
Cliente mínimo com suporte Windows 8.1, Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho ws2tcpip.h
Biblioteca Ws2_32.lib
DLL Ws2_32.dll

Confira também

MULTICAST_MODE_TYPE

getsourcefilter

End_inet

setipv4sourcefilter

setsourcefilter