Membuat Aplikasi Pembantu IP Dasar
Untuk membuat aplikasi Pembantu IP dasar
Buat proyek kosong baru.
Tambahkan file sumber C++ kosong ke proyek.
Pastikan bahwa lingkungan build mengacu pada direktori Include, Lib, dan Src dari Platform Software Development Kit (SDK).
Pastikan lingkungan build tertaut ke file Pustaka Pembantu IP Iphlpapi.lib dan file Pustaka Winsock WS2_32.lib.
Catatan
Beberapa fungsi Winsock dasar digunakan untuk mengembalikan nilai alamat IP dan informasi lainnya.
Mulai pemrograman aplikasi IP Helper. Gunakan API Pembantu IP dengan menyertakan file header Pembantu IP.
#include <winsock2.h> #include <iphlpapi.h> #include <stdio.h> int main() { return 0; }
Catatan
File header Iphlpapi.h diperlukan untuk aplikasi yang menggunakan fungsi IP Helper. File header Iphlpapi.h secara otomatis menyertakan file header lain dengan struktur dan enumerasi yang digunakan oleh fungsi IP Helper.
Fungsi Pembantu IP baru yang diperkenalkan di Windows Vista dan kemudian didefinisikan dalam file header Netioapi.h yang secara otomatis disertakan oleh file header Iphlpapi.h . File header Netioapi.h tidak boleh digunakan secara langsung.
Banyak struktur dan enumerasi yang digunakan oleh fungsi IP Helper didefinisikan dalam file header Iprtrmib.h, Ipexport.h, dan Iptypes.h . File header ini secara otomatis disertakan dalam file header Iphlpapi.h dan tidak boleh digunakan secara langsung.
Pada Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah. Beberapa struktur sekarang didefinisikan dalam file header Ipmib.h, Tcpmib.h, dan Udpmib.h , bukan dalam file header Iprtrmib.h . File header Ipmib.h secara otomatis menyertakan file header Ifmib.h . Perhatikan bahwa file header ini secara otomatis disertakan dalam Iprtrmib.h, yang secara otomatis disertakan dalam file header Iphlpapi.h .
File header Winsock2.h untuk Windows Sockets 2.0 diperlukan oleh sebagian besar aplikasi menggunakan API Pembantu IP. Ketika file header Winsock2.h diperlukan, baris #include untuk file ini harus ditempatkan sebelum baris #include untuk file header Iphlpapi.h .
File header Winsock2.h secara internal menyertakan elemen inti dari file header Windows.h , sehingga biasanya tidak ada baris #include untuk file header Windows.h di aplikasi IP Helper. Jika baris #include diperlukan untuk file header Windows.h , ini harus didahului dengan makro #define WIN32_LEAN_AND_MEAN. Untuk alasan historis, header Windows.h default menyertakan file header Winsock.h untuk Windows Sockets 1.1. Deklarasi dalam file header Winsock.h untuk Windows Sockets 1.1 akan bertentangan dengan deklarasi dalam file header Winsock2.h yang diperlukan oleh Windows Sockets 2.0. Makro WIN32_LEAN_AND_MEAN mencegah file header Winsock.h disertakan oleh file header Windows.h . Contoh yang mengilustrasikan hal ini ditunjukkan di bawah ini.
#ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #include <winsock2.h> #include <iphlpapi.h> #include <stdio.h> int main() { return 0; }
Catatan
Aplikasi Pembantu IP dasar ini hanya menggunakan beberapa struktur data alamat IP dan alamat IP untuk fungsi konversi string dari Windows Sockets 2.0. Fungsi Windows Sockets ini dapat digunakan tanpa memanggil WSAStartup untuk menginisialisasi sumber daya Windows Sockets dan WSACleanup ketika dilakukan menggunakan sumber daya ini.
Dalam aplikasi IP Helper yang menggunakan fungsi Winsock lainnya selain alamat IP ini ke fungsi string, fungsi WSAStartup harus dipanggil untuk menginisialisasi sumber daya Windows Sockets sebelum memanggil fungsi Windows Sockets apa pun dan WSACleanup harus dipanggil ketika aplikasi dilakukan menggunakan sumber daya Windows Sockets.
Catatan
File header Stdio.h diperlukan untuk penggunaan berbagai fungsi C standar dalam aplikasi Pembantu IP dasar ini.
Langkah Berikutnya: Mengambil Informasi Menggunakan GetNetworkParams