setipv4sourcefilter 函数 (ws2tcpip.h)

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

语法

int setipv4sourcefilter(
  [in] SOCKET              Socket,
  [in] IN_ADDR             Interface,
  [in] IN_ADDR             Group,
  [in] MULTICAST_MODE_TYPE FilterMode,
  [in] ULONG               SourceCount,
  [in] const IN_ADDR       *SourceList
);

参数

[in] Socket

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

[in] Interface

接口的本地 IPv4 地址或应加入或删除多播组的接口索引。

此值按网络字节顺序排列。 如果此成员指定 IPv4 地址 0.0.0.0,则使用默认 IPv4 多播接口。

除 IPv4 地址 0.0.) 0.0 之外,0.x.x 块 (第一个八位字节(0.0.0.0 除外)的任何 IP 地址都被视为接口索引。 接口索引是一个 24 位数字, (此范围保留) ,则不使用 0.0.0.0/8 IPv4 地址块。

使用接口索引 1 与 IP 地址 0.0.0.1 相同。

[in] Group

多播组的 IPv4 地址。

[in] FilterMode

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

[in] SourceCount

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

[in] SourceList

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

返回值

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

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

注解

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

此函数是 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

getipv4sourcefilter

getsourcefilter

in_addr

setsourcefilter