Utilisation de l’utilitaire Checkv4.exe
Important
L’utilitaire Checkv4.exe n’est pas inclus dans le Kit de développement logiciel (SDK) pour Windows 8, ni dans les versions ultérieures du SDK Windows.
L’utilitaire Checkv4.exe est conçu pour vous fournir un partenaire de portage de code ; un utilitaire qui parcourt votre base de code avec vous, identifie les problèmes potentiels ou met en évidence le code qui pourrait bénéficier de fonctions ou de structures compatibles IPv6, et fait des recommandations. Avec l’utilitaire Checkv4.exe, la tâche de modification d’une application IPv4 existante pour prendre en charge l’IPv6 devient beaucoup plus facile.
L’utilitaire Checkv4.exe est installé dans le cadre du Kit de développement logiciel (SDK) Microsoft Windows publié pour Windows Vista et les SDK ultérieurs (jusqu’à, mais excluant, le Kit de développement logiciel (SDK) pour Windows 8).
Une version antérieure de l’utilitaire Checkv4.exe avec des fonctionnalités plus limitées était également disponible dans le cadre de l’aperçu technologique IPv6 de Microsoft pour Windows 2000.
Les sections suivantes décrivent comment utiliser l’utilitaire Checkv4.exe, puis expliquent l’approche recommandée pour modifier une application IPv4 existante afin de prendre en charge l’IPv6.
Recommandations pour l’exécution de Checkv4.exe
L’utilitaire Checkv4.exe est simple d’utilisation. Exécutez simplement Checkv4.exe en ligne de commande avec le nom du fichier que vous souhaitez vérifier en tant que paramètre. Checkv4.exe analyse le fichier et fournit des commentaires sur les problèmes de portage IPv6 présents dans ce fichier. Placer le Checkv4.exe dans le chemin de votre ordinateur facilite grandement l’exécution de l’utilitaire Checkv4.exe depuis n’importe où dans votre structure de répertoire de code source. Par exemple, placer Checkv4.exe dans %windir% vous permet de lancer Checkv4.exe depuis n’importe quel répertoire sur votre ordinateur sans inclure son chemin.
Émettez la commande suivante à l’invite de commande pour analyser le fichier Simplec.c :
Checkv4 simplec.c
Notez que certaines des recommandations faites par l’utilitaire Checkv4.exe nécessitent des structures disponibles uniquement dans les versions récentes du fichier d’en-tête Ws2tcpip.h, telles que la structure SOCKADDR_IN6. Ces fichiers d’en-tête sont inclus dans le SDK Windows publié pour Windows Vista et les versions ultérieures. Ces fichiers d’en-tête sont également inclus dans le Kit de développement logiciel (SDK) pour plateforme publié pour Windows Server 2003.
La capture d’écran suivante affiche les résultats de l’utilisation de l’utilitaire Checkv4.exe sur le fichier Simplec.c inclus en Annexe A :
La capture d’écran suivante affiche les résultats de l’utilisation de l’utilitaire Checkv4.exe sur le fichier Simples.c, qui est également inclus en Annexe A :
Le processus de modification d’application : par où commencer
Il existe une procédure recommandée pour ajouter la capacité IPv6 aux applications. Suivre cette séquence est bénéfique, car cela permet aux développeurs de s’assurer que toutes les étapes nécessaires pour modifier une application IPv4 existante afin de prendre en charge l’IPv6 sont suivies. Certaines applications peuvent nécessiter une attention plus approfondie à l’une de ces séquences ; par exemple, un service système aurait probablement moins de problèmes d’interface utilisateur qu’un programme de transfert de fichiers graphique (FTP).
Pour modifier les applications IPv4 afin de prendre en charge l’IPv6
Corrigez les structures et les déclarations pour permettre la compatibilité IPv6 et IPv4.
Modifiez les appels de fonction pour tirer parti des fonctions compatibles IPv6, telles que les fonctions getaddrinfo et getnameinfo.
Examinez le code source pour l’utilisation d’adresses IPv4 codées en dur, telles que l’adresse de loopback, ou l’utilisation d’autres chaînes littérales.
Effectuez un examen approfondi de l’interface utilisateur, y compris des boîtes de dialogue informatives. Réfléchissez à l’opportunité pour les applications compatibles IPv6 de spécifier ou de fournir des informations basées sur l’adresse IP.
Déterminez si votre application dépend de protocoles sous-jacents, tels que RPC, et apportez les modifications programmatiques appropriées pour gérer les adresses IPv6.
Utilisez l’indicateur de compilation IPV6STRICT lors de la compilation d’applications sur Windows XP et les versions ultérieures. Cet indicateur entraîne l’échec de la compilation du code incompatible, comme suit :
Les applications Windows Sockets 1.x avec un code incompatible échouent à la compilation et renvoient le message d’erreur « WINSOCK2 Required. »
Les applications Windows Sockets 2.x avec un code incompatible provoquent une erreur de compilation pour chaque instance de code incompatible. Un message d’erreur est généré dans le format suivant :
[file name] ([line number]) : [error message] '[symbol]_IPV6INCOMPATIBLE'
Par exemple :
sample.c(8) : error C2065: 'gethostbyaddr_IPV6INCOMPATIBLE' : undeclared identifier