Condividi tramite


Recupero di informazioni tramite GetTcpStatistics

La funzione GetTcpStatistics riempie un puntatore a una struttura MIB_TCPSTATS con informazioni sulle statistiche del protocollo TCP per il computer locale.

Per usare getTcpStatistics

  1. Dichiarare alcune variabili necessarie.

    Dichiarare un DWORD variabile dwRetVal che verrà usata per il controllo degli errori delle chiamate di funzione. Dichiarare un puntatore a una variabile MIB_TCPSTATS chiamata pTCPStatse allocare memoria per la struttura. Verificare che la memoria possa essere allocata.

    DWORD dwRetVal = 0;
    PMIB_TCPSTATS pTCPStats;
    
    pTCPStats = (MIB_TCPSTATS *) malloc(sizeof (MIB_TCPSTATS));
    if (pTCPStats == NULL) {
        printf("Error allocating memory\n");
    }
    
  2. Chiamare la funzioneGetTcpStatisticscon il parametro pTCPStats per recuperare le statistiche TCP per IPv4 nel computer locale. Verificare la presenza di errori e restituire il valore di errore nella variabile DWORDdwRetVal. Se si verifica un errore, la variabile dwRetVal può essere usata per un controllo e una segnalazione degli errori più estesi.

        if ((dwRetVal = GetTcpStatistics(pTCPStats)) != NO_ERROR) {
            printf("GetTcpStatistics failed with error: %ld\n", dwRetVal);
        } 
    
  3. Se la chiamata ha esito positivo, accedere ai dati restituiti nel MIB_TCPSTATS a cui punta il parametro pTCPStats.

    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. Liberare la memoria allocata per la struttura MIB_TCPSTATS a cui punta il parametro pTCPStats. Questa operazione deve essere eseguita dopo che l'applicazione non richiede più i dati restituiti dal parametro pTCPStats.

    if (pTCPStats)
        free(pTCPStats);
    

Passaggio successivo: recupero di informazioni tramite getIpStatistics

Passaggio precedente: recupero di informazioni tramite getIpStatistics

Codice sorgente completo