Verwenden des Hilfsprogramms Checkv4.exe

Das Hilfsprogramm Checkv4.exe soll Ihnen einen Partner beim Codeportieren zur Verfügung stellen: ein Hilfsprogramm, das die Quellcodebasis mit Ihnen zusammen durchgeht, potenzielle Probleme identifiziert oder Code hervorhebt, der von IPv6-fähigen Funktionen oder Strukturen profitieren könnte, und das Empfehlungen gibt. Das Hilfsprogramm Checkv4.exe erleichtert die Aufgabe, eine vorhandene IPv4-Anwendung so zu ändern, dass IPv6 unterstützt wird.

Das Hilfsprogramm Checkv4.exe wird als Bestandteil des zum Lieferumfang von Windows Vista und höher gehörigen Microsoft Windows Software Development Kit (SDK) installiert. Das Windows SDK ist über ein MSDN-Abonnement verfügbar und kann auch von der Microsoft-Website (http://msdn.microsoft.com) heruntergeladen werden.

Eine frühere Version des Tools Checkv4.exe ist auch hier im Web als separater Download verfügbar. Beachten Sie, dass es sich bei dieser separat herunterzuladenden Version um eine frühere Version mit beschränkten Funktionen aus dem Microsoft IPv6 Technology Preview für Windows 2000 handelt.

In den folgenden Abschnitten wird beschrieben, wie das Hilfsprogramm Checkv4.exe verwendet wird. Dann wird die empfohlene Vorgehensweise zum Ändern einer vorhandenen IPv4-Anwendung zur Unterstützung von IPv6 erklärt.

Empfehlungen zum Ausführen von Checkv4.exe

  • Das Hilfsprogramm Checkv4.exe ist einfach. Sie führen Checkv4.exe einfach in der Befehlszeile aus und geben den Namen der Datei, die Sie überprüfen möchten, als Parameter an. Checkv4.exe analysiert die Datei, und gibt Ihnen Rückmeldungen dazu, wo in dieser Datei IPv6-Portierungsprobleme vorhanden sind. Wenn Sie das Hilfsprogramm Checkv4.exe in die Pfadangabe des Computers einfügen, können Sie das Hilfsprogramm Checkv4.exe viel einfacher von beliebigen Positionen innerhalb der Quellcodeverzeichnisstruktur ausführen. Wenn z. B. Checkv4.exe in %windir% eingefügt wird, können Sie Checkv4.exe von jedem Verzeichnis auf dem Computer aus starten, ohne seinen Pfad anzugeben.

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

    Checkv4 simplec.c

    Beachten Sie, dass einige der Empfehlungen, die vom Hilfsprogramm Checkv4.exe unterbreitet werden, Strukturen erfordern, die nur in neuesten Versionen der Headerdatei Ws2tcpip.h verfügbar sind, z. B. 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 früher erschienenen Platform Software Development Kit (SDK) enthalten, das für Windows Server 2003 und höher veröffentlicht wurde. Diese Headerdateien sind auch als Teil eines MSDN-Abonnements oder als Download verfügbar.

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

    Checkv4.exe weist auf IPv6-Inkompatibilitäten in der Datei Simplec.c hin

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

    Checkv4.exe weist auf IPv6-Inkompatibilitäten in der Datei Simples.c hin

Der Anwendungänderungsprozess: Ausgangspunkt

Es gibt eine empfohlene Vorgehensweise in Verbindung mit dem Hinzufügen von IPv6-Funktionen zu Anwendungen. Das Befolgen dieser Schrittfolge ist nützlich, da Entwicklern damit sicherstellen können, dass alle Schritte, die erforderlich sind, um eine vorhandene IPv4-Anwendung so zu ändern, dass sie IPv6 unterstützt, ausgeführt werden. Bestimmte Anwendungen erfordern möglicherweise, dass einem dieser Schritte mehr Beachtung geschenkt wird; z. B. würde ein Systemdienst wahrscheinlich weniger Benutzeroberflächenprobleme aufwerfen als ein grafisches Dateiübertragungsprogramm (FTP).

ms740624.wedge(de-de,VS.85).gifSo ändern Sie IPv4-Anwendungen, sodass sie IPv6 unterstützen

  1. Korrigieren Sie die Strukturen und Deklarationen, um IPv6- und IPv4-Kompatibilität zu ermöglichen.
  2. Ändern Sie Funktionsaufrufe, um IPv6-aktivierte Funktionen zu nutzen, z. B. die getaddrinfo-Funktion und die getnameinfo-Funktion.
  3. Überprüfen Sie den Code auf die Verwendung hartcodierter IPv4-Adressen, z. B. die Loopbackadresse, oder die Verwendung anderer Literalzeichenfolgen.
  4. Führen Sie eine gründliche Prüfung der Benutzeroberfläche durch, einschließlich Informationsdialogfelder. Überlegen Sie, ob es für IPv6-aktivierte Anwendungen angemessen ist, auf IP-Adressen basierende Informationen anzugeben oder bereitzustellen.
  5. Bestimmen Sie, ob die Anwendung zugrunde liegende Protokolle benötigt, z. B. RPC, und nehmen Sie entsprechende Änderungen
  6. Verwenden Sie das Compiler-Flag IPV6STRICT, wenn Sie Anwendungen unter Windows XP und höher kompilieren. Dieses Flag bewirkt, dass nicht kompatibler Code nicht kompiliert wird:

    Windows Sockets 1.x-Anwendungen mit nicht kompatiblem Code werden nicht kompiliert und geben die Fehlermeldung "WINSOCK2 erforderlich" zurück.

    Windows Sockets 2.x-Anwendungen mit nicht kompatiblem Code verursachen einen Kompilierungsfehler für jede Instanz des nicht kompatiblen Codes. Es wird eine Fehlermeldung im folgenden Format generiert:

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

    Beispiele:

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

 

 

Anzeigen:
© 2014 Microsoft