次の方法で共有


GetMulticastIpAddressTable 関数 (netioapi.h)

GetMulticastIpAddressTable 関数は、ローカル コンピューター上のマルチキャスト IP アドレス テーブルを取得します。

構文

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetMulticastIpAddressTable(
  [in]  ADDRESS_FAMILY                Family,
  [out] PMIB_MULTICASTIPADDRESS_TABLE *Table
);

パラメーター

[in] Family

取得するアドレス ファミリ。

アドレス ファミリに使用できる値は、 Winsock2.h ヘッダー ファイルに一覧表示されます。 AF_ アドレス ファミリ定数とPF_ プロトコル ファミリ定数の値は同一であるため ( たとえば、AF_INETPF_INET)、どちらの定数も使用できます。

Windows Vista 以降用にリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更され、このメンバーの使用可能な値は Ws2def.h ヘッダー ファイルで定義されます。 Ws2def.h ヘッダー ファイルは Winsock2.h に自動的に含まれるので、直接使用しないでください。

現在サポートされている値は 、AF_INETAF_INET6AF_UNSPECです。

意味
AF_UNSPEC
0
アドレス ファミリが指定されていません。 このパラメーターを指定すると、この関数は IPv4 エントリと IPv6 エントリの両方を含むマルチキャスト IP アドレス テーブルを返します。
AF_INET
2
インターネット プロトコル バージョン 4 (IPv4) アドレス ファミリ。 このパラメーターを指定すると、この関数は IPv4 エントリのみを含むマルチキャスト IP アドレス テーブルを返します。
AF_INET6
23
インターネット プロトコル バージョン 6 (IPv6) アドレス ファミリ。 このパラメーターを指定すると、この関数は IPv6 エントリのみを含むマルチキャスト IP アドレス テーブルを返します。

[out] Table

ローカル コンピューター 上のエ ニーキャスト IP アドレス エントリのテーブルを含むMIB_MULTICASTIPADDRESS_TABLE構造体へのポインター。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 このエラーは、Table パラメーターに NULL ポインターが渡された場合、または Family パラメーターがAF_INET、AF_INET6、またはAF_UNSPECとして指定されていない場合返されます。
ERROR_NOT_ENOUGH_MEMORY
操作を完了するために使用できるメモリ リソースが不足しています。
ERROR_NOT_FOUND
Family パラメーターで指定されているエニーキャスト IP アドレス エントリが見つかりませんでした。
ERROR_NOT_SUPPORTED
要求はサポートされていません。 このエラーは、ローカル コンピューター上に IPv4 スタックがなく、Family パラメーターでAF_INETが指定されている場合に返されます。 このエラーは、ローカル コンピューター上に IPv6 スタックがなく、Family パラメーターでAF_INET6が指定されている場合にも返されます。 このエラーは、この関数がサポートされていない Windows のバージョンでも返されます。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

GetMulticastIpAddressTable 関数は、Windows Vista 以降で定義されています。

次に、
GetMulticastIpAddressTable 関数は、ローカル システム上のマルチキャスト IP アドレスを列挙し、この情報を MIB_MULTICASTIPADDRESS_TABLE 構造体で返します。

マルチキャスト IP アドレス エントリは、Table パラメーターによって指されるバッファー内のMIB_MULTICASTIPADDRESS_TABLE構造で返されます。 MIB_MULTICASTIPADDRESS_TABLE構造体には、マルチキャスト IP アドレス エントリ数と、各マルチキャスト IP アドレス エントリのMIB_MULTICASTIPADDRESS_ROW構造体の配列が含まれています。 これらの返される構造体が不要になったら、 FreeMibTable を呼び出してメモリを解放します。

Family パラメーターは、AF_INET、AF_INET6、またはAF_UNSPECのいずれかに初期化する必要があります。

Table パラメーターが指すMIB_MULTICASTIPADDRESS_TABLE返される構造体には、NumEntries メンバーと、MIB_MULTICASTIPADDRESS_TABLE 構造体の Table メンバー内の最初のMIB_MULTICASTIPADDRESS_ROW配列エントリとの間の配置のためのパディングが含まれていることに注意してください。 配置のためのパディングは、 MIB_MULTICASTIPADDRESS_ROW 配列エントリ間に存在する場合もあります。 MIB_MULTICASTIPADDRESS_ROW配列エントリへのアクセスは、埋め込みが存在する可能性があることを前提とする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー netioapi.h (Iphlpapi.h を含む)
Library Iphlpapi.lib
[DLL] Iphlpapi.dll

こちらもご覧ください

FreeMibTable

GetMulticastIpAddressEntry

MIB_MULTICASTIPADDRESS_ROW

MIB_MULTICASTIPADDRESS_TABLE