Abrufen von Informationen mit 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

  1. Deklarieren Sie einige erforderliche Variablen.

    Deklarieren Sie eine DWORD-Variable, dwRetval die für Funktionsaufrufe zur Fehlerüberprüfung verwendet wird. Deklarieren Sie einen Zeiger auf eine _ MIB-IPSTATS-Variable namens pStats, und weisen Sie Speicher für die Struktur zu. Überprüfen Sie, ob Arbeitsspeicher zugeordnet 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");
    }
    
  2. 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 die dwRetval Variable für umfangreichere Fehlerüberprüfungen und -berichte verwendet werden.

    dwRetVal = GetIpStatistics(pStats);
    if (dwRetVal != NO_ERROR) {
        printf("GetIpStatistics call failed with %d\n", dwRetVal);
    }
    
  3. Wenn der Aufruf von GetIpStatistics erfolgreich war, drucken Sie einige der Daten in der _ MIB-IPSTATS-Struktur aus, auf die der pStats-Parameter zeigt.

    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);
    
  4. Freigeben des Speichers, der für die _ MIB-IPSTATS-Struktur belegt ist, auf die der pStats-Parameter zeigt. 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 mit getTcpStatistics

Vorheriger Schritt: Verwalten von IP-Adressen mit AddIPAddress und DeleteIPAddress