다음을 통해 공유


GetIcmpStatistics 함수(iphlpapi.h)

GetIcmpStatistics 함수는 로컬 컴퓨터에 대한 IPv4 통계에 대한 ICMP(Internet Control Message Protocol)를 검색합니다.

구문

IPHLPAPI_DLL_LINKAGE ULONG GetIcmpStatistics(
  [out] PMIB_ICMP Statistics
);

매개 변수

[out] Statistics

로컬 컴퓨터에 대한 ICMP 통계를 수신하는 MIB_ICMP 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
pStats 매개 변수가 NULL이거나 GetIcmpStatisticspStats 매개 변수가 가리키는 메모리에 쓸 수 없습니다.
기타
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 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 iphlpapi.h
라이브러리 Iphlpapi.lib
DLL Iphlpapi.dll

추가 정보

GetIpStatistics

GetIpStatisticsEx

GetTcpStatistics

GetUdpStatistics

IP 도우미 함수 참조

IP 도우미 시작 페이지

MIB_ICMP