다음을 통해 공유


CreateSortedAddressPairs 함수(netioapi.h)

CreateSortedAddressPairs 함수는 제공된 잠재적 IP 대상 주소 목록을 사용하고, 대상 주소를 호스트 컴퓨터의 로컬 IP 주소와 페어링하고, 두 피어 간의 통신에 가장 적합한 주소 쌍에 따라 쌍을 정렬합니다.

구문

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만 애플리케이션을 사용 하도록 설정 하는 IPv4 매핑된 IPv6 주소 형식으로 표현 되어야 합니다.

[in] DestinationAddressCount

DestinationAddressList 매개 변수가 가리키는 대상 주소 수입니다.

[in] AddressSortOptions

다음에 사용하도록 예약됩니다.

[out] SortedAddressPairList

함수 호출이 성공한 경우 기본 통신 순서로 정렬된 IPv6 주소 쌍의 목록을 포함하는 SOCKADDR_IN6_PAIR 구조체 배열을 저장하는 포인터입니다.

[out] SortedAddressPairCount

함수 호출이 성공한 경우 SortedAddressPairList 매개 변수가 가리키는 주소 쌍 수를 저장하는 포인터입니다.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. DestinationAddressList, SortedAddressPairList 또는 SortedAddressPairCount 매개 변수 NULL 또는 DestinationAddressCount가 500보다 큰 경우 이 오류가 반환됩니다. SourceAddressListNULL이 아니거나 SourceAddressPairCount 매개 변수가 0이 아닌 경우에도 이 오류가 반환됩니다.
ERROR_NOT_ENOUGH_MEMORY
이 명령을 처리하는 데 스토리지가 부족합니다.
ERROR_NOT_SUPPORTED
요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv6 스택이 없으면 반환됩니다.
기타
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

CreateSortedAddressPairs 함수는 Windows Vista 이상에서 정의됩니다.

CreateSortedAddressPairs 함수는 원본 및 대상 IPv6 주소 목록을 가져와서 정렬된 순서로 주소 쌍의 목록을 반환합니다. 목록은 원본 주소와 대상 주소 간의 통신에 가장 적합한 주소 쌍을 기준으로 정렬됩니다.

SourceAddressList가 가리키는 원본 주소 목록은 현재 향후에 예약되어 있으며 NULL 포인터여야 합니다. SourceAddressCount는 현재 미래를 위해 예약되어 있으며 0이어야 합니다. CreateSortedAddressPairs 함수는 현재 원본 주소 목록에 호스트 컴퓨터의 모든 로컬 주소를 사용합니다.

대상 주소 목록은 DestinationAddressList 매개 변수로 가리켰습니다. 대상 주소 목록은 SOCKADDR_IN6 구조의 배열입니다. 모든 IPv4 주소는 IPv4 노드와 통신 하는 IPv6만 애플리케이션을 사용 하도록 설정 하는 IPv4 매핑된 IPv6 주소 형식으로 표현 되어야 합니다. IPv4 매핑된 IPv6 주소 형식에 대한 자세한 내용은 이중 스택 소켓을 참조하세요. DestinationAddressCount 매개 변수에는 DestinationAddressList 매개 변수가 가리키는 대상 주소 수가 포함됩니다. CreateSortedAddressPairs 함수는 최대 500개의 대상 주소를 지원합니다.

CreateSortedAddressPairs 함수가 성공하면 SortedAddressPairList 매개 변수는 정렬된 주소 쌍을 포함하는 SOCKADDR_IN6_PAIR 구조체의 배열을 가리킵니다. 이 반환된 목록이 더 이상 필요하지 않으면 FreeMibTable 함수를 호출하여 목록에서 사용하는 메모리를 해제합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 netioapi.h(Iphlpapi.h 포함)
라이브러리 Iphlpapi.lib
DLL Iphlpapi.dll

추가 정보

이중 스택 소켓

FreeMibTable

SOCKADDR_IN6_PAIR

SIO_ADDRESS_LIST_SORT 사용

sockaddr