Verwenden des Hilfsprogramms Checkv4.exe

Wichtig

Das Hilfsprogramm Checkv4.exe wird nicht im Windows Software Development Kit (SDK) für Windows 8 oder in höheren Versionen des Windows SDK ausgeliefert.

Das Hilfsprogramm Checkv4.exe ist darauf ausgelegt, Ihnen einen Codeportierungspartner zur Verfügung zu stellen. Ein Hilfsprogramm, das Ihre Codebasis mit Ihnen durchgeht, potenzielle Probleme identifiziert oder Code hervorhebt, der von IPv6-fähigen Funktionen oder Strukturen profitieren kann, sowie Empfehlungen gibt. Mit dem Checkv4.exe Hilfsprogramm wird die Aufgabe, eine vorhandene IPv4-Anwendung zur Unterstützung von IPv6 zu ändern, viel einfacher.

Das Hilfsprogramm Checkv4.exe wird als Teil des Microsoft Windows Software Development Kit (SDK) installiert, das für Windows Vista und spätere SDKs veröffentlicht wurde (bis zum, jedoch nicht einschließlich des, Windows Software Development Kit (SDK) für Windows 8).

Als Teil der früheren Microsoft IPv6 Technology Preview für Windows 2000 wurde auch eine frühere Version des Checkv4.exe-Hilfsprogramms mit eingeschränkteren Features zur Verfügung gestellt.

In den folgenden Abschnitten wird beschrieben, wie Sie das Hilfsprogramm Checkv4.exe verwenden; weiterhin wird der empfohlene Ansatz zum Ändern einer vorhandenen IPv4-Anwendung zur Unterstützung von IPv6 erläutert.

Empfehlungen für das Ausführen von Checkv4.exe

  • Das Hilfsprogramm Checkv4.exe ist ganz einfach. Führen Sie Checkv4.exe einfach in der Befehlszeile mit dem Namen der Datei als Parameter aus, die Sie überprüfen möchten. Checkv4.exe analysiert die Datei und gibt Feedback dazu, wo IPv6-Portierungsprobleme in dieser Datei vorhanden sind. Wenn Sie Checkv4.exe in den Pfad Ihres Computers einfügen, wird das Checkv4.exe-Hilfsprogramm von praktisch überall in der Quellcodeverzeichnisstruktur aus wesentlich einfacher ausgeführt. Wenn Sie beispielsweise Checkv4.exe in %windir% setzen, können Sie Checkv4.exe von jedem Verzeichnis auf Ihrem Computer aus ausführen, ohne dessen Pfad einzuschließen.

  • Geben Sie in der Eingabeaufforderung den folgenden Befehl aus, um die Datei Simplec.c zu analysieren:

    Checkv4 simplec.c

    Beachten Sie, dass einige der Empfehlungen des Checkv4.exe-Hilfsprogramms nur in neueren Versionen der Ws2tcpip.h-Headerdatei verfügbar sind, wie etwa die SOCKADDR_IN6-Struktur. Diese Headerdateien sind im Windows-SDK enthalten, das für Windows Vista und höher veröffentlicht wurde. Diese Headerdateien sind auch im früheren Platform Software Development Kit (SDK) enthalten, das für Windows Server 2003 veröffentlicht wurde.

    Der folgende Screenshot zeigt die Ergebnisse der Verwendung des Hilfsprogramms Checkv4.exe in der Datei Simplec.c in Anhang A:

    Checkv4.exe meldet IPv6-Inkompatibilitäten in der Datei simplec.c

    Der folgende Screenshot zeigt die Ergebnisse der Verwendung des Hilfsprogramms Checkv4.exe in der Datei Simples.c, ebenfalls in Anhang A:

    Checkv4.exe meldet IPv6-Inkompatibilitäten in der Datei simples.c

Der Änderungsprozess der Anwendung: Wo beginnen?

Es gibt ein empfohlenes Verfahren zum Hinzufügen von IPv6-Funktionen zu Anwendungen. Diese Sequenz ist von Vorteil, da Entwickler damit sicherstellen können, dass alle Schritte ausgeführt werden, die zum Ändern einer vorhandenen IPv4-Anwendung zur Unterstützung von IPv6 erforderlich sind. Bestimmte Anwendungen erfordern möglicherweise eine größere Aufmerksamkeit für eine dieser Sequenzen; beispielsweise hätte ein Systemdienst wahrscheinlich weniger Probleme mit der Benutzeroberfläche als ein graphisches Dateiübertragungsprogramm (FTP).

So ändern Sie IPv4-Anwendungen zur Unterstützung von IPv6

  1. Korrigieren Sie Strukturen und Deklarationen, um die IPv6- und IPv4-Kompatibilität zu ermöglichen.

  2. Ändern Sie Funktionsaufrufe, um IPv6-fähige Funktionen zu nutzen, z. B. die Funktionen getaddrinfo und getnameinfo.

  3. Überprüfen Sie den Quellcode für die Verwendung hartcodierter IPv4-Adressen wie der Loopbackadresse oder die Verwendung anderer Literalzeichenfolgen.

  4. Führen Sie eine gründliche Überprüfung der Benutzeroberfläche durch, einschließlich der Informationsdialogfelder. Überlegen Sie, ob es für IPv6-fähige Anwendungen sinnvoll ist, IP-Adressinformationen anzugeben oder bereitzustellen.

  5. Ermitteln Sie, ob Ihre Anwendung auf zugrunde liegenden Protokollen wie RPC basiert, und nehmen Sie entsprechende programmgesteuerte Änderungen vor, um IPv6-Adressen zu behandeln.

  6. Verwenden Sie das Kompilierungszeit-Flag IPV6STRICT beim Kompilieren von Anwendungen unter Windows XP und höher. Dieses Flag führt dazu, dass inkompatibler Code nicht kompiliert wird, wie folgt:

    Windows Sockets 1.x-Anwendungen mit inkompatiblem Code können nicht kompiliert werden, und die Fehlermeldung „WINSOCK2 Erforderlich“ wird zurückgeben.

    Windows Sockets 2.x-Anwendungen mit inkompatiblem Code verursachen einen Kompilierungszeitfehler für jede Instanz von inkompatiblem Code. Eine Fehlermeldung wird im folgenden Format generiert:

    [file name] ([line number]) : [error message] '[symbol]_IPV6INCOMPATIBLE'

    Zum Beispiel:

    sample.c(8) : error C2065: 'gethostbyaddr_IPV6INCOMPATIBLE' : undeclared identifier