CreateSortedAddressPairs 関数 (netioapi.h)
CreateSortedAddressPairs 関数は、指定された潜在的な IP 宛先アドレスのリストを受け取り、宛先アドレスをホスト マシンのローカル IP アドレスとペアにし、2 つのピア間の通信に最適なアドレス ペアに従ってペアを並べ替えます。
構文
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateSortedAddressPairs(
[in, optional] const PSOCKADDR_IN6 SourceAddressList,
[in] ULONG SourceAddressCount,
[in] const PSOCKADDR_IN6 DestinationAddressList,
[in] ULONG DestinationAddressCount,
[in] ULONG AddressSortOptions,
[out] PSOCKADDR_IN6_PAIR *SortedAddressPairList,
[out] ULONG *SortedAddressPairCount
);
パラメーター
[in, optional] SourceAddressList
NULL にする必要があります。 将来使用するために予約されています。
[in] SourceAddressCount
0 を指定する必要があります。 将来利用するために予約されています。
[in] DestinationAddressList
潜在的な IPv6 宛先アドレスの一覧を含む SOCKADDR_IN6 構造体の配列へのポインター。 IPv4 アドレスは、IPv4 にマップされた IPv6 アドレス形式で表す必要があります。これにより、IPv6 のみのアプリケーションが IPv4 ノードと通信できるようになります。
[in] DestinationAddressCount
DestinationAddressList パラメーターが指す宛先アドレスの数。
[in] AddressSortOptions
将来利用するために予約されています。
[out] SortedAddressPairList
関数呼び出 しが 成功した場合に、通信の優先順序で並べ替えられた IPv6 アドレスのペアのリストを含む、SOCKADDR_IN6_PAIR構造体の配列を格納するポインター。
[out] SortedAddressPairCount
関数呼び出しが成功した場合に SortedAddressPairList パラメーターによって指されるアドレス ペアの数を格納するポインター。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
無効なパラメーターが関数に渡されました。 DestinationAddressList、SortedAddressPairList、または SortedAddressPairCount パラメーター NULL、または DestinationAddressCount が 500 より大きい場合、このエラーが返されます。 SourceAddressList が NULL ではない場合、または SourceAddressPairCount パラメーターが 0 でない場合も、このエラーが返されます。 |
|
このコマンドを処理するのに十分なストレージがありません。 |
|
要求はサポートされていません。 このエラーは、ローカル コンピューターに IPv6 スタックがない場合に返されます。 |
|
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。 |
注釈
CreateSortedAddressPairs 関数は、Windows Vista 以降で定義されています。
CreateSortedAddressPairs 関数は、送信元と宛先の IPv6 アドレスの一覧を取得し、並べ替えられた順序でアドレスのペアの一覧を返します。 リストは、送信元と宛先のアドレス間の通信に最適なアドレス ペアで並べ替えられます。
SourceAddressList が指すソース アドレスの一覧は現在、将来のために予約されており、NULL ポインターである必要があります。 SourceAddressCount は現在、将来のために予約されており、ゼロである必要があります。 CreateSortedAddressPairs 関数は現在、ソース アドレス一覧に対してホスト コンピューターのすべてのローカル アドレスを使用しています。
宛先アドレスのリストは、 DestinationAddressList パラメーターによって指されます。 宛先アドレスの一覧は、 SOCKADDR_IN6 構造体の配列です。 IPv4 アドレスは、IPv4 にマップされた IPv6 アドレス形式で表す必要があります。これにより、IPv6 のみのアプリケーションが IPv4 ノードと通信できるようになります。 IPv4 にマップされた IPv6 アドレス形式の詳細については、「 デュアル スタック ソケット」を参照してください。 DestinationAddressCount パラメーターには、DestinationAddressList パラメーターが指す宛先アドレスの数が含まれています。 CreateSortedAddressPairs 関数では、最大 500 個の宛先アドレスがサポートされます。
CreateSortedAddressPairs 関数が成功した場合、SortedAddressPairList パラメーターは、並べ替えられたアドレス ペアを含むSOCKADDR_IN6_PAIR構造体の配列を指します。 この返されたリストが不要になったら、 FreeMibTable 関数を呼び出して、リストで使用されるメモリを解放します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | netioapi.h (Iphlpapi.h を含む) |
Library | Iphlpapi.lib |
[DLL] | Iphlpapi.dll |