GetBestRoute2 함수(netioapi.h)
GetBestRoute2 함수는 지정된 대상 IP 주소에 대한 최상의 경로를 위해 로컬 컴퓨터에서 IP 경로 항목을 검색합니다.
구문
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetBestRoute2(
[in, optional] NET_LUID *InterfaceLuid,
[in] NET_IFINDEX InterfaceIndex,
[in] const SOCKADDR_INET *SourceAddress,
[in] const SOCKADDR_INET *DestinationAddress,
[in] ULONG AddressSortOptions,
[out] PMIB_IPFORWARD_ROW2 BestRoute,
[out] SOCKADDR_INET *BestSourceAddress
);
매개 변수
[in, optional] InterfaceLuid
IP 경로 항목과 연결된 네트워크 인터페이스를 지정하는 LUID(로컬 고유 식별자)입니다.
[in] InterfaceIndex
IP 경로 항목과 연결된 네트워크 인터페이스를 지정하는 로컬 인덱스 값입니다. 이 인덱스 값은 네트워크 어댑터를 사용하지 않도록 설정한 다음 사용하도록 설정하거나 다른 상황에서 변경될 수 있으며 영구로 간주해서는 안 됩니다.
[in] SourceAddress
원본 IP 주소입니다. 이 매개 변수를 생략하고 NULL 포인터로 전달할 수 있습니다.
[in] DestinationAddress
대상 IP 주소입니다.
[in] AddressSortOptions
IP 주소 정렬 방식에 영향을 주는 옵션 집합입니다. 이 매개 변수는 현재 사용되지 않습니다.
[out] BestRoute
원본 IP 주소에서 대상 IP 주소로의 최상의 경로에 대한 MIB_IPFORWARD_ROW2 대한 포인터입니다.
[out] BestSourceAddress
최상의 원본 IP 주소에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값이 NO_ERROR.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.
반환 코드 | 설명 |
---|---|
|
잘못된 매개 변수가 함수에 전달되었습니다. DestinationAddress, BestSourceAddress 또는 BestRoute 매개 변수에 NULL 포인터가 전달되면 이 오류가 반환됩니다. DestinationAddress 매개 변수가 IPv4 또는 IPv6 주소 및 패밀리를 지정하지 않는 경우에도 이 오류가 반환됩니다. |
|
지정된 인터페이스를 찾을 수 없습니다. InterfaceLuid 또는 InterfaceIndex 매개 변수로 지정된 네트워크 인터페이스를 찾을 수 없는 경우 이 오류가 반환됩니다. |
|
요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv4 스택이 없고 DestinationAddress 매개 변수에 IPv4 주소와 패밀리를 지정한 경우 반환됩니다. 이 오류는 로컬 컴퓨터에 IPv6 스택이 없고 DestinationAddress 매개 변수에 IPv6 주소 및 패밀리가 지정된 경우에도 반환됩니다. |
|
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다. |
설명
GetBestRoute2 함수는 Windows Vista 이상에서 정의됩니다.
GetBestRoute2 함수는 원본 IP 주소에서 대상 IP 주소로의 최상의 경로에 대한 MIB_IPFORWARD_ROW2 구조 항목을 검색하는 데 사용됩니다.
입력 시 DestinationAddress 매개 변수를 유효한 IPv4 또는 IPv6 주소 및 패밀리로 초기화해야 합니다. 입력 시 SourceAddress 매개 변수는 기본 설정 IPv4 또는 IPv6 주소 및 패밀리로 초기화될 수 있습니다. 또한 InterfaceLuid 또는 InterfaceIndex 매개 변수 중 하나 이상을 초기화해야 합니다.
매개 변수는 위에 나열된 순서대로 사용됩니다. 따라서 InterfaceLuid 가 지정된 경우 이 멤버를 사용하여 인터페이스를 확인합니다. InterfaceLuid 멤버에 대해 값이 설정되지 않은 경우(이 멤버의 값이 0으로 설정됨) InterfaceIndex 멤버를 사용하여 인터페이스를 확인합니다.
호출이 성공하면 출력에서 GetBestRoute2 는 원본 IP 주소의 대상 IP 주소에서 최상의 경로에 대한 구조를 검색하고 MIB_IPFORWARD_ROW2 .
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | netioapi.h(Iphlpapi.h 포함) |
라이브러리 | Iphlpapi.lib |
DLL | Iphlpapi.dll |