Recuperando informações usando GetIpStatistics

A função GetIpStatistics preenche um ponteiro para uma estrutura MIB_IPSTATS com informações sobre as estatísticas de IP atuais associadas ao sistema.

Para usar GetIpStatistics

  1. Declare algumas variáveis necessárias.

    Declare uma variável dwRetvalDWORD que será usada para chamadas de função de verificação de erros. Declare um ponteiro para uma variável MIB_IPSTATS chamada pStats e aloque memória para a estrutura. Verifique se a memória pode ser alocada.

    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. Chame a função GetIpStatistics com o parâmetro pStats para recuperar estatísticas de IP para o computador local. Verifique se há erros e retorne o valor de erro na variável dwRetvalDWORD . Se ocorrer um erro, a dwRetval variável poderá ser usada para verificação de erros e relatórios mais abrangentes.

    dwRetVal = GetIpStatistics(pStats);
    if (dwRetVal != NO_ERROR) {
        printf("GetIpStatistics call failed with %d\n", dwRetVal);
    }
    
  3. Se a chamada para GetIpStatistics foi bem-sucedida, imprima alguns dos dados na estrutura MIB_IPSTATS apontada pelo parâmetro 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. Libere a memória alocada para a estrutura MIB_IPSTATS apontada pelo parâmetro pStats . Isso deve ser feito depois que o aplicativo não precisar mais dos dados retornados pelo parâmetro pStats .

    if (pStats)
        free(pStats);
    

Próxima etapa: recuperando informações usando GetTcpStatistics

Etapa anterior: gerenciando endereços IP usando AddIPAddress e DeleteIPAddress