Función IcmpCreateFile (icmpapi.h)

La función IcmpCreateFile abre un identificador en el que se pueden emitir solicitudes de eco ICMP IPv4.

Sintaxis

IPHLPAPI_DLL_LINKAGE HANDLE IcmpCreateFile();

Valor devuelto

La función IcmpCreateFile devuelve un identificador abierto si se ejecuta correctamente. En caso de error, la función devuelve INVALID_HANDLE_VALUE. Llame a la función GetLastError para obtener información de error extendida.

Comentarios

La función IcmpCreateFile se exporta desde el Icmp.dll en Windows 2000. La función IcmpCreateFile 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 IcmpCreateFile en el Iphlpapi.dll con llamadas a LoadLibrary y GetProcAddress. Si se produce un error, la aplicación debe comprobar la presencia de IcmpCreateFile en el Icmp.dll con llamadas a LoadLibrary y GetProcAddress.

Para IPv6, use las funciones Icmp6CreateFile, Icmp6SendEcho2 e Icmp6ParseReplies .

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 un identificador en el que se pueden emitir solicitudes de eco 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);
    }  
}

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

IcmpCloseHandle

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex