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
IcmpSendEcho