다음을 통해 공유


AddIPAddress, DeleteIPAddress를 사용하여 IP 주소 관리

AddIPAddress 함수는 지정된 IPv4 주소를 지정된 어댑터에 추가합니다. DeleteIPAddress 함수는 지정된 어댑터에서 지정된 IPv4 주소를 삭제합니다. 이러한 함수를 사용하여 네트워크 어댑터에 IPv4 주소를 추가하고 삭제할 수 있습니다.

AddIPAddress 함수에서 추가한 IPv4 주소는 영구적이지 않습니다. IPv4 주소는 어댑터 개체가 있는 한 존재합니다. 컴퓨터를 다시 시작하면 NIC(네트워크 인터페이스 카드)를 수동으로 다시 설정하는 것처럼 IPv4 주소가 삭제됩니다.

AddIPAddress가 성공적으로 호출되면 추가된 IP 주소에 대해 DHCP가 비활성화됩니다. 따라서 DHCP를 사용하도록 설정해야 하는 IpReleaseAddress와 같은 함수는 추가된 IP 주소에서 작동하지 않습니다. DeleteIPAddress 함수를 사용하여 추가된 IPv4 주소를 삭제할 수 있습니다.

참고

네트워크에 대한 그룹 정책, 엔터프라이즈 정책 및 기타 제한 사항으로 인해 이러한 기능이 성공적으로 완료되지 않을 수 있습니다. 이러한 함수를 사용하기 전에 애플리케이션에 필요한 네트워크 권한이 있는지 확인합니다.

 

AddIPAddress를 사용하려면

  1. 및 라는 NTEContextULONG 변수를 선언합니다NTEInstance. 둘 다 0으로 초기화됩니다.

    참고

    변수는 NTEContextDeleteIPAddress 함수의 유일한 매개 변수입니다. 추가 NTEContext 된 IP 주소를 삭제하려면 를 저장하고 변경하지 않아야 합니다.

     

        ULONG NTEContext = 0;
        ULONG NTEInstance = 0;
    
    

    참고

     

  2. 각각 및 iaIPMask라는 iaIPAddress IPAddr 및 IPMask 구조체에 대한 변수를 선언합니다. 이러한 값은 단순히 부호 없는 정수입니다. inet_addr 함수를 사용하여 및 iaIPMask 변수를 초기화 iaIPAddress 합니다.

    UINT iaIPAddress;
    UINT iaIPMask;
    
    iaIPAddress = inet_addr("192.168.0.5");
    iaIPMask    = inet_addr("255.255.255.0");
    
  3. AddIPAddress 함수를 호출하여 IPv4 주소를 추가합니다. 오류를 확인하고 오류 값을 DWORD 변수 dwRetVal 로 반환합니다(보다 광범위한 오류 검사를 위해).

    dwRetVal = AddIPAddress(iaIPAddress, iaIPMask, pIPAddrTable->table[0].dwIndex, 
                                 &NTEContext, &NTEInstance);
    if (dwRetVal != NO_ERROR) {
        printf("AddIPAddress call failed with %d\n", dwRetVal);
    }
    

    참고

    세 번째 매개 변수는 GetIpAddrTable 함수를 호출하여 가져올 수 있는 어댑터 인덱스입니다. 이 함수에서 반환된 변수의 이름은 pIPAddrTable로 간주됩니다. GetIpAddrTable 함수에 대한 도움말은 GetIpAddrTable을 사용하여 IP 주소 관리를 참조하세요.

     

DeleteIpAddress를 사용하려면

  • DeleteIPAddress 함수를 호출하여 변수를 NTEContext 매개 변수로 전달합니다. 오류를 확인하고 오류 값을 DWORD 변수 dwRetVal 로 반환합니다(보다 광범위한 오류 검사를 위해).
    dwRetVal = DeleteIPAddress(NTEContext);
    if (dwRetVal != NO_ERROR) {
            printf("\tDeleteIPAddress failed with error: %d\n", dwRetVal);
    } 
    

참고

DeleteIPAddress를 사용하려면 먼저 AddIPAddress를 호출하여 핸들NTEContext을 가져와야 합니다. 이전 프로시저에서는 AddIPAddress 가 이미 코드 NTEContext 의 어딘가에 호출되었으며 저장되었으며 무정전 상태로 남아 있다고 가정합니다.

 

다음 단계: GetIpStatistics를 사용하여 정보 검색

이전 단계: IpReleaseAddress 및 IpRenewAddress를 사용하여 DHCP 임대 관리