共用方式為


icmpCloseHandle 函式 (icmpapi.h)

IcmpCloseHandle函式會關閉呼叫IcmpCreateFileIcmp6CreateFile函式所開啟的控制碼。

語法

IPHLPAPI_DLL_LINKAGE BOOL IcmpCloseHandle(
  [in] HANDLE IcmpHandle
);

參數

[in] IcmpHandle

要關閉的控制碼。 此控制碼必須由 呼叫 IcmpCreateFileIcmp6CreateFile傳回。

傳回值

如果控制碼成功關閉,則傳回值為 TRUE,否則為 FALSE。 呼叫 GetLastError 函式以取得擴充錯誤資訊。

備註

IcmpCloseHandle函式是從 Windows 2000 上的Icmp.dll匯出。 IcmpCloseHandle函式是從 Windows XP 和更新版本的Iphlpapi.dll匯出。 不建議使用此函式進行 Windows 版本檢查。 需要跨 Windows 2000、Windows XP、Windows Server 2003 和更新 Windows 版本之此函式可攜性的應用程式不應該以靜態方式連結至 Icmp.libIphlpapi.lib 檔案。 相反地,應用程式應該檢查Iphlpapi.dll中是否有IcmpCloseHandle,並呼叫LoadLibraryGetProcAddress。 失敗,應用程式應該檢查Icmp.dll中是否有IcmpCloseHandle,並呼叫LoadLibraryGetProcAddress

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