Получение сведений с помощью GetIpStatistics
Функция GetIpStatistics заполняет указатель на структуру MIB_IPSTATS сведениями о текущей статистике IP-адресов, связанной с системой.
Использование GetIpStatistics
Объявите некоторые необходимые переменные.
Объявите переменную
dwRetval
DWORD, которая будет использоваться для вызовов функций проверки ошибок. Объявите указатель на переменную MIB_IPSTATSс именем pStats и выделите память для структуры. Убедитесь, что память может быть выделена.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"); }
Вызовите функцию GetIpStatistics с параметром pStats , чтобы получить статистику IP-адресов для локального компьютера. Проверьте наличие ошибок и верните значение ошибки в переменной
dwRetval
DWORD . При возникновенииdwRetval
ошибки переменную можно использовать для более обширной проверки ошибок и создания отчетов.dwRetVal = GetIpStatistics(pStats); if (dwRetVal != NO_ERROR) { printf("GetIpStatistics call failed with %d\n", dwRetVal); }
Если вызов GetIpStatistics был успешным, выведите некоторые данные в структуре MIB_IPSTATS , на которую указывает параметр 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);
Освободите память, выделенную для структуры MIB_IPSTATS , на которую указывает параметр pStats . Это следует сделать, когда приложению больше не нужны данные, возвращаемые параметром pStats .
if (pStats) free(pStats);
Следующий шаг. Получение сведений с помощью GetTcpStatistics
Предыдущий шаг . Управление IP-адресами с помощью AddIPAddress и DeleteIPAddress