共用方式為


使用 IpReleaseAddress、IpRenewAddress 管理 DHCP 租用

IpReleaseAddressIpRenewAddress函式可用來發行和更新目前的動態主機設定通訊協定 (DHCP) 租用。 IpReleaseAddress函式會釋放先前透過 DHCP 取得的 IPv4 位址。 IpRenewAddress函式會在先前透過 DHCP 取得的 IPv4 位址上更新租用。 通常一起使用這兩個函式,先使用 對 IpReleaseAddress的呼叫釋放租用,然後使用 對 IpRenewAddress 函 式的呼叫來更新租用。

當 DHCP 用戶端先前已取得 DHCP 租用,且 IpReleaseAddressIpRenewAddress 函式之前未呼叫時,DHCP 用戶端要求會傳送至發出初始 DHCP 租用的 DHCP 伺服器。 此 DHCP 伺服器可能無法使用,或 DHCP 要求可能會失敗。 當主機先前取得 DHCP 租用且 IpReleaseAddressIpRenewAddress 函式之前呼叫時,DHCP 用戶端會先釋放取得的 IP 位址,並傳送 DHCP 用戶端要求,以取得來自任何可用 DHCP 伺服器的回應。

注意

IpReleaseAddressIpRenewAddress函式需要啟用 DHCP 才能正確執行。

 

IpReleaseAddress函式會採用IP_ADAPTER_INDEX_MAP結構的指標作為唯一的參數。 若要取得此參數,請先呼叫 GetInterfaceInfo。 如需 GetInterfaceInfo 函式的說明,請參閱 使用 GetInterfaceInfo 管理介面

使用 IpReleaseAddress

  1. 使用GetInterfaceInfo函式取得IP_ADAPTER_INDEX_MAP結構的指標。 (如需 GetInterfaceInfo 函式的說明,請參閱 使用 GetInterfaceInfo 管理介面) 。 建立用於錯誤檢查) 的 DWORD 物件 dwRetVal (。 假設 GetInterfaceInfo 傳回的變數稱為 pInfo

    DWORD dwRetVal;
    
    
  2. 如果已啟用 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

  1. 使用GetInterfaceInfo函式取得IP_ADAPTER_INDEX_MAP結構的指標。 (如需 GetInterfaceInfo 函式的說明,請參閱 使用 GetInterfaceInfo 管理介面) 。 宣告 DWORD 物件 dwRetVal (在尚未宣告此變數時用於錯誤檢查) 。 假設 GetInterfaceInfo 傳回的變數稱為 pInfo

    DWORD dwRetVal;
    
    
  2. 呼叫 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 位址