다음을 통해 공유


CreateAnycastIpAddressEntry 함수(netioapi.h)

CreateAnycastIpAddressEntry 함수는 로컬 컴퓨터에 새 애니캐스트 IP 주소 항목을 추가합니다.

구문

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateAnycastIpAddressEntry(
  [in] const MIB_ANYCASTIPADDRESS_ROW *Row
);

매개 변수

[in] Row

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

반환 값

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

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

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

설명

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

CreateAnycastIpAddressEntry 함수는 로컬 컴퓨터에 새 임캐스트 IP 주소 항목을 추가하는 데 사용됩니다.

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

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

Row가 가리키는 MIB_ANYCASTIPADDRESS_ROW 구조체의 ScopeId멤버는CreateAnycastIpAddressEntry 함수가 호출될 때 무시됩니다. ScopeId 멤버는 주소가 추가되는 인터페이스에 의해 자동으로 결정됩니다.

Row 매개 변수가 가리키는 MIB_ANYCASTIPADDRESS_ROWAddress 멤버에 전달된 anycast IP 주소가 인터페이스의 기존 anycast IP 주소와 중복된 경우 CreateAnycastIpAddressEntry 함수가 실패합니다.

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

요구 사항

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

추가 정보

DeleteAnycastIpAddressEntry

GetAnycastIpAddressEntry

GetAnycastIpAddressTable

IP 도우미 함수 참조

MIB_ANYCASTIPADDRESS_ROW

MIB_ANYCASTIPADDRESS_TABLE