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
Dapatkan pointer ke struktur IP_ADAPTER_INDEX_MAP menggunakan fungsi GetInterfaceInfo . (Untuk bantuan tentang fungsi GetInterfaceInfo, lihat Mengelola Antarmuka Menggunakan GetInterfaceInfo). Buat objek
dwRetVal
DWORD (digunakan untuk pemeriksaan kesalahan). Diasumsikan bahwa variabel yang dikembalikan oleh GetInterfaceInfo disebutpInfo
.DWORD dwRetVal;
Jika DHCP diaktifkan, panggil fungsi IpReleaseAddress, meneruskan variabel
Adapter
IP_ADAPTER_INDEX_MAP sebagai parameternya. Periksa kesalahan umum dan kembalikan nilainya ke variabeldwRetVal
DWORD (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
Dapatkan pointer ke struktur IP_ADAPTER_INDEX_MAP menggunakan fungsi GetInterfaceInfo . (Untuk bantuan tentang fungsi GetInterfaceInfo , lihat Mengelola Antarmuka Menggunakan GetInterfaceInfo). Deklarasikan objek
dwRetVal
DWORD (digunakan untuk pemeriksaan kesalahan) jika variabel ini belum dinyatakan. Diasumsikan bahwa variabel yang dikembalikan oleh GetInterfaceInfo disebutpInfo
.DWORD dwRetVal;
Panggil fungsi IpRenewAddress, meneruskan variabel
Adapter
IP_ADAPTER_INDEX_MAP sebagai parameternya. Periksa kesalahan umum dan kembalikan nilainya ke variabeldwRetVal
DWORD (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