Récupération d’informations à l’aide de GetIpStatistics
La fonction GetIpStatistics remplit un pointeur vers une structure de MIB_IPSTATS avec des informations sur les statistiques IP actuelles associées au système.
Pour utiliser GetIpStatistics
Déclarez certaines variables nécessaires.
Déclarez une variable
dwRetval
DWORD qui sera utilisée pour les appels de fonction de vérification des erreurs. Déclarez un pointeur vers une variable MIB_IPSTATS appelée pStats et allouez de la mémoire pour la structure. Vérifiez que la mémoire peut être allouée.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"); }
Appelez la fonction GetIpStatistics avec le paramètre pStats pour récupérer des statistiques IP pour l’ordinateur local. Recherchez les erreurs et retournez la valeur d’erreur dans la variable
dwRetval
DWORD . Si une erreur se produit, ladwRetval
variable peut être utilisée pour la vérification et la création de rapports d’erreurs plus étendus.dwRetVal = GetIpStatistics(pStats); if (dwRetVal != NO_ERROR) { printf("GetIpStatistics call failed with %d\n", dwRetVal); }
Si l’appel à GetIpStatistics a réussi, imprimez certaines des données dans la structure MIB_IPSTATS pointée vers le paramètre 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);
Libérez la mémoire allouée pour la structure MIB_IPSTATS pointée vers le paramètre pStats . Cette opération doit être effectuée une fois que l’application n’a plus besoin des données retournées par le paramètre pStats .
if (pStats) free(pStats);
Étape suivante : Récupération d’informations à l’aide de GetTcpStatistics
Étape précédente : Gestion des adresses IP à l’aide de AddIPAddress et DeleteIPAddress