Bagikan melalui


Mengelola sewa DHCP dengan IpReleaseAddress, IpRenewAddress

Fungsi IpReleaseAddress dan IpRenewAddress digunakan untuk merilis dan memperbarui sewa Dynamic Host Configuration Protocol (DHCP) saat ini. Fungsi IpReleaseAddress merilis alamat IPv4 yang sebelumnya diperoleh melalui DHCP. Fungsi IpRenewAddress memperbarui sewa pada alamat IPv4 yang sebelumnya diperoleh melalui DHCP. Adalah umum untuk menggunakan kedua fungsi ini bersama-sama, pertama-tama melepaskan sewa dengan panggilan ke IpReleaseAddress, dan kemudian memperbarui sewa dengan panggilan ke fungsi IpRenewAddress .

Ketika klien DHCP sebelumnya telah memperoleh sewa DHCP dan IpReleaseAddress tidak dipanggil sebelum fungsi IpRenewAddress , permintaan klien DHCP dikirim ke server DHCP yang mengeluarkan sewa DHCP awal. Server DHCP ini mungkin tidak tersedia atau permintaan DHCP mungkin gagal. Ketika host sebelumnya telah memperoleh sewa DHCP dan IpReleaseAddress dipanggil sebelum fungsi IpRenewAddress , klien DHCP terlebih dahulu merilis alamat IP yang diperoleh dan mengirim permintaan klien DHCP untuk respons dari server DHCP yang tersedia.

Catatan

Fungsi IpReleaseAddress dan IpRenewAddress mengharuskan DHCP diaktifkan untuk berkinerja dengan benar.

 

Fungsi IpReleaseAddress membawa pointer ke struktur IP_ADAPTER_INDEX_MAP sebagai satu-satunya parameter. Untuk mendapatkan parameter ini, pertama-tama panggil GetInterfaceInfo. Untuk bantuan tentang fungsi GetInterfaceInfo , lihat Mengelola Antarmuka Menggunakan GetInterfaceInfo.

Untuk menggunakan IpReleaseAddress

  1. Dapatkan pointer ke struktur IP_ADAPTER_INDEX_MAP menggunakan fungsi GetInterfaceInfo . (Untuk bantuan tentang fungsi GetInterfaceInfo, lihat Mengelola Antarmuka Menggunakan GetInterfaceInfo). Buat objek dwRetValDWORD (digunakan untuk pemeriksaan kesalahan). Diasumsikan bahwa variabel yang dikembalikan oleh GetInterfaceInfo disebut pInfo.

    DWORD dwRetVal;
    
    
  2. Jika DHCP diaktifkan, panggil fungsi IpReleaseAddress, meneruskan variabel AdapterIP_ADAPTER_INDEX_MAP sebagai parameternya. Periksa kesalahan umum dan kembalikan nilainya ke variabel dwRetValDWORD (untuk pemeriksaan kesalahan yang lebih luas).

    Catatan

    Fungsi GetAdaptersInfo mengembalikan parameter yang dapat digunakan untuk memeriksa apakah DHCP diaktifkan sebelum memanggil fungsi-fungsi ini. Untuk bantuan terkait GetAdaptersInfo, lihat Mengelola Adaptor Jaringan Menggunakan GetAdaptersInfo.

     

    if ((dwRetVal = IpReleaseAddress(&pInfo->Adapter[0])) == NO_ERROR) {
        printf("Ip Release succeeded.\n");
    }
    
    

Catatan

Adalah umum untuk menggunakan kedua fungsi ini bersama-sama, memanggil fungsi IpReleaseAddress dan kemudian memanggil fungsi IpRenewAddress , meneruskan struktur yang sama dengan parameter ke kedua fungsi. Prosedur berikut mengasumsikan bahwa fungsi tidak digunakan bersama-sama; namun, jika fungsi digunakan bersama-sama, lewati langkah 1.

 

Untuk menggunakan IpRenewAddress

  1. Dapatkan pointer ke struktur IP_ADAPTER_INDEX_MAP menggunakan fungsi GetInterfaceInfo . (Untuk bantuan tentang fungsi GetInterfaceInfo , lihat Mengelola Antarmuka Menggunakan GetInterfaceInfo). Deklarasikan objek dwRetValDWORD (digunakan untuk pemeriksaan kesalahan) jika variabel ini belum dinyatakan. Diasumsikan bahwa variabel yang dikembalikan oleh GetInterfaceInfo disebut pInfo.

    DWORD dwRetVal;
    
    
  2. Panggil fungsi IpRenewAddress, meneruskan variabel AdapterIP_ADAPTER_INDEX_MAP sebagai parameternya. Periksa kesalahan umum dan kembalikan nilainya ke variabel dwRetValDWORD (untuk pemeriksaan kesalahan yang lebih luas).

    if ((dwRetVal = IpRenewAddress(&pInfo->Adapter[0])) == NO_ERROR) {
        printf("Ip Renew succeeded.\n");
    }
    

Langkah Berikutnya: Mengelola Alamat IP Menggunakan AddIPAddress dan DeleteIPAddress

Langkah Sebelumnya: Mengelola Alamat IP Menggunakan GetIpAddrTable