Функция IcmpCreateFile (icmpapi.h)
Функция IcmpCreateFile открывает дескриптор, на котором можно выдавать эхо-запросы ICMP IPv4.
Синтаксис
IPHLPAPI_DLL_LINKAGE HANDLE IcmpCreateFile();
Возвращаемое значение
Функция IcmpCreateFile возвращает открытый дескриптор при успешном выполнении. При сбое функция возвращает INVALID_HANDLE_VALUE. Вызовите функцию GetLastError для получения дополнительных сведений об ошибке.
Комментарии
Функция IcmpCreateFile экспортируется из Icmp.dll в Windows 2000. Функция IcmpCreateFile экспортируется из Iphlpapi.dll в Windows XP и более поздних версиях. Эта функция не рекомендуется использовать для проверки версии Windows. Приложения, которым требуется переносимость этой функции в Windows 2000, Windows XP, Windows Server 2003 и более поздних версиях Windows, не должны статически связываться с файлом Icmp.lib или Iphlpapi.lib . Вместо этого приложение должно проверка наличие IcmpCreateFile в Iphlpapi.dll с вызовами LoadLibrary и GetProcAddress. В противном случае приложение должно проверка наличие IcmpCreateFile в Icmp.dll с вызовами LoadLibrary и GetProcAddress.
Для IPv6 используйте функции Icmp6CreateFile, Icmp6SendEcho2 и Icmp6ParseReplies .
Обратите внимание, что директива include для файла заголовка Iphlpapi.h должна быть помещена перед файлом заголовка Icmpapi.h .
Примеры
В следующем примере открывается дескриптор, с помощью которого можно выдавать эхо-запросы 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);
}
}
Требования
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | icmpapi.h |
Библиотека | Iphlpapi.lib |
DLL | Iphlpapi.dll в Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP; Icmp.dll в Windows 2000 Server и Windows 2000 Профессиональная |
См. также раздел
IcmpSendecho