Freigeben über


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

  1. Deklarieren Sie einige erforderliche Variablen.

    Deklarieren Sie eine DWORD-VariabledwRetval, 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");
    }
    
  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-VariablendwRetvalzurück. Wenn ein Fehler auftritt, kann die dwRetval 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);
    }
    
  3. 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);
    
  4. 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