GetAnycastIpAddressTable 関数 (netioapi.h)
GetAnycastIpAddressTable 関数は、ローカル コンピューター上のエニーキャスト IP アドレス テーブルを取得します。
構文
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetAnycastIpAddressTable(
[in] ADDRESS_FAMILY Family,
[out] PMIB_ANYCASTIPADDRESS_TABLE *Table
);
パラメーター
[in] Family
取得するアドレス ファミリ。
アドレス ファミリに使用できる値は、 Winsock2.h ヘッダー ファイルに一覧表示されます。 AF_ アドレス ファミリ定数とPF_ プロトコル ファミリ定数の値は同一であるため ( たとえば、AF_INET と PF_INET)、どちらの定数も使用できます。
Windows Vista 以降でリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更され、このメンバーに使用できる値は Ws2def.h ヘッダー ファイルで定義されています。 Ws2def.h ヘッダー ファイルは Winsock2.h に自動的に含まれるので、直接使用しないでください。
現在サポートされている値は 、AF_INET、 AF_INET6、 AF_UNSPECです。
[out] Table
ローカル コンピューター 上のエ ニーキャスト IP アドレス エントリのテーブルを含むMIB_ANYCASTIPADDRESS_TABLE構造体へのポインター。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
無効なパラメーターが関数に渡されました。 このエラーは、Table パラメーターで NULL ポインターが渡された場合、または Family パラメーターが AF_INET、AF_INET6、または AF_UNSPEC として指定されていない場合に返されます。 |
|
操作を完了するために使用できるメモリ リソースが不足しています。 |
|
Family パラメーターで指定されているエニーキャスト IP アドレス エントリが見つかりませんでした。 |
|
要求はサポートされていません。 このエラーは、ローカル コンピューター上に IPv4 スタックがなく、Family パラメーターにAF_INETが指定されている場合に返されます。 このエラーは、ローカル コンピューター上に IPv6 スタックがなく、Family パラメーターに AF_INET6が指定されている場合にも返されます。 このエラーは、この関数がサポートされていない Windows のバージョンでも返されます。 |
|
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。 |
注釈
GetAnycastIpAddressTable 関数は、Windows Vista 以降で定義されています。
次に、
GetAnycastIpAddressTable 関数は、ローカル システム上のエニーキャスト IP アドレスを列挙し、この情報を MIB_ANYCASTIPADDRESS_TABLE 構造体で返します。
エニーキャスト IP アドレス エントリは、Table パラメーターによって指されるバッファー内のMIB_ANYCASTIPADDRESS_TABLE構造体で返されます。 MIB_ANYCASTIPADDRESS_TABLE構造体には、エニーキャスト IP アドレス エントリ数と、各エニーキャスト IP アドレス エントリのMIB_ANYCASTIPADDRESS_ROW構造体の配列が含まれています。 これらの返された構造体が不要になったら、 FreeMibTable を呼び出してメモリを解放します。
Family パラメーターは、AF_INET、AF_INET6、またはAF_UNSPECに初期化する必要があります。
Table パラメーターが指す返されるMIB_ANYCASTIPADDRESS_TABLE構造体には、NumEntries メンバーと、MIB_ANYCASTIPADDRESS_TABLE 構造体の Table メンバー内の最初のMIB_ANYCASTIPADDRESS_ROW配列エントリとの間の配置のためのパディングが含まれている場合があることに注意してください。 配置のパディングは、 MIB_ANYCASTIPADDRESS_ROW 配列エントリ間に存在する場合もあります。 MIB_ANYCASTIPADDRESS_ROW配列エントリへのアクセスでは、埋め込みが存在する可能性があると想定する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | netioapi.h (Iphlpapi.h を含む) |
Library | Iphlpapi.lib |
[DLL] | Iphlpapi.dll |