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
IcmpSendEcho