다음을 통해 공유


ResolveIpNetEntry2 함수(netioapi.h)

ResolveIpNetEntry2 함수는 로컬 컴퓨터의 인접 IP 주소 항목에 대한 실제 주소를 확인합니다.

구문

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API ResolveIpNetEntry2(
  [in, out]      PMIB_IPNET_ROW2     Row,
  [in, optional] const SOCKADDR_INET *SourceAddress
);

매개 변수

[in, out] Row

인접 IP 주소 항목의 MIB_IPNET_ROW2 구조 항목에 대한 포인터입니다. 반환이 성공하면 이 구조체가 인접 IP 주소의 속성으로 업데이트됩니다.

[in, optional] SourceAddress

인접 IP 주소 항목에 대한 요청을 보낼 인터페이스를 선택하는 데 사용되는 선택적 원본 IP 주소에 대한 포인터입니다.

반환 값

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

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

반환 코드 설명
ERROR_BAD_NET_NAME
네트워크 이름을 찾을 수 없습니다. 이 오류는 인접 IP 주소가 있는 네트워크에 연결할 수 없는 경우 반환됩니다.
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 Row 매개 변수에 NULL 포인터가 전달되거나 Row 매개 변수가 가리키는 MIB_IPNET_ROW2Address 멤버가 유효한 IPv4 또는 IPv6 주소로 설정되지 않았거나 Row 매개 변수가 가리키는 MIB_IPNET_ROW2InterfaceLuid 또는 InterfaceIndex 멤버가 모두 지정되지 않은 경우 반환됩니다. 이 오류는 주소 멤버에 루프백 주소가 전달된 경우에도 반환됩니다.
ERROR_NOT_FOUND
지정된 인터페이스를 찾을 수 없습니다. 이 오류는 Row 매개 변수가 가리키는 MIB_IPNET_ROW2InterfaceLuid 또는 InterfaceIndex 멤버가 지정한 네트워크 인터페이스를 찾을 수 없는 경우 반환됩니다.
ERROR_NOT_SUPPORTED
요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv4 스택이 없고 Row 매개 변수가 가리키는 MIB_IPNET_ROW2Address 멤버에 IPv4 주소가 지정되었거나 로컬 컴퓨터에 IPv6 스택이 없고 주소 멤버에 IPv6 주소가 지정된 경우 반환됩니다.
기타
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

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

ResolveIpNetEntry2 함수는 로컬 컴퓨터에서 인접 IP 주소 항목의 실제 주소를 resolve 데 사용됩니다. 이 함수는 인터페이스의 IP 주소와 일치하는 기존 인접 항목을 플러시한 다음 IPv4 주소에 대한 ARP 요청 또는 IPv6 주소에 대한 인접 요청 요청을 전송하여 MAC(실제 주소) 주소를 확인합니다. SourceAddress 매개 변수가 지정된 경우 ResolveIpNetEntry2 함수는 이 원본 IP 주소가 있는 인터페이스를 선택하여 요청을 보냅니다. SourceAddress 매개 변수가 지정되지 않은 경우(이 매개 변수에서 NULL이 전달됨) ResolveIpNetEntry2 함수는 요청을 보낼 최상의 인터페이스를 자동으로 선택합니다.

Row 매개 변수가 가리키는 MIB_IPNET_ROW2 구조체의 Address 멤버를 유효한 IPv4 또는 IPv6 주소 및 패밀리로 초기화해야 합니다. 또한 Row 매개 변수를 가리키는 MIB_IPNET_ROW2 구조체의 다음 멤버 중 하나 이상을 InterfaceLuid 또는 InterfaceIndex 인터페이스로 초기화해야 합니다.

필드는 위에 나열된 순서대로 사용됩니다. 따라서 InterfaceLuid 를 지정하면 이 멤버를 사용하여 유니캐스트 IP 주소를 추가할 인터페이스를 결정합니다. InterfaceLuid 멤버에 대해 값이 설정되지 않은 경우(이 멤버의 값이 0으로 설정됨) InterfaceIndex 멤버를 사용하여 인터페이스를 확인합니다.

Row 매개 변수가 가리키는 MIB_IPNET_ROW2Address 멤버에 전달된 IP 주소가 인터페이스의 기존 인접 IP 주소와 중복된 경우 ResolveIpNetEntry2 함수는 IP 주소를 확인하기 전에 기존 항목을 플러시합니다.

호출이 성공하면 출력에서 ResolveIpNetEntry2는 인접 IP 주소에 대한 다른 속성을 검색하고 Row 매개 변수가 가리키는 MIB_IPNET_ROW2 구조를 채웁니다. Row 매개 변수가 가리키는 MIB_IPNET_ROW2 구조체의 PhysicalAddressPhysicalAddressLength 멤버가 유효한 실제 주소로 초기화됩니다.

요구 사항

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

추가 정보

CreateIpNetEntry2

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

SOCKADDR_INET

SetIpNetEntry2