다음을 통해 공유


GetBestInterfaceEx 함수(iphlpapi.h)

GetBestInterfaceEx 함수는 지정된 IPv4 또는 IPv6 주소에 가장 적합한 경로가 있는 인터페이스의 인덱스를 검색합니다.

구문

IPHLPAPI_DLL_LINKAGE DWORD GetBestInterfaceEx(
  [in]  sockaddr *pDestAddr,
  [out] PDWORD   pdwBestIfIndex
);

매개 변수

[in] pDestAddr

sockaddr 구조체의 형태로 최상의 경로를 사용하여 인터페이스를 검색할 대상 IPv6 또는 IPv4 주소입니다.

[out] pdwBestIfIndex

pDestAddr로 지정된 IPv6 또는 IPv4 주소에 가장 적합한 경로가 있는 인터페이스의 인덱스 포인터입니다.

반환 값

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

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

반환 코드 설명
ERROR_CAN_NOT_COMPLETE
작업을 완료할 수 없습니다.
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 nULL 포인터가 pdwBestIfIndex 매개 변수에 전달되거나 pDestAddr 또는 pdwBestIfIndex 매개 변수가 액세스할 수 없는 메모리를 가리키는 경우 반환됩니다. pdwBestIfIndex 매개 변수가 쓸 수 없는 메모리를 가리키는 경우에도 이 오류가 반환될 수 있습니다.
ERROR_NOT_SUPPORTED
요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv4 스택이 없고 pDestAddr 매개 변수에 IPv4 주소가 지정되었거나 로컬 컴퓨터에 IPv6 스택이 없고 iPv6 주소가 pDestAddr 매개 변수에 지정된 경우 반환됩니다.
기타
FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

GetBestInterfaceEx 함수는 IPv4 또는 IPv6 주소와 함께 사용할 수 있다는 점에서 GetBestInterface 함수와 다릅니다.

pDestAddr 매개 변수가 가리키는 sockaddr 구조체의 Family 멤버는 AF_INET 또는 AF_INET6 값 중 하나로 설정해야 합니다.

Windows Vista 이상에서는 pdwBestIfIndex 매개 변수가 IP 도우미에 의해 내부적으로 NET_IFINDEX 데이터 형식에 대한 포인터로 처리됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 iphlpapi.h
라이브러리 Iphlpapi.lib
DLL Iphlpapi.dll

참고 항목

GetBestInterface

IP 도우미 함수 참조

IP 도우미 시작 페이지

MIB_BEST_IF

sockaddr