オペレーティングシステムのバージョン情報が格納されます。この構造体はGetVersionEx関数で使用されます。
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 information } OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
OSVERSIONINFO構造体のサイズを指定します。ANSI版では148になります。
オペレーティングシステムのメジャーバージョン番号が格納されます。オペレーティングシステムのメジャーバージョン番号は以下のようになります。
オペレーティングシステム | メジャーバージョン番号 |
---|---|
Windows 95 / 98 / Me | 4 |
Windows NT 3.51 | 3 |
Windows NT 4.0 | 4 |
Windows 2000 / XP / Server 2003 | 5 |
Windows Vista / Server 2008 | 6 |
オペレーティングシステムのマイナーバージョン番号が格納されます。オペレーティングシステムのマイナーバージョン番号は以下のようになります。
オペレーティングシステム | マイナーバージョン番号 |
---|---|
Windows 95 | 0 |
Windows 98 | 10 |
Windows Me | 90 |
Windows NT 3.51 | 51 |
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 |
オペレーティングシステムのビルドナンバーが格納されます。
Windows 95/98/Me: 下位ワードにはオペレーティングシステムのビルドナンバーが格納されます。上位ワードにはメジャーバージョン番号およびマイナーバージョン番号が格納されます。
オペレーティングシステムのプラットフォームを識別する値が格納されます。次のいずれかの値になります。
値 | 意味 |
---|---|
0 (VER_PLATFORM_WIN32s) | Windows 3.1上で実行するWin32s |
1 (VER_PLATFORM_WIN32_WINDOWS) | Windows 9xベースのWin32 |
2 (VER_PLATFORM_WIN32_NT) | Windows NTベースのWin32 |
サービスパックがインストールされている場合は、その情報を示す文字列が格納されます(例:“Service Pack 3”)。それ以外の場合は空文字列になります。
Windows 95/98/Me: オペレーティングシステムの追加バージョン情報を示す文字列が格納されます。例えば、Windows 95 OSR2では" C"が、Windows 98 Second Editionでは" A"が格納されます。
32ビットWindowsオペレーティングシステムの分類は以下のようになります。
プラットフォームID | Major | Minor | バージョンテキスト | オペレーティングシステム |
---|---|---|---|---|
VER_PLATFORM_WIN32_NT | 3 | - | - | Windows NT 3.x |
4 | 0 | - | Windows NT 4.0 | |
5 | 0 | - | Windows 2000 | |
1 | - | Windows XP | ||
2 | - | Windows Server 2003 または Windows Server 2003 R2 | ||
6 | 0 | - | Windows Vista または Windows Server 2008 | |
VER_PLATFORM_WIN32_WINDOWS | 4 | 0 | - | Windows 95 |
" B" or " C" | Windows 95 OSR2 | |||
10 | - | Windows 98 | ||
" A" | Windows 98 SE | |||
90 | - | Windows Me |
Windows 95 以降 / Windows NT 3.5 以降
HSP 変数 | メンバ | ||
---|---|---|---|
メンバ名 | オフセット | サイズ | |
osver(0) | dwOSVersionInfoSize ( = 148 ) | 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) |