Compartilhar via


Função getsourcefilter (ws2tcpip.h)

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

Sintaxe

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

Parâmetros

[in] Socket

Um descritor que identifica um soquete multicast.

[in] Interface

O índice de interface da interface multicast.

[in] Group

Um ponteiro para o endereço do soquete do grupo multicast.

[in] GroupLength

O comprimento, em bytes, do endereço do soquete apontado pelo parâmetro Group .

[out] FilterMode

Um ponteiro para um valor para receber o modo de filtro multicast para o endereço do 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.

Retornar valor

Em caso de êxito, getsourcefilter 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 getsourcefilter é usada para recuperar o estado do filtro multicast para um soquete IPv4 ou IPv6.

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 ajustados, 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 do 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 posteriores.

Requisitos

Requisito Valor
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

SOCKADDR_STORAGE

getipv4sourcefilter

setipv4sourcefilter

setsourcefilter