Udostępnij przez


Pobieranie informacji przy użyciu funkcji GetIpStatistics

Funkcja GetIpStatistics wypełnia wskaźnik do struktury MIB_IPSTATS z informacjami o bieżących statystykach adresów IP skojarzonych z systemem.

Aby użyć funkcji GetIpStatistics

  1. Zadeklaruj wymagane zmienne.

    Zadeklaruj zmienną DWORDdwRetval, która będzie używana do sprawdzania błędów wywołań funkcji. Zadeklaruj wskaźnik do zmiennej MIB_IPSTATS o nazwie pStatsi przydziel pamięć dla struktury. Sprawdź, czy można przydzielić pamięć.

    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. Wywołaj funkcję GetIpStatistics za pomocą parametru pStats, aby pobrać statystyki adresów IP dla komputera lokalnego. Sprawdź błędy i zwróć wartość błędu w zmiennej DWORD dwRetval. Jeśli wystąpi błąd, zmienna dwRetval może służyć do bardziej rozbudowanego sprawdzania błędów i raportowania.

    dwRetVal = GetIpStatistics(pStats);
    if (dwRetVal != NO_ERROR) {
        printf("GetIpStatistics call failed with %d\n", dwRetVal);
    }
    
  3. Jeśli wywołanie metody GetIpStatistics powiodło się, wyświetl niektóre dane w strukturze MIB_IPSTATS wskazywane przez parametr 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. Zwolnij pamięć przydzieloną dla struktury MIB_IPSTATS wskazywanej przez parametr pStats. Należy to zrobić, gdy aplikacja nie potrzebuje już danych zwracanych przez parametr pStats.

    if (pStats)
        free(pStats);
    

Następny krok: pobieranie informacji przy użyciu funkcji GetTcpStatistics

Poprzedni krok: zarządzanie adresami IP przy użyciu polecenia AddIPAddress i DeleteIPAddress