Mengelola alamat IP dengan AddIPAddress, DeleteIPAddress
Fungsi AddIPAddress menambahkan alamat IPv4 yang ditentukan ke adaptor yang ditentukan. Fungsi DeleteIPAddress menghapus alamat IPv4 yang ditentukan dari adaptor yang ditentukan. Fungsi-fungsi ini dapat digunakan untuk menambahkan dan menghapus alamat IPv4 ke adaptor jaringan.
Alamat IPv4 yang ditambahkan oleh fungsi AddIPAddress tidak persisten. Alamat IPv4 hanya ada selama objek adaptor ada. Menghidupkan ulang komputer menghancurkan alamat IPv4, seperti halnya mengatur ulang kartu antarmuka jaringan (NIC) secara manual.
Setelah AddIPAddress berhasil dipanggil, DHCP akan dinonaktifkan untuk alamat IP yang ditambahkan. Oleh karena itu, fungsi seperti IpReleaseAddress, yang mengharuskan DHCP diaktifkan, tidak akan berfungsi pada alamat IP yang ditambahkan. Fungsi DeleteIPAddress dapat digunakan untuk menghapus alamat IPv4 yang ditambahkan.
Catatan
Kebijakan grup, kebijakan perusahaan, dan pembatasan lain pada jaringan dapat mencegah fungsi-fungsi ini berhasil diselesaikan. Pastikan bahwa aplikasi memiliki izin jaringan yang diperlukan sebelum mencoba menggunakan fungsi-fungsi ini.
Untuk menggunakan AddIPAddress
Deklarasikan variabel ULONG bernama
NTEContext
danNTEInstance
, keduanya diinisialisasi ke nol.Catatan
Variabel
NTEContext
adalah satu-satunya parameter untuk fungsi DeleteIPAddress ; untuk menghapus alamat IP yang ditambahkan,NTEContext
harus disimpan dan tidak berubah.ULONG NTEContext = 0; ULONG NTEInstance = 0;
Catatan
Deklarasikan variabel untuk struktur IPAddr dan IPMask masing-masing bernama
iaIPAddress
daniaIPMask
, . Nilai-nilai ini hanyalah bilangan bulat yang tidak ditandatangani. InisialisasiiaIPAddress
variabel daniaIPMask
menggunakan fungsi inet_addr .UINT iaIPAddress; UINT iaIPMask; iaIPAddress = inet_addr("192.168.0.5"); iaIPMask = inet_addr("255.255.255.0");
Panggil fungsi AddIPAddress untuk menambahkan alamat IPv4. Periksa kesalahan dan kembalikan nilai kesalahan ke variabel
dwRetVal
DWORD (untuk pemeriksaan kesalahan yang lebih luas).dwRetVal = AddIPAddress(iaIPAddress, iaIPMask, pIPAddrTable->table[0].dwIndex, &NTEContext, &NTEInstance); if (dwRetVal != NO_ERROR) { printf("AddIPAddress call failed with %d\n", dwRetVal); }
Catatan
Parameter ketiga adalah indeks adaptor, yang dapat diperoleh dengan memanggil fungsi GetIpAddrTable . Diasumsikan bahwa variabel yang dikembalikan oleh fungsi ini diberi nama
pIPAddrTable
. Untuk bantuan tentang fungsi GetIpAddrTable , lihat Mengelola Alamat IP Menggunakan GetIpAddrTable.
Untuk menggunakan DeleteIpAddress
- Panggil fungsi DeleteIPAddress , meneruskan
NTEContext
variabel sebagai parameternya. Periksa kesalahan dan kembalikan nilai kesalahan ke variabeldwRetVal
DWORD (untuk pemeriksaan kesalahan yang lebih luas).dwRetVal = DeleteIPAddress(NTEContext); if (dwRetVal != NO_ERROR) { printf("\tDeleteIPAddress failed with error: %d\n", dwRetVal); }
Catatan
Untuk menggunakan DeleteIPAddress, AddIPAddress harus terlebih dahulu dipanggil untuk mendapatkan handel NTEContext
. Prosedur sebelumnya mengasumsikan bahwa AddIPAddress telah dipanggil di suatu tempat dalam kode, dan NTEContext
telah disimpan dan tetap tidak rusak.
Langkah Berikutnya: Mengambil Informasi Menggunakan GetIpStatistics
Langkah Sebelumnya: Mengelola Sewa DHCP Menggunakan IpReleaseAddress dan IpRenewAddress