Usando o utilitário Checkv4.exe

Importante

O utilitário Checkv4.exe não é fornecido no SDK (Software Development Kit) do Windows para o Windows 8, nem em versões posteriores do SDK do Windows.

O utilitário Checkv4.exe foi projetado para dar a você um parceiro de portabilidade de código; um utilitário que percorre sua base de código com você, identifica possíveis problemas ou destaca o código que pode se beneficiar de funções ou estruturas compatíveis com o IPv6 e faz recomendações. Com o utilitário Checkv4.exe, a tarefa de modificar um aplicativo IPv4 existente para ser compatível com o IPv6 se torna muito mais fácil.

O utilitário Checkv4.exe é instalado como parte do Microsoft Windows Software Development Kit (SDK) lançado para o Windows Vista e SDKs posteriores (até, mas não incluindo, o Windows Software Development Kit (SDK) para o Windows 8).

Uma versão anterior do utilitário Checkv4.exe com recursos mais limitados também foi disponibilizada como parte do Microsoft IPv6 Technology Preview para o Windows 2000.

As seções a seguir descrevem como usar o utilitário Checkv4.exe e, depois, explicam a abordagem recomendada para modificar um aplicativo IPv4 existente para oferecer suporte ao IPv6.

Recomendações para executar o Checkv4.exe

  • O utilitário Checkv4.exe é direto. Basta executar Checkv4.exe na linha de comando com o nome do arquivo que você quer verificar como parâmetro. Checkv4.exe analisa o arquivo e faz comentários sobre onde existem problemas de portabilidade IPv6 nesse arquivo. Colocar o Checkv4.exe no caminho do computador facilita bastante a execução do utilitário Checkv4.exe de qualquer lugar na estrutura de diretórios do código-fonte. Por exemplo, colocar Checkv4.exe em %windir% enables you to launch Checkv4.exe de qualquer diretório em seu computador sem incluir seu caminho.

  • Emita o seguinte comando no prompt de comando para analisar o arquivo Simplec.c:

    Checkv4 simplec.c

    Observe que algumas das recomendações feitas pelo utilitário Checkv4.exe exigem estruturas disponíveis apenas em versões recentes do arquivo de cabeçalho Ws2tcpip.h, como a estrutura SOCKADDR_IN6. Esses arquivos de cabeçalho estão incluídos no SDK do Windows lançado para Windows Vista e superior. Esses arquivos de cabeçalho também estão no SDK (Platform Software Development Kit) anterior lançado para o Windows Server 2003.

    A captura de tela a seguir exibe os resultados do uso do utilitário Checkv4.exe no arquivo Simplec.c incluído no Apêndice A:

    O checkv4.exe relata incompatibilidades IPv6 no arquivo simplec.c

    A captura de tela a seguir exibe os resultados do uso do utilitário Checkv4.exe no arquivo Simples.c, que também está incluído no Apêndice A:

    O checkv4.exe relata incompatibilidades IPv6 no arquivo simples.c

O processo de modificação de aplicativos: por onde começar

Há um procedimento recomendado associado a adicionar o recurso IPv6 aos aplicativos. Seguir essa sequência é bom porque permite que os desenvolvedores garantam a execução de todas as etapas necessárias para modificar um aplicativo IPv4 existente para dar suporte ao IPv6. Certos aplicativos podem exigir mais atenção a uma dessas sequências. Por exemplo, um serviço do sistema provavelmente teria menos problemas de interface do usuário do que um programa FTP (transferência de arquivos gráficos).

Modificar aplicativos IPv4 para dar suporte a IPv6

  1. Corrija as estruturas e declarações para habilitar a compatibilidade com IPv6 e IPv4.

  2. Modifique as chamadas de função para aproveitar as funções habilitadas para IPv6, como as funções getaddrinfo e getnameinfo.

  3. Revise o código-fonte para o uso de endereços IPv4 integrados em código, como o endereço de loopback ou o uso de outras cadeias de caracteres literais.

  4. Revise completamente a interface do usuário, incluindo caixas de diálogo informativas. Pense se é apropriado que aplicativos habilitados para IPv6 especifiquem ou forneçam informações com base em endereço IP.

  5. Determine se seu aplicativo depende de protocolos subjacentes, como RPC, e faça as mudanças programáticas apropriadas para lidar com endereços IPv6.

  6. Use o sinalizador de tempo de compilação IPV6STRICT para compilar aplicativos no Windows XP e posterior. Esse sinalizador resulta em falha na compilação de código incompatível, assim:

    Os aplicativos do Windows Sockets 1.x com código incompatível não são compilados e retornam a mensagem de erro "WINSOCK2 obrigatório".

    Os aplicativos Windows Sockets 2.x com código incompatível causam um erro de tempo de compilação para cada instância incompatível de código. É gerada uma mensagem de erro neste formato:

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

    Por exemplo:

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