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
Dichiarare alcune variabili necessarie.
Dichiarare una variabile
dwRetval
DWORD 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"); }
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
dwRetval
DWORD . Se si verifica un errore, ladwRetval
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); }
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);
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