getipv4sourcefilter 関数 (ws2tcpip.h)

getipv4sourcefilter インライン関数は、IPv4 ソケットのマルチキャスト フィルター状態を取得します。

構文

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

パラメーター

[in] Socket

マルチキャスト ソケットを識別する記述子。

[in] Interface

マルチキャスト グループを参加または削除する必要があるインターフェイスまたはインターフェイス インデックスのローカル IPv4 アドレス。

この値は、ネットワークのバイト順です。 このメンバーが 0.0.0.0.0 の IPv4 アドレスを指定する場合は、既定の IPv4 マルチキャスト インターフェイスが使用されます。

IPv4 アドレス 0.0.0.0 を除く、0.x.x.x ブロック内の IP アドレス (0 の最初のオクテット) は、インターフェイス インデックスとして扱われます。 インターフェイス インデックスは 24 ビット番号であり、0.0.0.0/8 IPv4 アドレス ブロックは使用されません (この範囲は予約されています)。

インターフェイス インデックス 1 を使用するには、IP アドレス 0.0.0.1 と同じになります。

[in] Group

マルチキャスト グループの IPv4 アドレス。

[out] FilterMode

関数が戻るときにマルチキャスト グループ アドレスのマルチキャスト フィルター モードを受信する値へのポインター。

[in, out] SourceCount

入力時に、 SourceList パラメーターが指すバッファーに収まるソース アドレスの最大数を示す値へのポインター。

出力時に、マルチキャスト フィルターに関連付けられているソース アドレスの合計数を示す値へのポインター。

[out] SourceList

マルチキャスト フィルターに関連付けられている IP アドレスの一覧を受信するバッファーへのポインター。

入力時に SourceCount が 0 の場合は、 NULL ポインターを指定できます。

戻り値

成功すると、 getipv4sourcefilter は NO_ERROR (0) を返します。 0 以外の戻り値はエラーを示し、 WSAGetLastError を呼び出すことで特定のエラー コードを取得できます。

エラー コード 意味
WSAENOBUFS
バッファー領域が不足しています。
WSAENOTSOCK
記述子はソケットではありません。

解説

getipv4sourcefilter インライン関数は、IPv4 ソケットのマルチキャスト フィルター状態を取得するために使用されます。

アプリがソース リストのサイズを事前に把握していない場合は、推測を行うことができます (たとえば、0)。 完了時に SourceCount パラメーターが大きな値を保持する場合は、十分な大きさのバッファーで操作を繰り返すことができます。

返されると、 SourceCount パラメーターは常にフィルター内のソースの合計数に更新されますが、 SourceList パラメーターが指すバッファーは、元の SourceCount 値とフィルター内のソースの合計数として渡される配列サイズの最小値まで、適合する数のソース アドレスを保持します。

この関数は、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

getsourcefilter

in_addr

setipv4sourcefilter

setsourcefilter