getIcmpStatistics 函数 (iphlpapi.h)

GetIcmpStatistics 函数检索本地计算机的 IPv4 统计信息 (ICMP) Internet 控制消息协议。

语法

IPHLPAPI_DLL_LINKAGE ULONG GetIcmpStatistics(
  [out] PMIB_ICMP Statistics
);

参数

[out] Statistics

指向接收本地计算机的 ICMP 统计信息 的 MIB_ICMP 结构的指针。

返回值

如果函数成功,则返回值NO_ERROR。

如果函数失败,则返回值为以下错误代码之一。

返回代码 说明
ERROR_INVALID_PARAMETER
pStats 参数为 NULL,或者 GetIcmpStatistics 无法写入 pStats 参数指向的内存。
其他
使用 FormatMessage 函数获取返回错误的消息字符串。

注解

GetIcmpStatistics 函数返回本地计算机上 IPv4 的 ICMP 统计信息。 在 Windows XP 及更高版本上, GetIpStatisticsEx 可用于获取本地计算机上的 IPv4 或 IPv6 的 ICMP 统计信息。

示例

以下示例检索本地计算机的 IPv4 ICMP 统计信息,并从返回的数据中输出一些信息。

#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;
}

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 iphlpapi.h
Library Iphlpapi.lib
DLL Iphlpapi.dll

另请参阅

GetIpStatistics

GetIpStatisticsEx

GetTcpStatistics

GetUdpStatistics

IP 帮助程序函数参考

IP 帮助程序起始页

MIB_ICMP