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 檔案。 相反地,應用程式應該檢查Iphlpapi.dll中是否有IcmpCloseHandle,並呼叫LoadLibrary和GetProcAddress。 失敗,應用程式應該檢查Icmp.dll中是否有IcmpCloseHandle,並呼叫LoadLibrary和GetProcAddress。
請注意, 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 專業版 [傳統型應用程式 |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 專業版上的 Icmp.dll |
另請參閱
IcmpSendEcho