Funzione GetIcmpStatistics (iphlpapi.h)
La funzione GetIcmpStatistics recupera il protocollo ICMP (Internet Control Message Protocol) per le statistiche IPv4 per il computer locale.
Sintassi
IPHLPAPI_DLL_LINKAGE ULONG GetIcmpStatistics(
[out] PMIB_ICMP Statistics
);
Parametri
[out] Statistics
Puntatore a una struttura MIB_ICMP che riceve le statistiche ICMP per il computer locale.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è NO_ERROR.
Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
Il parametro pStats è NULL o GetIcmpStatistics non è in grado di scrivere nella memoria a cui punta il parametro pStats. |
|
Utilizzare la funzione FormatMessage per ottenere la stringa di messaggio per l'errore restituito. |
Commenti
La funzione GetIcmpStatistics restituisce le statistiche ICMP per IPv4 nel computer locale. In Windows XP e versioni successive è possibile usare GetIpStatisticsEx per ottenere le statistiche ICMP per IPv4 o IPv6 nel computer locale.
Esempio
L'esempio seguente recupera le statistiche ICMP per IPv4 per il computer locale e stampa alcune informazioni dai dati restituiti.
#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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | iphlpapi.h |
Libreria | Iphlpapi.lib |
DLL | Iphlpapi.dll |
Vedi anche
Informazioni di riferimento sulla funzione helper IP