Freigeben über


IcmpCreateFile-Funktion (icmpapi.h)

Die IcmpCreateFile-Funktion öffnet ein Handle, für das IPv4 ICMP-Echoanforderungen ausgegeben werden können.

Syntax

IPHLPAPI_DLL_LINKAGE HANDLE IcmpCreateFile();

Rückgabewert

Die IcmpCreateFile-Funktion gibt bei Erfolg einen geöffneten Handle zurück. Bei einem Fehler gibt die Funktion INVALID_HANDLE_VALUE zurück. Rufen Sie die GetLastError-Funktion für erweiterte Fehlerinformationen auf.

Hinweise

Die IcmpCreateFile-Funktion wird aus dem Icmp.dll unter Windows 2000 exportiert. Die IcmpCreateFile-Funktion wird aus dem Iphlpapi.dll unter Windows XP und höher exportiert. Die Windows-Versionsprüfung wird nicht empfohlen, diese Funktion zu verwenden. Anwendungen, die Portabilität mit dieser Funktion für Windows 2000, Windows XP, Windows Server 2003 und höhere Windows-Versionen erfordern, sollten weder statisch mit der Datei Icmp.lib noch mit der Datei Iphlpapi.lib verknüpft werden. Stattdessen sollte die Anwendung überprüfen, ob IcmpCreateFile im Iphlpapi.dll mit Aufrufen von LoadLibrary und GetProcAddress vorhanden ist. Andernfalls sollte die Anwendung überprüfen, ob IcmpCreateFile im Icmp.dll mit Aufrufen von LoadLibrary und GetProcAddress vorhanden ist.

Verwenden Sie für IPv6 die Funktionen Icmp6CreateFile, Icmp6SendEcho2 und Icmp6ParseReplies .

Beachten Sie, dass die include-Anweisung für die Headerdatei Iphlpapi.h vor der Headerdatei Icmpapi.h platziert werden muss.

Beispiele

Im folgenden Beispiel wird ein Handle geöffnet, für das ICMP-Echoanforderungen ausgegeben werden können.

#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);
    }  
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile icmpapi.h
Bibliothek Iphlpapi.lib
DLL Iphlpapi.dll unter Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP; Icmp.dll unter Windows 2000 Server und Windows 2000 Professional

Weitere Informationen

GetLastError

Icmp6CreateFile

Icmp6ParseReplies

Icmp6SendEcho2

IcmpCloseHandle

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex