このガイドでは、Microsoft Windows アプリケーションで次世代のインターネット プロトコル バージョン 6 (IPv6) を使用できるようにするために必要な情報を提供します。 IPv6 機能をアプリケーションに追加することは、必ずしも移植プロセスであるとは限りません。 アプリケーションを移植するには、別のプラットフォームで動作するようにコードを変更することを提案します。これは、以前のプラットフォームを置き去りにすることを意味します。 このガイドは、IPv4 機能を保持しながら、アプリケーションに IPv6 機能を追加できるように特別に構成されています。
このガイドでは、IPv6 機能の追加に関連する問題について説明し、移行の影響を最も受ける開発領域を対象としています。 各領域には、注意が必要な落とし穴、それらを回避するための戦略、およびプログラム要素 (関数と構造体) を 新しい Windows ソケット 2 を最大限に活用する方法に関するヒントが含まれています。 IPv6 の詳細については、「IPv6 サポート」を参照してください。
また、このガイドでは、アプリケーションを変更するときに発生する可能性のある問題の実践的なエクスペリエンスと視覚的表現を提供するコード例も示します。 これらの例は、IPv4 と IPv6 の両方をサポートするように変更された単純な Windows ソケット アプリケーションの完全な動作例から来ています。 これらの作業例のソース コードは、このドキュメントの最後の 2 つの付録に含まれています。付録 A: IPv4 専用ソース コード には、IPv6 をサポートするように変更する前にアプリケーションのソース コードが含まれています。付録 B: IP バージョンに依存しないソース コード は、アプリケーションが IPv6 対応になった後にソース コードを提供します。
Microsoft では、アプリケーション コード内で移植に影響を受ける可能性のあるコードを見つけるのに役立つ、Checkv4.exe と呼ばれるユーティリティを提供し、修正に関する推奨事項も作成します。 Checkv4.exe ユーティリティは、付録に含まれているサンプル アプリケーションと、Checkv4.exe ユーティリティが生成する出力を表示するスクリーン ショットを使用して、このドキュメントで説明します。 詳細については、「Checkv4.exe ユーティリティ の使用」を参照してください。
このガイドで扱うプログラミング領域は次のとおりです。
- IPv6 Winsock アプリケーションのデータ構造の変更
- IPv6 Winsock アプリケーションの 関数呼び出し
- ハードコーディングされた IPv4 アドレスの使用 の
- IPv6 Winsock アプリケーションの ユーザー インターフェイスの問題
- IPv6 Winsock アプリケーションの基になるプロトコルの
- IPv6 Winsock アプリケーションの Dual-Stack ソケット
イベントのシーケンスが統一されていないため、IPv6 対応の問題に対処するセクションは順番に重要な方法で配置されないため、任意のセクションをいつでも参照できます。 IPv6 機能をアプリケーションに追加するときは、各セクションを確認することを強くお勧めします。 また、Checkv4.exe ユーティリティについては、IPv6 対応の問題に対処する順序に関するヒントが含まれているので、読み取ることもお勧めします。
Checkv4.exe ユーティリティを確認し、アプリケーションの移植プロセスに近づく順序を確認するには、「Checkv4.exe ユーティリティ を使用するを参照してください。 このセクションには、IPv6 と互換性のないプログラミング要素を厳密にチェックするコンパイル時フラグに関する情報が含まれています。
サンプル アプリケーションに直接進むには、「付録 A: IPv4 専用ソース コード 」と 「付録 B: IP バージョンに依存しないソース コード」を参照してください。
関連トピック
-
Checkv4.exe ユーティリティ を使用した