共用方式為


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.libIphlpapi.lib 檔案。 相反地,應用程式應該檢查Iphlpapi.dll是否有 IcmpCreateFile,並呼叫LoadLibraryGetProcAddress。 失敗,應用程式應該檢查Icmp.dll是否有 IcmpCreateFile,並呼叫LoadLibraryGetProcAddress

針對 IPv6,請使用 Icmp6CreateFileIcmp6SendEcho2Icmp6ParseReplies 函式。

請注意, 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

另請參閱

GetLastError

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCloseHandle

IcmpParseReplies

IcmpSendecho

IcmpSendEcho2

IcmpSendEcho2Ex