使用 GetIpStatistics 检索信息

GetIpStatistics 函数使用与系统关联的当前 IP 统计信息的信息填充指向MIB_IPSTATS结构的指针。

使用 GetIpStatistics

  1. 声明一些所需的变量。

    声明将用于错误检查函数调用的 DWORD 变量 dwRetval 。 声明指向名为 pStats的MIB_IPSTATS变量的指针,并为结构分配内存。 检查是否可以分配内存。

    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. 使用 pStats 参数调用 GetIpStatistics 函数以检索本地计算机的 IP 统计信息。 检查错误并返回 DWORD 变量 dwRetval中的错误值。 如果发生错误,可以使用 变量 dwRetval 进行更广泛的错误检查和报告。

    dwRetVal = GetIpStatistics(pStats);
    if (dwRetVal != NO_ERROR) {
        printf("GetIpStatistics call failed with %d\n", dwRetVal);
    }
    
  3. 如果对 GetIpStatistics 的调用成功,请输出 pStats 参数指向的MIB_IPSTATS结构中的一些数据。

    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. 释放为 pStats 参数指向的MIB_IPSTATS结构分配的内存。 在应用程序不再需要 pStats 参数返回的数据后,应执行此操作。

    if (pStats)
        free(pStats);
    

下一步: 使用 GetTcpStatistics 检索信息

上一步: 使用 AddIPAddress 和 DeleteIPAddress 管理 IP 地址