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 |
참고 항목
IcmpSendEcho