CreateSortedAddressPairs 関数

指定された潜在的な IP 宛先アドレスの一覧から、 CreateSortedAddressPairs 関数は宛先アドレスをホスト マシンのローカル IP アドレスとペアにし、通信の優先順序に従ってペアを並べ替えます。

構文

NETIOAPI_API CreateSortedAddressPairs(
  _In_opt_ const PSOCKADDR_IN6      SourceAddressList,
  _In_           ULONG              SourceAddressCount,
  _In_     const PSOCKADDR_IN6      DestinationAddressList,
  _In_           ULONG              DestinationAddressCount,
  _In_           ULONG              AddressSortOptions,
  _In_           PSOCKADDR_IN6_PAIR *SortedAddressPairList,
  _Out_          ULONG              *SortedAddressPairCount
);

パラメーター

  • SourceAddressList[入力、省略可能]
    予約済み。 このパラメーターは NULLである必要があります。

  • SourceAddressCount [in]
    予約済み。 このパラメーターは 0 である必要があります。

  • DestinationAddressList [in]
    SOCKADDR_IN6型の潜在的な宛先アドレスの一覧へのポインター。

  • DestinationAddressCount [in]
    DestinationAddressList パラメーターが指すリスト内のアドレスの数。

  • AddressSortOptions [in]
    予約済み。 このパラメーターは 0 である必要があります。

  • SortedAddressPairList [in]
    送信元アドレスと宛先アドレスのペアのリストへのポインターで、通信の優先順序で並べ替えられます。 このパラメータの詳細については、以下の「解説」を参照してください。

  • SortedAddressPairCount [out]
    SortedAddressPairList パラメーターが指すリスト内のアドレス ペアの数。

戻り値

関数が成功した場合、CreateSortedAddressPairs は STATUS_SUCCESS を返します。

関数が失敗した場合、CreateSortedAddressPairs は次のいずれかのエラー コードを返します:

リターン コード 説明
STATUS_INVALID_PARAMETER

その関数に無効なパラメーターが渡された。

STATUS_NOT_ENOUGH_MEMORY

操作を完了するために使用できるメモリ リソースが不足していました。

その他

FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。

解説

CreateSortedAddressPairs 関数は、ホスト コンピューターのローカル アドレスと、DestinationAddressList パラメーターが指している可能性のある宛先アドレスの指定されたリストを自動的にペアリングします。

SortedAddressPairList パラメーターが指すアドレスのペアの返されたリストが並べ替えられるので、2 つのピア間の通信に最適なアドレス ペアがリストの前に存在します。

SortedAddressPairList パラメーターは PSOCKADDR_IN6_PAIR 型で、Ws2ipdef.h ヘッダーで次のように定義されています。

    typedef struct _sockaddr_in6_pair
    {
        PSOCKADDR_IN6  SourceAddress;
        PSOCKADDR_IN6  DestinationAddress;
    } SOCKADDR_IN6_PAIR, *PSOCKADDR_IN6_PAIR;

  - **SourceAddress**  
    The IP source address.

  - **DestinationAddress**  
    The IP destination address.

要件

対象プラットフォーム

ユニバーサル

バージョン

Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。

ヘッダー

Netioapi.h (Netioapi.h を含む)

ライブラリ

Netio.lib

IRQL

< DISPATCH_LEVEL

関連項目

FormatMessage

SOCKADDR_IN6