Поделиться через


Функция 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 Профессиональная

См. также раздел

Getlasterror

Icmp6CreateFile

Icmp6ParseReplies

Icmp6Sendecho2

IcmpCloseHandle

IcmpParseReplies

IcmpSendecho

IcmpSendecho2

IcmpSendecho2Ex