Uso dell'utilità Checkv4.exe

Importante

L'utilità Checkv4.exe non è disponibile in Windows Software Development Kit (SDK) per Windows 8, né nelle versioni successive di Windows SDK.

L'utilità Checkv4.exe è progettata per offrire un partner di conversione del codice, un'utilità che esegue il codice di base, identifica i potenziali problemi o evidenzia il codice che può trarre vantaggio da funzioni o strutture con supporto per IPv6 e fornisce raccomandazioni. Con l'utilità Checkv4.exe, l'attività di modifica di un'applicazione IPv4 esistente per supportare IPv6 diventa molto più semplice.

L'utilità Checkv4.exe viene installata come parte di Microsoft Windows Software Development Kit (SDK) rilasciata per Windows Vista e sdk successivi (fino a, ma non inclusi, Windows Software Development Kit (SDK) per Windows 8.

Una versione precedente dell'utilità Checkv4.exe con funzionalità più limitate è stata resa disponibile anche come parte della precedente Microsoft IPv6 Technology Preview per Windows 2000.

Le sezioni seguenti descrivono come usare l'utilità Checkv4.exe , quindi illustrano l'approccio consigliato per modificare un'applicazione IPv4 esistente per supportare IPv6.

Raccomandazioni per l'esecuzione di Checkv4.exe

  • L'utilità Checkv4.exe è semplice. È sufficiente eseguire Checkv4.exe dalla riga di comando con il nome del file da controllare come parametro. Checkv4.exe analizza il file e fornisce commenti e suggerimenti sulla posizione in cui sono presenti problemi di conversione IPv6 in tale file. Posizionare il Checkv4.exe nel percorso del computer rende molto più semplice l'esecuzione dell'utilità Checkv4.exe da qualsiasi posizione nella struttura della directory del codice sorgente. Ad esempio, l'inserimento di Checkv4.exe in %windir% consente di avviare Checkv4.exe da qualsiasi directory del computer senza includerne il percorso.

  • Eseguire il comando seguente al prompt dei comandi per analizzare il file Simplec.c:

    Checkv4 simplec.c

    Si noti che alcune delle raccomandazioni apportate dall'utilità Checkv4.exe richiedono strutture disponibili solo nelle versioni recenti del file di intestazione Ws2tcpip.h, ad esempio la struttura SOCKADDR_IN6. Questi file di intestazione sono inclusi in Windows SDK rilasciato per Windows Vista e versioni successive. Questi file di intestazione sono inclusi anche nelle versioni precedenti di Platform Software Development Kit (SDK) rilasciate per Windows Server 2003.

    La schermata seguente mostra i risultati dell'uso dell'utilità Checkv4.exe nel file Simplec.c incluso nell'Appendice A:

    checkv4.exe segnala incompatibilità ipv6 nel file simplec.c

    La schermata seguente mostra i risultati dell'uso dell'utilità Checkv4.exe nel file Simples.c, incluso anche nell'Appendice A:

    checkv4.exe segnala incompatibilità ipv6 nel file simples.c

Processo di modifica dell'applicazione: da dove iniziare

È disponibile una procedura consigliata associata all'aggiunta di funzionalità IPv6 alle applicazioni. Seguendo questa sequenza è utile, perché consente agli sviluppatori di assicurarsi che vengano eseguiti tutti i passaggi necessari per modificare un'applicazione IPv4 esistente per supportare IPv6. Alcune applicazioni possono richiedere maggiore attenzione a una di queste sequenze; Ad esempio, un servizio di sistema probabilmente avrà meno problemi di interfaccia utente rispetto a un programma di trasferimento file grafico (FTP).

Per modificare le applicazioni IPv4 per supportare IPv6

  1. Correggere strutture e dichiarazioni per abilitare la compatibilità IPv6 e IPv4.

  2. Modificare le chiamate di funzione per sfruttare i vantaggi delle funzioni abilitate per IPv6, ad esempio le funzioni getaddrinfo e getnameinfo.

  3. Esaminare il codice sorgente per l'uso di indirizzi IPv4 hardcoded, ad esempio l'indirizzo di loopback o l'uso di altre stringhe letterali.

  4. Eseguire una revisione approfondita dell'interfaccia utente, incluse le finestre di dialogo informative. Valutare se è appropriato per le applicazioni abilitate per IPv6 specificare o fornire informazioni basate sull'indirizzo IP.

  5. Determinare se l'applicazione si basa su protocolli sottostanti, ad esempio RPC, e apportare modifiche a livello di codice appropriate per gestire gli indirizzi IPv6.

  6. Usare il flag in fase di compilazione IPV6STRICT durante la compilazione di applicazioni in Windows XP e versioni successive. Questo flag genera un errore di compilazione del codice incompatibile, come indicato di seguito:

    Le applicazioni Windows Sockets 1.x con codice incompatibile non riescono a compilare e restituire il messaggio di errore "WINSOCK2 Obbligatorio".

    Le applicazioni Windows Sockets 2.x con codice incompatibile causano un errore di fase di compilazione per ogni istanza di codice incompatibile. Viene generato un messaggio di errore nel formato seguente:

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

    Ad esempio:

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