setsourcefilter 函数 (ws2tcpip.h)

setsourcefilter 内联函数为 IPv4 或 IPv6 套接字设置多播筛选器状态。

语法

int setsourcefilter(
  [in] SOCKET                 Socket,
  [in] ULONG                  Interface,
  [in] const SOCKADDR         *Group,
  [in] int                    GroupLength,
  [in] MULTICAST_MODE_TYPE    FilterMode,
  [in] ULONG                  SourceCount,
  [in] const SOCKADDR_STORAGE *SourceList
);

参数

[in] Socket

标识多播套接字的描述符。

[in] Interface

多播接口的接口索引。

[in] Group

指向多播组的套接字地址的指针。

[in] GroupLength

Group 参数指向的套接字地址的长度(以字节为单位)。

[in] FilterMode

多播组地址的多播筛选器模式。

[in] SourceCount

SourceList 参数指向的缓冲区中的源地址数。

[in] SourceList

指向缓冲区的指针,其中包含要与多播筛选器关联的 IP 地址。

返回值

成功后, setsourcefilter 将返回NO_ERROR (0) 。 任何非零返回值都表示失败,可以通过调用 WSAGetLastError 来检索特定的错误代码。

错误代码 含义
WSAENOBUFS
可用缓冲区空间不足。
WSAENOTSOCK
:描述符不是套接字。

注解

setsourcefilter 内联函数用于设置 IPv4 或 IPv6 套接字的多播筛选器状态。

此函数是 RFC 3678 中定义的多播源筛选器的套接字接口扩展的一部分。 应用可以使用这些函数来检索和设置与套接字关联的多播源地址筛选器。

Windows Phone 8:Windows Phone 8 及更高版本上的 Windows Phone 应用商店应用支持此函数。

Windows 8.1Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此函数。

要求

要求
最低受支持的客户端 Windows 8.1,Windows Vista [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 ws2tcpip.h
Library Ws2_32.lib
DLL Ws2_32.dll

另请参阅

MULTICAST_MODE_TYPE

SOCKADDR_STORAGE

getipv4sourcefilter

getsourcefilter

setipv4sourcefilter