Función getsourcefilter (ws2tcpip.h)
La función insertada getsourcefilter recupera el estado del filtro de multidifusión para un socket IPv4 o IPv6.
Sintaxis
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
Descriptor que identifica un socket de multidifusión.
[in] Interface
Índice de interfaz de la interfaz de multidifusión.
[in] Group
Puntero a la dirección de socket del grupo de multidifusión.
[in] GroupLength
Longitud, en bytes, de la dirección de socket a la que apunta el parámetro Group .
[out] FilterMode
Puntero a un valor para recibir el modo de filtro de multidifusión para la dirección del grupo de multidifusión cuando la función devuelve.
[in, out] SourceCount
En la entrada, un puntero a un valor que indica el número máximo de direcciones de origen que caben en el búfer al que apunta el parámetro SourceList .
En la salida, un puntero a un valor que indica el número total de direcciones de origen asociadas al filtro de multidifusión.
[out] SourceList
Puntero a un búfer para recibir la lista de direcciones IP asociadas al filtro de multidifusión.
Si SourceCount es cero en la entrada, se puede proporcionar un puntero NULL .
Valor devuelto
Si se ejecuta correctamente, getsourcefilter devuelve NO_ERROR (0). Cualquier valor devuelto distinto de cero indica un error y se puede recuperar un código de error específico llamando a WSAGetLastError.
Código de error | Significado |
---|---|
No hay suficiente espacio en búfer disponible. | |
El descriptor no es un socket. |
Comentarios
La función insertada getsourcefilter se usa para recuperar el estado del filtro de multidifusión para un socket IPv4 o IPv6.
Si la aplicación no conoce el tamaño de la lista de origen de antemano, puede realizar una estimación (por ejemplo, cero). Si se completa, el parámetro SourceCount contiene un valor mayor, la operación se puede repetir con un búfer lo suficientemente grande.
A la devolución, el parámetro SourceCount siempre se actualiza para que sea el número total de orígenes del filtro, mientras que el búfer al que apunta el parámetro SourceList contendrá tantas direcciones de origen como quepan, hasta el mínimo del tamaño de la matriz pasado como el valor sourceCount original y el número total de orígenes del filtro.
Esta función forma parte de las extensiones de interfaz de socket para los filtros de origen de multidifusión definidos en RFC 3678. Una aplicación puede usar estas funciones para recuperar y establecer los filtros de dirección de origen de multidifusión asociados a un socket.
Windows Phone 8: esta función es compatible con las aplicaciones de Windows Phone Store en Windows Phone 8 y versiones posteriores.
Windows 8.1 y Windows Server 2012 R2: esta función es compatible con las aplicaciones de la Tienda Windows en Windows 8.1, Windows Server 2012 R2 y versiones posteriores.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8.1, Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | ws2tcpip.h |
Library | Ws2_32.lib |
Archivo DLL | Ws2_32.dll |