Fungsi GetIcmpStatistics (iphlpapi.h)

Fungsi GetIcmpStatistics mengambil Protokol Pesan Kontrol Internet (ICMP) untuk statistik IPv4 untuk komputer lokal.

Sintaks

IPHLPAPI_DLL_LINKAGE ULONG GetIcmpStatistics(
  [out] PMIB_ICMP Statistics
);

Parameter

[out] Statistics

Penunjuk ke struktur MIB_ICMP yang menerima statistik ICMP untuk komputer lokal.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Parameter pStats adalah NULL, atau GetIcmpStatistics tidak dapat menulis ke memori yang diacu oleh parameter pStats .
Lainnya
Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Keterangan

Fungsi GetIcmpStatistics mengembalikan statistik ICMP untuk IPv4 di komputer lokal. Pada Windows XP dan yang lebih baru, GetIpStatisticsEx dapat digunakan untuk mendapatkan statistik ICMP untuk IPv4 atau IPv6 di komputer lokal.

Contoh

Contoh berikut mengambil statistik ICMP untuk IPv4 untuk komputer lokal dan mencetak beberapa informasi dari data yang dikembalikan.

#ifndef UNICODE
#define UNICODE
#endif

#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>

#pragma comment(lib, "iphlpapi.lib")

#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))

/* Note: could also use malloc() and free() */

int main()
{

    DWORD dwRetVal = 0;
    PMIB_ICMP pIcmpStats;

    pIcmpStats = (MIB_ICMP *) MALLOC(sizeof (MIB_ICMP));
    if (pIcmpStats == NULL) {
        wprintf(L"Error allocating memory\n");
        return 1;
    }

    dwRetVal = GetIcmpStatistics(pIcmpStats);
    if (dwRetVal == NO_ERROR) {
        wprintf(L"Number of incoming ICMP messages: %ld\n",
                pIcmpStats->stats.icmpInStats.dwMsgs);
        wprintf(L"Number of incoming ICMP errors received: %ld\n",
                pIcmpStats->stats.icmpInStats.dwErrors);
        wprintf(L"Number of outgoing ICMP messages: %ld\n",
                pIcmpStats->stats.icmpOutStats.dwMsgs);
        wprintf(L"Number of outgoing ICMP errors sent: %ld\n",
                pIcmpStats->stats.icmpOutStats.dwErrors);
    } else {
        wprintf(L"GetIcmpStatistics failed with error: %ld\n", dwRetVal);
    }

    if (pIcmpStats)
        FREE(pIcmpStats);

    return 0;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header iphlpapi.h
Pustaka Iphlpapi.lib
DLL Iphlpapi.dll

Lihat juga

GetIpStatistics

GetIpStatisticsEx

GetTcpStatistics

GetUdpStatistics

Referensi Fungsi Pembantu IP

Halaman Mulai Pembantu IP

MIB_ICMP