MSDN は通常、Windows XP のみを「サポートされる最小限のクライアント」としてリストしています。これは、おそらく Windows 2000 以前がライフサイクルの終わりに達したためです。しかし、一部のユーザーは Windows 2000 マシンで当社のソフトウェアを使用しており、回避できるのであれば、この互換性を壊したくありません。Windows API 関数が Windows 2000 で使用できないかどうかを調べることはできますか (そのシステムで各関数をテストする必要はありません)。
5 に答える
「Windows Server 2003 R2 用のプラットフォーム SDK」のヘルプには、Windows 95 および Windows NT 3.1 にさかのぼるプラットフォーム情報が含まれています。最近ダウンロードしましたが、現在 microsoft.com で見つけることができません。それが一時的な不具合なのか、完全になくなったのかはわかりません。
Windows Server 2003 SP1 Platform SDKのヘルプはおそらく似ていますが、私は見ていません。
理論的には#define NTDDI_VERSION NTDDI_WIN2K
、新しい API に依存している場合、プログラムはコンパイルに失敗する可能性がありますが、残念ながらこれが常に機能するとは限りません。
残念ながら、Microsoft は、最新の MSDN の「サポートされている OS」リストから、XP より前のものへの参照を削除しました。MSDN の古いコピーをまだ持っている場合 (私は MSDN6a を持っています)、Windows 9x に戻って真の「サポートされているクライアント」をリストします。
Win 2000 システムでDependency Walkerを使用してバイナリを開くと、不足している機能が赤で表示されます。もちろん、それらに静的にリンクしていれば、おそらくこれで十分かもしれません - 少なくとも初心者にとってはシンプルで簡単で効率的です。
MSDN は通常、古い OS についても言及しています。参照: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724211%28v=vs.85%29.aspx
Windows 2000 について言及されていない場合は、テストする必要がありますが、入手できない可能性が高いです。古いコンパイラ (Visual Studio 6 など) を使用して、ライブラリで機能が利用可能かどうかを確認できます。その機能があれば、Windows 2000 にもあるはずです。