Partager via


IcmpCloseHandle, fonction (icmpapi.h)

La fonction IcmpCloseHandle ferme un handle ouvert par un appel aux fonctions IcmpCreateFile ou Icmp6CreateFile .

Syntaxe

IPHLPAPI_DLL_LINKAGE BOOL IcmpCloseHandle(
  [in] HANDLE IcmpHandle
);

Paramètres

[in] IcmpHandle

Handle à fermer. Ce handle doit avoir été retourné par un appel à IcmpCreateFile ou Icmp6CreateFile.

Valeur retournée

Si le handle est fermé correctement, la valeur de retour est TRUE, sinon FALSE. Appelez la fonction GetLastError pour obtenir des informations d’erreur étendues.

Notes

La fonction IcmpCloseHandle est exportée à partir du Icmp.dll sur Windows 2000. La fonction IcmpCloseHandle 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’IcmpCloseHandle dans le Iphlpapi.dll avec des appels à LoadLibrary et GetProcAddress. À défaut, l’application doit case activée pour la présence d’IcmpCloseHandle dans le Icmp.dll avec des appels à LoadLibrary et GetProcAddress.

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 et ferme un handle sur lequel les demandes d’écho ICMP peuvent être émises.

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

#pragma comment(lib, "iphlpapi.lib")

void main()
{
    HANDLE hIcmpFile;
    BOOL bRetVal; 

    hIcmpFile = IcmpCreateFile();
    if (hIcmpFile == INVALID_HANDLE_VALUE)
      printf("IcmpCreateFile failed with error: %ld\n", GetLastError() );
    else 
    {
      printf("\tHandle created.\n");

      bRetVal = IcmpCloseHandle(hIcmpFile);
      if (bRetVal)
          printf("\tHandle was closed\n");
      else
          printf("IcmpCloseHandle failed with error: %ld\n", GetLastError() );
    }
}


Configuration requise

   
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

IcmpCreateFile

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex