オペレーティングシステムのバージョン情報が格納されます。この構造体はGetVersionEx関数およびVerifyVersionInfo関数で使用されます。
typedef struct _OSVERSIONINFO { DWORD dwOSVersionInfoSize; // structure size DWORD dwMajorVersion; // major version DWORD dwMinorVersion; // minor version DWORD dwBuildNumber; // build number DWORD dwPlatformId; // platform ID TCHAR szCSDVersion[128]; // additional string WORD wServicePackMajor; // SP major version WORD wServicePackMinor; // SP minor version WORD wSuiteMask; // product suites BYTE wProductType; // additional information BYTE wReserved; // reserved } OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;
OSVERSIONINFOEX構造体のサイズを指定します。ANSI版では156になります。
オペレーティングシステムのメジャーバージョン番号が格納されます。オペレーティングシステムのメジャーバージョン番号は以下のようになります。
オペレーティングシステム | メジャーバージョン番号 |
---|---|
Windows NT 4.0 | 4 |
Windows 2000 / XP / Server 2003 / Server 2003 R2 | 5 |
Windows Vista / Server 2008 | 6 |
オペレーティングシステムのマイナーバージョン番号が格納されます。オペレーティングシステムのマイナーバージョン番号は以下のようになります。
オペレーティングシステム | マイナーバージョン番号 |
---|---|
Windows NT 4.0 | 0 |
Windows 2000 | 0 |
Windows XP | 1 |
Windows Server 2003 | 2 |
Windows Server 2003 R2 | 2 |
Windows Server XP Professional x64 Edition | 2 |
Windows Server Vista | 0 |
Windows Server 2008 | 0 |
オペレーティングシステムのビルド番号が格納されます。
オペレーティングシステムのプラットフォームを識別する値が格納されます。この構造体では2 (VER_PLATFORM_WIN32_NT) になります。
サービスパックがインストールされている場合は、その情報を示す文字列が格納されます(例:“Service Pack 3”)。それ以外の場合は空文字列になります。
システムにインストールされている最新のサービスパックのメジャーバージョン番号が格納されます。サービスパックがインストールされていない場合は0になります。
システムにインストールされている最新のサービスパックのマイナーバージョン番号が格納されます。
システムで利用可能な製品スイートを表すビットマスクが格納されます。以下の値の組み合わせで指定されます。
Microsoft Small Business Serverがインストールされています。または、かつてインストーすれさていましたが、別のバージョンのWindowsにアップグレードされている可能性があります。
Windows NT 4.0 Enterprise Edition、Windows 2000 Advanced Server、Windows Server 2003 Enterprise Edition、Windows Server 2008 Enterpriseのいずれかがインストールされています。
Microsoft BackOfficeコンポーネントがインストールされています。
ターミナルサービスがインストールされています。
VER_SUITE_TERMINALがセットされていて、かつ、VER_SUITE_SINGLEUSERTSがセットされていない場合には、システムはアプリケーションサーバモードで動作しています。
Microsoft Small Business Serverが制限クライアントライセンスでインストールされています。
Windows XP Embeddedがインストールされています。
Windows 2000 Datacenter Server、Windows Server 2003 Datacenter Edition、Windows Server 2008 Datacenterのいずれかがインストールされています。
リモートデスクトップがサポートされていますが、1つの対話型セッションのみがサポートされています。この値はシステムがアプリケーションサーバモードで動作していない場合にはセットされません。
Windows XP Home Edition、Windows Vista Home Basic、Windows Vista Home Premiumのいずれかがインストールされています。
Windows Server 2003 Web Editionがインストールされています。
Windows Storage Server 2003またはWindows Storage Server 2003 R2がインストールされています。
Windows Server 2003 Compute Cluster Editionがインストールされています。
Windows Home Serverがインストールされています。
システムに関する追加情報が格納されます。以下の値のいずれかになります。
システムはWindows NT 4.0 Workstation、Windows 2000 Professional、Windows XP Home Edition、Windows XP Professional、Windows Vistaのいずれかを実行しています。
システムはドメインコントローラです。
システムはサーバです。
ドメインコントローラでもあるサーバは、VER_NT_SERVERではなくVER_NT_DOMAIN_CONTROLLERとして報告されます。
将来の使用のために予約されています。
Windows NT 4.0 SP6 以降
HSP変数 | メンバ | |||
---|---|---|---|---|
メンバ名 | オフセット | サイズ | ||
osver(0) | dwOSVersionInfoSize ( = 156 ) | 0 | 4 | |
osver(1) | dwMajorVersion | 4 | 4 | |
osver(2) | dwMinorVersion | 8 | 4 | |
osver(3) | dwBuildNumber | 12 | 4 | |
osver(4) | dwPlatformId | 16 | 4 | |
osver(5) | szCSDVersion | 20 | 128 | |
… | ||||
osver(36) | ||||
osver(37) | 下位ワード | wServicePackMajor | 148 | 2 |
上位ワード | wServicePackMinor | 150 | 2 | |
osver(38) | 1バイト目 | wSuiteMask | 152 | 2 |
2バイト目 | ||||
3バイト目 | wProductType | 154 | 1 | |
4バイト目 | wReserved | 155 | 1 |