icmpCreateFile 函式 (icmpapi.h)
IcmpCreateFile函式會開啟可發出 IPv4 ICMP 回應要求的控制碼。
Syntax
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 檔案。 相反地,應用程式應該檢查Iphlpapi.dll中是否有 IcmpCreateFile,並呼叫LoadLibrary和GetProcAddress。 失敗,應用程式應該檢查Icmp.dll中是否有 IcmpCreateFile,並呼叫LoadLibrary和GetProcAddress。
針對 IPv6,請使用 Icmp6CreateFile、 Icmp6SendEcho2和 Icmp6ParseReplies 函式。
請注意, 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 專業版 [傳統型應用程式 |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