Condividi tramite


Funzione IcmpCreateFile (icmpapi.h)

La funzione IcmpCreateFile apre un handle in cui è possibile inviare richieste echo ICMP IPv4.

Sintassi

IPHLPAPI_DLL_LINKAGE HANDLE IcmpCreateFile();

Valore restituito

La funzione IcmpCreateFile restituisce un handle aperto in caso di esito positivo. In caso di errore, la funzione restituisce INVALID_HANDLE_VALUE. Chiamare la funzione GetLastError per informazioni sugli errori estese.

Commenti

La funzione IcmpCreateFile viene esportata dalla Icmp.dll in Windows 2000. La funzione IcmpCreateFile viene esportata dal Iphlpapi.dll in Windows XP e versioni successive. Il controllo delle versioni di Windows non è consigliato per usare questa funzione. Le applicazioni che richiedono portabilità con questa funzione in Windows 2000, Windows XP, Windows Server 2003 e versioni successive di Windows non devono essere collegate in modo statico al file Icmp.lib o Iphlpapi.lib . L'applicazione deve invece verificare la presenza di IcmpCreateFile nel Iphlpapi.dll con chiamate a LoadLibrary e GetProcAddress. In caso contrario, l'applicazione deve verificare la presenza di IcmpCreateFile nel Icmp.dll con chiamate a LoadLibrary e GetProcAddress.

Per IPv6, usare le funzioni Icmp6CreateFile, Icmp6SendEcho2 e Icmp6ParseReplies .

Si noti che la direttiva include per il file di intestazione Iphlpapi.h deve essere inserita prima del file di intestazione Icmpapi.h .

Esempio

Nell'esempio seguente viene aperto un handle in cui è possibile inviare richieste echo ICMP.

#include <windows.h>
#include <stdio.h>
#include <iphlpapi.h>
#include <icmpapi.h>

// Need to link with Iplhlapi.lib
#pragma comment(lib, "IPHLPAPI.lib")

void main()
{
    HANDLE hIcmpFile;

    hIcmpFile = IcmpCreateFile();
    if (hIcmpFile == INVALID_HANDLE_VALUE) {
      printf("\tUnable to open handle.\n");
      printf("IcmpCreatefile returned error: %ld\n", GetLastError() );
    }
    else {
      printf("\tHandle created.\n");
      // Need to close the handle when done using it
      IcmpCloseHandle(hIcmpFile);
    }  
}

Requisiti

   
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 icmpapi.h
Libreria Iphlpapi.lib
DLL Iphlpapi.dll in Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP; Icmp.dll in Windows 2000 Server e Windows 2000 Professional

Vedi anche

Getlasterror

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCloseHandle

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex