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 ファイルに静的にリンクしないでください。 代わりに、アプリケーションは、LoadLibrary と GetProcAddress の呼び出しを使用して、Iphlpapi.dll に IcmpCloseHandle が存在することをチェックする必要があります。 失敗した場合、アプリケーションは LoadLibrary と GetProcAddress の呼び出しを使用して、Icmp.dll に IcmpCloseHandle が存在することをチェックする必要があります。

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 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー icmpapi.h
Library 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

IcmpCreateFile

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex