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 una variabile dwRetValDWORD che verrà usata per il controllo degli errori delle chiamate di funzione. Dichiarare un puntatore a una variabile MIB_TCPSTATS denominata pTCPStats e 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 funzione GetTcpStatistics con 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 dwRetValDWORD . Se si verifica un errore, la dwRetVal variabile 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 avuto 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 necessita più dei 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