Función IcmpCloseHandle (icmpapi.h)

La función IcmpCloseHandle cierra un identificador abierto mediante una llamada a las funciones IcmpCreateFile o Icmp6CreateFile .

Sintaxis

IPHLPAPI_DLL_LINKAGE BOOL IcmpCloseHandle(
  [in] HANDLE IcmpHandle
);

Parámetros

[in] IcmpHandle

Identificador que se va a cerrar. Este identificador debe haber sido devuelto por una llamada a IcmpCreateFile o Icmp6CreateFile.

Valor devuelto

Si el identificador se cierra correctamente, el valor devuelto es TRUE; de lo contrario, FALSE. Llame a la función GetLastError para obtener información de error extendida.

Comentarios

La función IcmpCloseHandle se exporta desde el Icmp.dll en Windows 2000. La función IcmpCloseHandle se exporta desde el Iphlpapi.dll en Windows XP y versiones posteriores. No se recomienda la comprobación de versiones de Windows para usar esta función. Las aplicaciones que requieren portabilidad con esta función en Windows 2000, Windows XP, Windows Server 2003 y versiones posteriores de Windows no deben vincularse estáticamente al archivo Icmp.lib o Iphlpapi.lib . En su lugar, la aplicación debe comprobar la presencia de IcmpCloseHandle en el Iphlpapi.dll con llamadas a LoadLibrary y GetProcAddress. Si se produce un error, la aplicación debe comprobar la presencia de IcmpCloseHandle en el Icmp.dll con llamadas a LoadLibrary y GetProcAddress.

Tenga en cuenta que la directiva include para el archivo de encabezado Iphlpapi.h debe colocarse antes del archivo de encabezado Icmpapi.h .

Ejemplos

En el ejemplo siguiente se abre y cierra un identificador en el que se pueden emitir solicitudes de eco ICMP.

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


Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado icmpapi.h
Library Iphlpapi.lib
Archivo DLL Iphlpapi.dll en Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP; Icmp.dll en Windows 2000 Server y Windows 2000 Professional

Consulte también

Obtener último error

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCreateFile

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex