다음을 통해 공유


IcmpCloseHandle 함수(icmpapi.h)

IcmpCloseHandle 함수는 IcmpCreateFile 또는 Icmp6CreateFile 함수를 호출하여 연 핸들 을 닫습니다.

구문

IPHLPAPI_DLL_LINKAGE BOOL IcmpCloseHandle(
  [in] HANDLE IcmpHandle
);

매개 변수

[in] IcmpHandle

닫을 핸들입니다. 이 핸들은 IcmpCreateFile 또는 Icmp6CreateFile 호출에 의해 반환되어야 합니다.

반환 값

핸들이 성공적으로 닫혀 있으면 반환 값이 TRUE이고, 그렇지 않으면 FALSE입니다. 확장 오류 정보는 GetLastError 함수를 호출합니다.

설명

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

Iphlpapi.h 헤더 파일에 대한 include 지시문은 Icmpapi.h 헤더 파일 앞에 배치해야 합니다.

예제

다음 예제에서는 ICMP 에코 요청을 실행할 수 있는 핸들을 열고 닫습니다.

#include <windows.h>
#include <iphlpapi.h>
#include <icmpapi.h>
#include <stdio.h>

#pragma comment(lib, "iphlpapi.lib")

void main()
{
    HANDLE hIcmpFile;
    BOOL bRetVal; 

    hIcmpFile = IcmpCreateFile();
    if (hIcmpFile == INVALID_HANDLE_VALUE)
      printf("IcmpCreateFile failed with error: %ld\n", GetLastError() );
    else 
    {
      printf("\tHandle created.\n");

      bRetVal = IcmpCloseHandle(hIcmpFile);
      if (bRetVal)
          printf("\tHandle was closed\n");
      else
          printf("IcmpCloseHandle failed with error: %ld\n", GetLastError() );
    }
}


요구 사항

   
지원되는 최소 클라이언트 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

IcmpCreateFile

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex