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 파일에 정적으로 연결해서는 안 됩니다. 대신 애플리케이션은 LoadLibrary 및 GetProcAddress를 호출하여 Iphlpapi.dllIcmpCloseHandle이 있는지 검사 합니다. 실패하면 애플리케이션이 LoadLibrary 및 GetProcAddress를 호출하여 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