Erstellen einer einfachen IP-Hilfsanwendung
So erstellen Sie eine einfache IP-Hilfsanwendung
Erstellen Sie ein neues leeres Projekt.
Fügen Sie dem Projekt eine leere C++-Quelldatei hinzu.
Stellen Sie sicher, dass sich die Buildumgebung auf die Verzeichnisse Include, Lib und Src des Platform Software Development Kit (SDK) bezieht.
Stellen Sie sicher, dass die Buildumgebung mit der IP-Hilfsbibliotheksdatei Iphlpapi.lib und der Winsock-Bibliotheksdatei WS2_32.lib verknüpft ist.
Hinweis
Einige grundlegende Winsock-Funktionen werden verwendet, um IP-Adresswerte und andere Informationen zurückzugeben.
Beginnen Sie mit der Programmierung der IP-Hilfsanwendung. Verwenden Sie die IP-Hilfsprogramm-API, indem Sie die IP-Hilfsprogrammheaderdatei einschließen.
#include <winsock2.h> #include <iphlpapi.h> #include <stdio.h> int main() { return 0; }
Hinweis
Die Iphlpapi.h-Headerdatei ist für Anwendungen erforderlich, die die IP-Hilfsfunktionen verwenden. Die Iphlpapi.h-Headerdatei enthält automatisch andere Headerdateien mit Strukturen und Enumerationen, die von den IP-Hilfsfunktionen verwendet werden.
Die neuen IP-Hilfsfunktionen, die in Windows Vista und höher eingeführt wurden, werden in der Headerdatei Netioapi.h definiert, die automatisch von der Headerdatei Iphlpapi.h eingeschlossen wird. Die Netioapi.h-Headerdatei sollte nie direkt verwendet werden.
Viele der von IP-Hilfsfunktionen verwendeten Strukturen und Enumerationen sind in den Headerdateien Iprtrmib.h, Ipexport.h und Iptypes.h definiert. Diese Headerdateien sind automatisch in der Headerdatei Iphlpapi.h enthalten und sollten nie direkt verwendet werden.
Im Microsoft Windows Software Development Kit (SDK), das für Windows Vista und höher veröffentlicht wurde, hat sich die organization von Headerdateien geändert. Einige der Strukturen sind jetzt in den Headerdateien Ipmib.h, Tcpmib.h und Udpmib.h definiert, nicht in der Headerdatei Iprtrmib.h . Die Headerdatei "Ipmib.h " enthält automatisch die Headerdatei "Ifmib.h ". Beachten Sie, dass diese Headerdateien automatisch in Iprtrmib.h enthalten sind, das automatisch in der Headerdatei Iphlpapi.h enthalten ist.
Die Winsock2.h-Headerdatei für Windows Sockets 2.0 ist für die meisten Anwendungen erforderlich, die die IP-Hilfs-APIs verwenden. Wenn die Winsock2.h-Headerdatei erforderlich ist, sollte die #include Zeile für diese Datei vor der #include Zeile für die Headerdatei Iphlpapi.h platziert werden.
Die Winsock2.h-Headerdatei enthält intern Kernelemente aus der Windows.h-Headerdatei , sodass es normalerweise keine #include Zeile für die Windows.h-Headerdatei in IP-Hilfsanwendungen gibt. Wenn eine #include Zeile für die Windows.h-Headerdatei erforderlich ist, sollte diesem makro #define WIN32_LEAN_AND_MEAN vorangestellt werden. Aus historischen Gründen enthält der Windows.h-Header standardmäßig die Headerdatei Winsock.h für Windows Sockets 1.1. Die Deklarationen in der Winsock.h-Headerdatei für Windows Sockets 1.1 stehen in Konflikt mit den Deklarationen in der Winsock2.h-Headerdatei , die für Windows Sockets 2.0 erforderlich ist. Das WIN32_LEAN_AND_MEAN Makro verhindert, dass die Headerdatei Winsock.h von der Headerdatei Windows.h eingeschlossen wird. Ein Beispiel, das dies veranschaulicht, ist unten dargestellt.
#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; }
Hinweis
Diese einfache IP-Hilfsanwendung verwendet nur einige IP-Adressdatenstrukturen und IP-Adressen, um Konvertierungsfunktionen aus Windows Sockets 2.0 zu zeichenfolgen. Diese Windows Sockets-Funktionen können verwendet werden, ohne WSAStartup aufzurufen, um Windows Sockets-Ressourcen und WSACleanup zu initialisieren, wenn diese Ressourcen verwendet werden.
In IP-Hilfsanwendungen, die andere Winsock-Funktionen als diese IP-Adresse zum Zeichenfolgen von Funktionen verwenden, muss die WSAStartup-Funktion aufgerufen werden, um Windows Sockets-Ressourcen vor dem Aufrufen von Windows Sockets-Funktionen zu initialisieren, und WSACleanup sollte aufgerufen werden, wenn die Anwendung windows Sockets-Ressourcen verwendet.
Hinweis
Die Stdio.h-Headerdatei ist für die Verwendung verschiedener C-Standardfunktionen in dieser einfachen IP-Hilfsanwendung erforderlich.
Nächster Schritt: Abrufen von Informationen mithilfe von GetNetworkParams