Freigeben über


Abrufen von Informationen mithilfe von GetTcpStatistics

Die GetTcpStatistics-Funktion füllt einen Zeiger auf eine MIB_TCPSTATS-Struktur mit Informationen zu den TCP-Protokollstatistiken für den lokalen Computer.

So verwenden Sie GetTcpStatistics

  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_TCPSTATS Variable namens pTCPStats, und weisen Sie Arbeitsspeicher für die Struktur zu. Überprüfen Sie, ob Arbeitsspeicher zugewiesen werden kann.

    DWORD dwRetVal = 0;
    PMIB_TCPSTATS pTCPStats;
    
    pTCPStats = (MIB_TCPSTATS *) malloc(sizeof (MIB_TCPSTATS));
    if (pTCPStats == NULL) {
        printf("Error allocating memory\n");
    }
    
  2. Rufen Sie die GetTcpStatistics-Funktion mit dem Parameter pTCPStats auf, um TCP-Statistiken für IPv4 auf dem 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.

        if ((dwRetVal = GetTcpStatistics(pTCPStats)) != NO_ERROR) {
            printf("GetTcpStatistics failed with error: %ld\n", dwRetVal);
        } 
    
  3. Wenn der Aufruf erfolgreich war, greifen Sie auf die Daten zu, die in der MIB_TCPSTATS vom pTCPStats-Parameter zurückgegeben werden.

    printf("\tNumber of active opens:  %u\n", pTCPStats->dwActiveOpens);
    printf("\tNumber of passive opens: %u\n", pTCPStats->dwPassiveOpens);
    printf("\tNumber of segments received: %u\n", pTCPStats->dwInSegs);
    printf("\tNumber of segments transmitted: %u\n", pTCPStats->dwOutSegs);
    printf("\tNumber of total connections: %u\n", pTCPStats->dwNumConns);
    
  4. Geben Sie den Speicher frei, der für die MIB_TCPSTATS Struktur zugewiesen ist, auf die der pTCPStats-Parameter verweist. Dies sollte erfolgen, sobald die Anwendung die vom pTCPStats-Parameter zurückgegebenen Daten nicht mehr benötigt.

    if (pTCPStats)
        free(pTCPStats);
    

Nächster Schritt: Abrufen von Informationen mithilfe von GetIpStatistics

Vorheriger Schritt: Abrufen von Informationen mithilfe von GetIpStatistics

Vollständiger Quellcode