Abrufen von Informationen mithilfe von GetIpStatistics
Die GetIpStatistics-Funktion füllt einen Zeiger auf eine MIB_IPSTATS-Struktur mit Informationen zu den aktuellen IP-Statistiken, die dem System zugeordnet sind.
So verwenden Sie GetIpStatistics
Deklarieren Sie einige erforderliche Variablen.
Deklarieren Sie eine DWORD-Variable
dwRetval
, die für Aufrufe der Fehlerüberprüfungsfunktion verwendet wird. Deklarieren Sie einen Zeiger auf eine MIB_IPSTATS Variable namens pStats, und weisen Sie Arbeitsspeicher für die Struktur zu. Überprüfen Sie, ob Arbeitsspeicher zugewiesen werden kann.MIB_IPSTATS *pStats; DWORD dwRetVal = 0; pStats = (MIB_IPSTATS*) malloc(sizeof(MIB_IPSTATS)); if (pStats == NULL) { printf("Unable to allocate memory for MIB_IPSTATS\n"); }
Rufen Sie die GetIpStatistics-Funktion mit dem pStats-Parameter auf, um IP-Statistiken für den lokalen Computer abzurufen. Suchen Sie nach Fehlern, und geben Sie den Fehlerwert in der DWORD-Variablen
dwRetval
zurück. Wenn ein Fehler auftritt, kann diedwRetval
Variable für eine umfassendere Fehlerüberprüfung und -berichterstellung verwendet werden.dwRetVal = GetIpStatistics(pStats); if (dwRetVal != NO_ERROR) { printf("GetIpStatistics call failed with %d\n", dwRetVal); }
Wenn der Aufruf von GetIpStatistics erfolgreich war, drucken Sie einige der Daten in der MIB_IPSTATS Struktur aus, auf die der pStats-Parameter verweist.
printf("Number of interfaces: %ld\n", pStats->dwNumIf); printf("Number of IP addresses: %ld\n", pStats->dwNumAddr); printf("Number of received datagrams: %ld\n", pStats->dwInReceives); printf("NUmber of outgoing datagrams requested to transmit: %ld\n", pStats->dwOutRequests);
Geben Sie den Arbeitsspeicher frei, der für die MIB_IPSTATS Struktur zugewiesen ist, auf die der pStats-Parameter verweist. Dies sollte erfolgen, sobald die Anwendung die vom pStats-Parameter zurückgegebenen Daten nicht mehr benötigt.
if (pStats) free(pStats);
Nächster Schritt: Abrufen von Informationen mithilfe von GetTcpStatistics
Vorheriger Schritt: Verwalten von IP-Adressen mithilfe von AddIPAddress und DeleteIPAddress