IpReleaseAddress, IpRenewAddress를 사용하여 DHCP 임대 관리
IpReleaseAddress 및 IpRenewAddress 함수는 현재 DHCP(동적 호스트 구성 프로토콜) 임대를 해제하고 갱신하는 데 사용됩니다. IpReleaseAddress 함수는 이전에 DHCP를 통해 가져온 IPv4 주소를 해제합니다. IpRenewAddress 함수는 이전에 DHCP를 통해 가져온 IPv4 주소에 대한 임대를 갱신합니다. 이러한 두 함수를 함께 사용하는 것이 일반적입니다. 먼저 IpReleaseAddress를 호출하여 임대를 해제한 다음 IpRenewAddress 함수를 호출하여 임대를 갱신합니다.
DHCP 클라이언트가 이전에 DHCP 임대를 획득했으며 IpRenewAddress 함수 이전에 IpReleaseAddress가 호출되지 않은 경우 DHCP 클라이언트 요청은 초기 DHCP 임대를 발급한 DHCP 서버로 전송됩니다. 이 DHCP 서버를 사용할 수 없거나 DHCP 요청이 실패할 수 있습니다. 호스트가 이전에 DHCP 임대를 획득하고 IpRenewAddress 함수 전에 IpReleaseAddress가 호출되면 DHCP 클라이언트는 먼저 가져온 IP 주소를 해제하고 사용 가능한 모든 DHCP 서버의 응답에 대한 DHCP 클라이언트 요청을 보냅니다.
참고
IpReleaseAddress 및 IpRenewAddress 함수를 사용하려면 DHCP가 올바르게 수행되도록 설정해야 합니다.
IpReleaseAddress 함수는 IP_ADAPTER_INDEX_MAP 구조체에 대한 포인터를 유일한 매개 변수로 사용합니다. 이 매개 변수를 가져오려면 먼저 GetInterfaceInfo를 호출합니다. GetInterfaceInfo 함수에 대한 도움말은 GetInterfaceInfo를 사용하여 인터페이스 관리를 참조하세요.
IpReleaseAddress를 사용하려면
GetInterfaceInfo 함수를 사용하여 IP_ADAPTER_INDEX_MAP 구조체에 대한 포인터를 가져옵니다. GetInterfaceInfo 함수에 대한 도움말은 GetInterfaceInfo를 사용하여 인터페이스 관리를 참조하세요. DWORD 개체를 만듭니다
dwRetVal
(오류 검사에 사용됨). GetInterfaceInfo에서 반환된 변수를 라고pInfo
합니다.DWORD dwRetVal;
DHCP를 사용하는 경우 ipReleaseAddress 함수를 호출하여 IP_ADAPTER_INDEX_MAP 변수
Adapter
를 매개 변수로 전달합니다. 일반적인 오류를 확인하고 해당 값을 DWORD 변수dwRetVal
로 반환합니다(보다 광범위한 오류 검사를 위해).참고
GetAdaptersInfo 함수는 이러한 함수를 호출하기 전에 DHCP가 사용되는지 여부를 검사 데 사용할 수 있는 매개 변수를 반환합니다. GetAdaptersInfo에 대한 도움말은 GetAdaptersInfo를 사용하여 네트워크 어댑터 관리를 참조하세요.
if ((dwRetVal = IpReleaseAddress(&pInfo->Adapter[0])) == NO_ERROR) { printf("Ip Release succeeded.\n"); }
참고
IpReleaseAddress 함수를 호출한 다음 IpRenewAddress 함수를 호출하여 매개 변수와 동일한 구조를 두 함수에 전달하는 두 함수를 함께 사용하는 것이 일반적입니다. 다음 절차에서는 함수가 함께 사용되지 않는다고 가정합니다. 그러나 함수를 함께 사용하는 경우 1단계를 건너뜁니다.
IpRenewAddress를 사용하려면
GetInterfaceInfo 함수를 사용하여 IP_ADAPTER_INDEX_MAP 구조체에 대한 포인터를 가져옵니다. GetInterfaceInfo 함수에 대한 도움말은 GetInterfaceInfo를 사용하여 인터페이스 관리를 참조하세요. 이 변수가 선언되지 않은 경우 DWORD 개체
dwRetVal
(오류 검사에 사용됨)를 선언합니다. GetInterfaceInfo에서 반환된 변수를 라고pInfo
합니다.DWORD dwRetVal;
ipRenewAddress 함수를 호출하여 IP_ADAPTER_INDEX_MAP 변수
Adapter
를 매개 변수로 전달합니다. 일반적인 오류를 확인하고 해당 값을 DWORD 변수dwRetVal
로 반환합니다(보다 광범위한 오류 검사를 위해).if ((dwRetVal = IpRenewAddress(&pInfo->Adapter[0])) == NO_ERROR) { printf("Ip Renew succeeded.\n"); }
다음 단계: AddIPAddress 및 DeleteIPAddress를 사용하여 IP 주소 관리
이전 단계: GetIpAddrTable을 사용하여 IP 주소 관리