Share via


IcmpCreateFile, fonction (icmpapi.h)

La fonction IcmpCreateFile ouvre un handle sur lequel les demandes d’écho ICMP IPv4 peuvent être émises.

Syntaxe

IPHLPAPI_DLL_LINKAGE HANDLE IcmpCreateFile();

Valeur de retour

La fonction IcmpCreateFile retourne un handle ouvert en cas de réussite. En cas d’échec, la fonction retourne INVALID_HANDLE_VALUE. Appelez la fonction GetLastError pour obtenir des informations d’erreur étendues.

Notes

La fonction IcmpCreateFile est exportée à partir du Icmp.dll sur Windows 2000. La fonction IcmpCreateFile est exportée à partir du Iphlpapi.dll sur Windows XP et versions ultérieures. Il n’est pas recommandé de vérifier la version de Windows pour utiliser cette fonction. Les applications nécessitant une portabilité avec cette fonction dans Windows 2000, Windows XP, Windows Server 2003 et versions ultérieures de Windows ne doivent pas être liées de manière statique au fichier Icmp.lib ou Iphlpapi.lib . Au lieu de cela, l’application doit case activée pour la présence d’IcmpCreateFile dans le Iphlpapi.dll avec des appels à LoadLibrary et GetProcAddress. À défaut, l’application doit case activée pour la présence d’IcmpCreateFile dans le Icmp.dll avec des appels à LoadLibrary et GetProcAddress.

Pour IPv6, utilisez les fonctions Icmp6CreateFile, Icmp6SendEcho2 et Icmp6ParseReplies .

Notez que la directive include pour le fichier d’en-tête Iphlpapi.h doit être placée avant le fichier d’en-tête Icmpapi.h .

Exemples

L’exemple suivant ouvre un handle sur lequel les demandes d’écho ICMP peuvent être émises.

#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);
    }  
}

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête icmpapi.h
Bibliothèque Iphlpapi.lib
DLL Iphlpapi.dll sur Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP ; Icmp.dll sur Windows 2000 Server et Windows 2000 Professionnel

Voir aussi

Obtenir la dernière erreur

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCloseHandle

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex