Bagikan melalui


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

  1. Deklarasikan variabel ULONG bernama NTEContext dan NTEInstance, 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

     

  2. Deklarasikan variabel untuk struktur IPAddr dan IPMask masing-masing bernama iaIPAddress dan iaIPMask, . Nilai-nilai ini hanyalah bilangan bulat yang tidak ditandatangani. Inisialisasi iaIPAddress variabel dan iaIPMask menggunakan fungsi inet_addr .

    UINT iaIPAddress;
    UINT iaIPMask;
    
    iaIPAddress = inet_addr("192.168.0.5");
    iaIPMask    = inet_addr("255.255.255.0");
    
  3. Panggil fungsi AddIPAddress untuk menambahkan alamat IPv4. Periksa kesalahan dan kembalikan nilai kesalahan ke variabel dwRetValDWORD (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 variabel dwRetValDWORD (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