다음을 통해 공유


SetIpNetEntry2 함수(netioapi.h)

SetIpNetEntry2 함수는 로컬 컴퓨터에서 기존 인접 IP 주소 항목의 실제 주소를 설정합니다.

구문

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API SetIpNetEntry2(
  [in, out] PMIB_IPNET_ROW2 Row
);

매개 변수

[in, out] Row

인접 IP 주소 항목에 대한 MIB_IPNET_ROW2 구조 항목에 대한 포인터입니다.

반환 값

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

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

반환 코드 설명
ERROR_ACCESS_DENIED
액세스가 거부되었습니다. 이 오류는 사용자가 로컬 컴퓨터에서 필요한 관리 권한이 없거나 애플리케이션이 기본 제공 관리자(RunAs 관리자)로 향상된 셸에서 실행되고 있지 않음을 포함하는 여러 조건에서 반환됩니다.
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 NULL 포인터가 Row 매개 변수에 전달되고 Row 매개 변수가 가리키는 MIB_IPNET_ROW2Address 멤버가 유효한 유니캐스트, anycast 또는 멀티캐스트 IPv4 또는 IPv6 주소로 설정되지 않은 경우 반환됩니다. Row 매개 변수가 가리키는 MIB_IPNET_ROW2PhysicalAddress 및 PhysicalAddressLength 멤버가 유효한 실제 주소로 설정되지 않은 경우 또는 Row 매개 변수가 가리키는 MIB_IPNET_ROW2InterfaceLuid 또는 InterfaceIndex 멤버가 모두 지정되지 않았습니다. 이 오류는 주소 멤버에 루프백 주소가 전달된 경우에도 반환됩니다.
ERROR_NOT_FOUND
지정된 인터페이스를 찾을 수 없습니다. 이 오류는 Row 매개 변수가 가리키는 MIB_IPNET_ROW2InterfaceLuid 또는 InterfaceIndex 멤버가 지정한 네트워크 인터페이스를 찾을 수 없는 경우 반환됩니다.
ERROR_NOT_SUPPORTED
요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv4 스택이 없고 매개 변수가 가리키는 MIB_IPNET_ROW2주소 멤버에 IPv4 주소가 지정되었거나 로컬 컴퓨터에 IPv6 스택이 없고 주소 멤버에 IPv6 주소가 지정된 경우 반환됩니다.
기타
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

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

SetIpNetEntry2 함수는 로컬 컴퓨터에서 기존 인접 IP 주소 항목의 실제 주소를 설정하는 데 사용됩니다.

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

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

Row 매개 변수가 가리키는 MIB_IPNET_ROW2Address 멤버에 전달된 IP 주소가 지정된 인터페이스의 기존 인접 IP 주소가 아닌 경우 SetIpNetEntry2 함수가 실패합니다.

SetIpNetEntry2 함수는 Administrators 그룹의 구성원으로 로그온한 사용자만 호출할 수 있습니다. Administrators 그룹의 구성원이 아닌 사용자가 SetIpNetEntry2 를 호출하면 함수 호출이 실패하고 ERROR_ACCESS_DENIED 반환됩니다.

Windows Vista 이상에서 UAC(사용자 계정 제어)로 인해 SetIpNetEntry2 함수가 실패할 수도 있습니다. 이 함수를 포함하는 애플리케이션이 기본 제공 관리자가 아닌 Administrators 그룹의 구성원으로 로그온한 사용자에 의해 실행되는 경우 애플리케이션이 requireAdministrator로 설정된 requestedExecutionLevel 이 매니페스트 파일에 표시되지 않는 한 이 호출은 실패합니다. 애플리케이션에 이 매니페스트 파일이 없는 경우 기본 제공 관리자가 아닌 Administrators 그룹의 구성원으로 로그온한 사용자는 이 함수가 성공하려면 기본 제공 관리자(RunAs 관리자)로 향상된 셸에서 애플리케이션을 실행해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 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

ResolveIpNetEntry2