다음을 통해 공유


IcmpCreateFile 함수(icmpapi.h)

IcmpCreateFile 함수는 IPv4 ICMP 에코 요청을 실행할 수 있는 핸들을 엽니다.

구문

IPHLPAPI_DLL_LINKAGE HANDLE IcmpCreateFile();

반환 값

IcmpCreateFile 함수는 성공 시 열린 핸들을 반환합니다. 실패 시 함수는 INVALID_HANDLE_VALUE 반환합니다. 확장 오류 정보는 GetLastError 함수를 호출합니다.

설명

IcmpCreateFile 함수는 Windows 2000의 Icmp.dll 내보냅니다. IcmpCreateFile 함수는 Windows XP 이상에서 Iphlpapi.dll 내보냅니다. 이 함수를 사용하려면 Windows 버전 검사를 사용하지 않는 것이 좋습니다. Windows 2000, Windows XP, Windows Server 2003 이상 Windows 버전에서 이 함수를 사용하여 이식성이 필요한 애플리케이션은 Icmp.lib 또는 Iphlpapi.lib 파일에 정적으로 연결해서는 안 됩니다. 대신 애플리케이션은 LoadLibraryGetProcAddress를 호출하여 Iphlpapi.dllIcmpCreateFile이 있는지 검사 합니다. 실패하면 애플리케이션이 LoadLibraryGetProcAddress를 호출하여 Icmp.dllIcmpCreateFile이 있는지 검사 합니다.

IPv6의 경우 Icmp6CreateFile, Icmp6SendEcho2Icmp6ParseReplies 함수를 사용합니다.

Iphlpapi.h 헤더 파일에 대한 include 지시문은 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 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 icmpapi.h
라이브러리 Iphlpapi.lib
DLL Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP의 Iphlpapi.dll Windows 2000 Server 및 Windows 2000 Professional의 Icmp.dll

참고 항목

GetLastError

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCloseHandle

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex