Поделиться через


Получение сведений с помощью GetIpStatistics

Функция GetIpStatistics заполняет указатель на структуру MIB_IPSTATS сведениями о текущей статистике IP-адресов, связанной с системой.

Использование GetIpStatistics

  1. Объявите некоторые необходимые переменные.

    Объявите переменную dwRetvalDWORD, которая будет использоваться для вызовов функций проверки ошибок. Объявите указатель на переменную 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");
    }
    
  2. Вызовите функцию GetIpStatistics с параметром pStats , чтобы получить статистику IP-адресов для локального компьютера. Проверьте наличие ошибок и верните значение ошибки в переменной dwRetvalDWORD . При возникновении dwRetval ошибки переменную можно использовать для более обширной проверки ошибок и создания отчетов.

    dwRetVal = GetIpStatistics(pStats);
    if (dwRetVal != NO_ERROR) {
        printf("GetIpStatistics call failed with %d\n", dwRetVal);
    }
    
  3. Если вызов 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);
    
  4. Освободите память, выделенную для структуры MIB_IPSTATS , на которую указывает параметр pStats . Это следует сделать, когда приложению больше не нужны данные, возвращаемые параметром pStats .

    if (pStats)
        free(pStats);
    

Следующий шаг. Получение сведений с помощью GetTcpStatistics

Предыдущий шаг . Управление IP-адресами с помощью AddIPAddress и DeleteIPAddress