getsourcefilter 函式 (ws2tcpip.h)

getsourcefilter 內嵌函式會擷取 IPv4 或 IPv6 套接字的多播篩選狀態。

語法

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

參數

[in] Socket

識別多播套接字的描述項。

[in] Interface

多播介面的介面索引。

[in] Group

多播群組之套接字位址的指標。

[in] GroupLength

Group 參數所指向之套接字地址的長度,以位元組為單位。

[out] FilterMode

當函式傳回時,要接收多播群組位址之多播篩選模式之值的指標。

[in, out] SourceCount

在輸入時,指向值的指標,指出 SourceList 參數所指向之緩衝區中的來源位址數目上限。

輸出時,指向值的指標,指出與多播篩選相關聯的來源地址總數。

[out] SourceList

緩衝區的指標,用來接收與多播篩選相關聯的IP位址清單。

如果 Input 上的 SourceCount 為零,可能會提供 NULL 指標。

傳回值

成功時, getsourcefilter 會傳回 NO_ERROR (0) 。 任何非零傳回值都表示失敗,而且呼叫 WSAGetLastError 即可擷取特定的錯誤碼。

錯誤碼 意義
WSAENOBUFS
緩衝區空間不足。
WSAENOTSOCK
描述項不是套接字。

備註

getsourcefilter 內嵌函式可用來擷取 IPv4 或 IPv6 套接字的多播篩選狀態。

如果應用程式事先不知道來源清單的大小,它可以 (零進行猜測,例如) 。 如果完成時, SourceCount 參數會保留較大的值,則作業可以重複使用夠大的緩衝區。

傳回時, SourceCount 參數一律會更新為篩選中的來源總數,而 SourceList 參數所指向的緩衝區會保留符合多少來源位址,最多可保留傳入為原始 SourceCount 值和篩選條件中來源總數的數位大小下限。

此函式是 RFC 3678 中定義之多播來源篩選器的套接字介面延伸模組之一部分。 應用程式可以使用這些函式來擷取和設定與套接字相關聯的多播來源地址篩選器。

Windows Phone 8:Windows Phone 8 和更新版本上的 Windows Phone Store 應用程式支援此函式。

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
程式庫 Ws2_32.lib
Dll Ws2_32.dll

另請參閱

MULTICAST_MODE_TYPE

SOCKADDR_STORAGE

getipv4sourcefilter

setipv4sourcefilter

setsourcefilter