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 を呼び出すことで特定のエラー コードを取得できます。
エラー コード | 意味 |
---|---|
バッファー領域が不足しています。 | |
記述子はソケットではありません。 |
解説
getipv4sourcefilter インライン関数は、IPv4 ソケットのマルチキャスト フィルター状態を取得するために使用されます。
アプリがソース リストのサイズを事前に把握していない場合は、推測を行うことができます (たとえば、0)。 完了時に SourceCount パラメーターが大きな値を保持する場合は、十分な大きさのバッファーで操作を繰り返すことができます。
返されると、 SourceCount パラメーターは常にフィルター内のソースの合計数に更新されますが、 SourceList パラメーターが指すバッファーは、元の SourceCount 値とフィルター内のソースの合計数として渡される配列サイズの最小値まで、適合する数のソース アドレスを保持します。
この関数は、RFC 3678 で定義されているマルチキャスト ソース フィルターのソケット インターフェイス拡張機能の一部です。 アプリでは、これらの関数を使用して、ソケットに関連付けられているマルチキャスト ソース アドレス フィルターを取得および設定できます。
Windows Phone 8: この関数は、Windows Phone 8 以降のWindows Phone ストア アプリでサポートされています。
Windows 8.1と Windows 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 |