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 die Buildumgebung auf die Include-, Lib- und Src-Verzeichnisse des Platform Software Development Kit (SDK) verweist.
Stellen Sie sicher, dass die Buildumgebung mit der IP-Hilfsbibliotheksdatei Iphlpapi.lib und der Winsock Library-Datei 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-Hilfsprogrammanwendung. Verwenden Sie die IP-Hilfs-API, indem Sie die IP-Hilfsheaderdatei einschließen.
#include <winsock2.h> #include <iphlpapi.h> #include <stdio.h> int main() { return 0; }Hinweis
Die Headerdatei Iphlpapi.h 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 in der Headerdatei Iphlpapi.h enthalten ist. Die Headerdatei Netioapi.h sollte nie direkt verwendet werden.
Viele der Strukturen und Enumerationen, die von IP-Hilfsfunktionen verwendet werden, 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 Organisation der 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 Headerdatei Winsock2.h erforderlich ist, sollte die # Includezeile für diese Datei vor der # Includezeile für die Headerdatei Iphlpapi.h platziert werden.
Die Winsock2.h-Headerdatei enthält intern Kernelemente aus der Headerdatei "Windows.h", sodass es normalerweise keine # Includezeile für Windows.h-Headerdatei in IP-Hilfsanwendungen gibt. Wenn # eine Includezeile für die Headerdatei Windows.h erforderlich ist, sollte diesem das # _ Win32 LEAN AND _ MEAN-Makro vorangestellt _ werden. Aus historischen Gründen schließt der Windows.h-Header standardmäßig die Winsock.h-Headerdatei für Windows Sockets 1.1 ein. 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 sind. Das WIN32 _ LEAN _ AND _ MEAN-Makro verhindert, dass die Winsock.h-Headerdatei in die header-Datei 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 für Zeichenfolgenkonvertierungsfunktionen aus Windows Sockets 2.0. Diese Windows Sockets-Funktionen können verwendet werden, ohne WSAStartup aufzurufen, um Windows Sockets-Ressourcen und WSACleanup zu initialisieren, wenn Sie diese Ressourcen verwenden.
In IP-Hilfsanwendungen, die andere Winsock-Funktionen als diese IP-Adressen für Zeichenfolgenfunktionen verwenden, muss die WSAStartup-Funktion aufgerufen werden, um Windows Sockets-Ressourcen zu initialisieren, bevor Windows Sockets-Funktionen aufgerufen werden. WSACleanup sollte aufgerufen werden, wenn die Anwendung mit Windows Sockets-Ressourcen ausgeführt wird.
Hinweis
Die Headerdatei Stdio.h ist für die Verwendung verschiedener C-Standardfunktionen in dieser einfachen IP-Hilfsanwendung erforderlich.
Nächster Schritt: Abrufen von Informationen mit getNetworkParams