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

另請參閱

GetLastError

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCreateFile

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex