Função GetIcmpStatistics (iphlpapi.h)
A função GetIcmpStatistics recupera o protocolo ICMP para estatísticas IPv4 para o computador local.
Sintaxe
IPHLPAPI_DLL_LINKAGE ULONG GetIcmpStatistics(
[out] PMIB_ICMP Statistics
);
Parâmetros
[out] Statistics
Um ponteiro para uma estrutura MIB_ICMP que recebe as estatísticas de ICMP para o computador local.
Retornar valor
Se a função for bem-sucedida, o valor retornado será NO_ERROR.
Se a função falhar, o valor retornado será um dos códigos de erro a seguir.
Código de retorno | Descrição |
---|---|
|
O parâmetro pStats é NULL ou GetIcmpStatistics não pode gravar na memória apontada pelo parâmetro pStats . |
|
Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A função GetIcmpStatistics retorna as estatísticas de ICMP para IPv4 no computador local. No Windows XP e posterior, o GetIpStatisticsEx pode ser usado para obter as estatísticas de ICMP para IPv4 ou IPv6 no computador local.
Exemplos
O exemplo a seguir recupera o ICMP para estatísticas IPv4 para o computador local e imprime algumas informações dos dados retornados.
#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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | iphlpapi.h |
Biblioteca | Iphlpapi.lib |
DLL | Iphlpapi.dll |
Confira também
Referência de função auxiliar de IP