オペレーティングシステムのバージョン情報が格納されます。この構造体は GetVersionEx 関数で使用されます。
typedef struct _OSVERSIONINFO { DWORD dwOSVersionInfoSize; // 構造体サイズ(=148) DWORD dwMajorVersion; // メジャーバージョン番号 DWORD dwMinorVersion; // マイナーバージョン番号 DWORD dwBuildNumber; // ビルドナンバー DWORD dwPlatformId; // プラットフォームID TCHAR szCSDVersion[128]; // 追加情報 } OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;
構造体のサイズを指定します。 ANSI 版では 148 を指定します。
オペレーティングシステムのメジャーバージョン番号が格納されます。オペレーティングシステムのメジャーバージョン番号は以下のようになります。
オペレーティングシステム | メジャーバージョン番号 |
---|---|
Windows 95 / 98 / Me | 4 |
Windows NT 3.51 | 3 |
Windows NT 4.0 | 4 |
Windows 2000 / XP / Server 2003 | 5 |
オペレーティングシステムのマイナーバージョン番号が格納されます。オペレーティングシステムのマイナーバージョン番号は以下のようになります。
オペレーティングシステム | マイナーバージョン番号 |
---|---|
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 NT/2000/XP: オペレーティングシステムのビルドナンバーが格納されます。
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 |
Windows NT/2000/XP: サービスパックがインストールされている場合は、その情報を示す文字列が格納されます(例:“Service Pack 3”)。それ以外の場合は空文字列になります。
Windows 95/98/Me: オペレーティングシステムの追加バージョン情報を示す文字列が格納されます。例えば、 Windows 95 OSR 2 では " C" が、 Windows 98 Second Edition では " A" が格納されます。
オペレーティングシステムの分類は以下のようになります。
プラットフォーム ID | Major | Minor | バージョンテキスト | オペレーティングシステム |
---|---|---|---|---|
VER_PLATFORM_WIN32_NT | 3 | - | - | Windows 3.x |
4 | 0 | - | Windows 4.0 | |
5 | 0 | - | Windows 2000 | |
1 | - | Windows XP | ||
2 | - | Windows Server 2003 | ||
VER_PLATFORM_WIN32_WINDOWS | 4 | 0 | - | Windows 95 |
" B" または " 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 |