Función GetIcmpStatistics (iphlpapi.h)
La función GetIcmpStatistics recupera el Protocolo de mensajes de control de Internet (ICMP) para las estadísticas de IPv4 para el equipo local.
Sintaxis
IPHLPAPI_DLL_LINKAGE ULONG GetIcmpStatistics(
[out] PMIB_ICMP Statistics
);
Parámetros
[out] Statistics
Puntero a una estructura de MIB_ICMP que recibe las estadísticas de ICMP para el equipo local.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es NO_ERROR.
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
El parámetro pStats es NULL o GetIcmpStatistics no puede escribir en la memoria a la que apunta el parámetro pStats . |
|
Use la función FormatMessage para obtener la cadena de mensaje del error devuelto. |
Comentarios
La función GetIcmpStatistics devuelve las estadísticas icMP de IPv4 en el equipo local. En Windows XP y versiones posteriores, se puede usar GetIpStatisticsEx para obtener las estadísticas de ICMP para IPv4 o IPv6 en el equipo local.
Ejemplos
En el ejemplo siguiente se recuperan las estadísticas de ICMP para IPv4 para el equipo local y se imprime información de los datos devueltos.
#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;
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | iphlpapi.h |
Library | Iphlpapi.lib |
Archivo DLL | Iphlpapi.dll |
Consulte también
Referencia de la función auxiliar de IP