Condividi tramite


Recupero di informazioni tramite GetIpStatistics

La funzione GetIpStatistics riempie un puntatore a una struttura MIB_IPSTATS con informazioni sulle statistiche IP correnti associate al sistema.

Per usare GetIpStatistics

  1. Dichiarare alcune variabili necessarie.

    Dichiarare una variabile dwRetvalDWORD che verrà usata per la verifica degli errori delle chiamate di funzione. Dichiarare un puntatore a una variabile MIB_IPSTATS denominata pStats e allocare memoria per la struttura. Verificare che la memoria possa essere allocata.

    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. Chiamare la funzione GetIpStatistics con il parametro pStats per recuperare le statistiche IP per il computer locale. Verificare gli errori e restituire il valore di errore nella variabile dwRetvalDWORD . Se si verifica un errore, la dwRetval variabile può essere usata per il controllo e la segnalazione degli errori più estesi.

    dwRetVal = GetIpStatistics(pStats);
    if (dwRetVal != NO_ERROR) {
        printf("GetIpStatistics call failed with %d\n", dwRetVal);
    }
    
  3. Se la chiamata a GetIpStatistics ha avuto esito positivo, stampare alcuni dei dati nella struttura MIB_IPSTATS puntati al parametro pStats .

    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. Liberare la memoria allocata per la struttura MIB_IPSTATS a cui fa riferimento il parametro pStats . Questa operazione deve essere eseguita una volta che l'applicazione non necessita più dei dati restituiti dal parametro pStats .

    if (pStats)
        free(pStats);
    

Passaggio successivo: Recupero di informazioni tramite GetTcpStatistics

Passaggio precedente: Gestione degli indirizzi IP tramite AddIPAddress e DeleteIPAddress