Uso de la utilidad Checkv4.exe
Importante
La utilidad Checkv4.exe no se incluye en el Kit de desarrollo de software (SDK) de Windows para Windows 8 ni en versiones posteriores de Windows SDK.
La utilidad Checkv4.exe está diseñada para proporcionarle un asociado de portabilidad de código; una utilidad que recorre la base de código con usted, identifica posibles problemas o resalta el código que podría beneficiarse de funciones o estructuras compatibles con IPv6 y realiza recomendaciones. Con la utilidad Checkv4.exe, la tarea de modificar una aplicación IPv4 existente para admitir IPv6 resulta mucho más fácil.
La utilidad Checkv4.exe se instala como parte del Kit de desarrollo de software (SDK) de Microsoft Windows publicado para Windows Vista y los SDK posteriores (hasta, pero no incluidos, el Kit de desarrollo de software (SDK) de Windows para Windows 8).
Una versión anterior de la utilidad Checkv4.exe con características más limitadas también estaba disponible como parte de la versión preliminar anterior de la tecnología IPv6 de Microsoft para Windows 2000.
En las secciones siguientes se describe cómo usar la utilidad Checkv4.exe y, a continuación, se explica el enfoque recomendado para modificar una aplicación IPv4 existente para admitir IPv6.
Recomendaciones para ejecutar Checkv4.exe
La utilidad Checkv4.exe es sencilla. Simplemente ejecute Checkv4.exe en la línea de comandos con el nombre del archivo que desea comprobar como parámetro. Checkv4.exe analiza el archivo y proporciona comentarios sobre dónde existen problemas de portabilidad de IPv6 en ese archivo. Colocar Checkv4.exe en la ruta de acceso del equipo facilita mucho la ejecución de la utilidad Checkv4.exe desde cualquier lugar de la estructura del directorio de código fuente. Por ejemplo, colocar Checkv4.exe en %windir% le permite iniciar Checkv4.exe desde cualquier directorio del equipo sin incluir su ruta de acceso.
Emita el siguiente comando en el símbolo del sistema para analizar el archivo Simplec.c:
Checkv4 simplec.c
Tenga en cuenta que algunas de las recomendaciones realizadas por la utilidad Checkv4.exe requieren estructuras disponibles solo en versiones recientes del archivo de encabezado Ws2tcpip.h, como la estructura SOCKADDR_IN6. Estos archivos de encabezado se incluyen en el SDK de Windows publicado para Windows Vista y versiones posteriores. Estos archivos de encabezado también se incluyen en el Kit de desarrollo de software de plataforma (SDK) anterior publicado para Windows Server 2003.
En la captura de pantalla siguiente se muestran los resultados del uso de la utilidad Checkv4.exe en el archivo Simplec.c incluido en el Apéndice A:
En la captura de pantalla siguiente se muestran los resultados del uso de la utilidad Checkv4.exe en el archivo Simples.c, incluido también en el Apéndice A:
Proceso de modificación de la aplicación: por dónde empezar
Hay un procedimiento recomendado asociado a la adición de la funcionalidad IPv6 a las aplicaciones. Seguir esta secuencia es beneficiosa, ya que permite a los desarrolladores asegurarse de que se toman todos los pasos necesarios para modificar una aplicación IPv4 existente para admitir IPv6. Algunas aplicaciones pueden requerir más atención a una de estas secuencias; por ejemplo, un servicio del sistema probablemente tendría menos problemas de interfaz de usuario que un programa gráfico de transferencia de archivos (FTP).
Para modificar aplicaciones IPv4 para que sean compatibles con IPv6
Corrija estructuras y declaraciones para habilitar la compatibilidad con IPv6 e IPv4.
Modifique las llamadas de función para aprovechar las funciones habilitadas para IPv6, como las funciones getaddrinfo y getnameinfo.
Revise el código fuente para el uso de direcciones IPv4 codificadas de forma rígida, como la dirección de bucle invertido, o el uso de otras cadenas literales.
Realice una revisión exhaustiva de la interfaz de usuario, incluidos los cuadros de diálogo informativos. Considere si es adecuado para que las aplicaciones habilitadas para IPv6 especifiquen o proporcionen información basada en direcciones IP.
Determine si la aplicación se basa en protocolos subyacentes, como RPC, y realice los cambios mediante programación adecuados para controlar las direcciones IPv6.
Use la marca en tiempo de compilación IPV6STRICT al compilar aplicaciones en Windows XP y versiones posteriores. Esta marca da como resultado que el código incompatible no se compile, como se indica a continuación:
Las aplicaciones de Windows Sockets 1.x con código incompatible no se compilan y devuelven el mensaje de error "WINSOCK2 requerido".
Las aplicaciones de Windows Sockets 2.x con código incompatible provocan un error en tiempo de compilación para cada instancia de código incompatible. Se genera un mensaje de error en el formato siguiente:
[file name] ([line number]) : [error message] '[symbol]_IPV6INCOMPATIBLE'
Por ejemplo:
sample.c(8) : error C2065: 'gethostbyaddr_IPV6INCOMPATIBLE' : undeclared identifier