OSVERSIONINFO

オペレーティングシステムのバージョン情報が格納されます。この構造体は GetVersionEx 関数で使用されます。

typedef struct _OSVERSIONINFO {
    DWORD  dwOSVersionInfoSize;  // 構造体サイズ(=148)
    DWORD  dwMajorVersion;       // メジャーバージョン番号
    DWORD  dwMinorVersion;       // マイナーバージョン番号
    DWORD  dwBuildNumber;        // ビルドナンバー
    DWORD  dwPlatformId;         // プラットフォームID
    TCHAR  szCSDVersion[128];    // 追加情報
} OSVERSIONINFO, *POSVERSIONINFO, *LPOSVERSIONINFO;

メンバ

dwOSVersionInfoSize

構造体のサイズを指定します。 ANSI 版では 148 を指定します。

dwMajorVersion

オペレーティングシステムのメジャーバージョン番号が格納されます。オペレーティングシステムのメジャーバージョン番号は以下のようになります。

オペレーティングシステム メジャーバージョン番号
Windows 95 / 98 / Me 4
Windows NT 3.51 3
Windows NT 4.0 4
Windows 2000 / XP / Server 2003 5
dwMinorVersion

オペレーティングシステムのマイナーバージョン番号が格納されます。オペレーティングシステムのマイナーバージョン番号は以下のようになります。

オペレーティングシステム マイナーバージョン番号
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
dwBuildNumber

Windows NT/2000/XP: オペレーティングシステムのビルドナンバーが格納されます。

Windows 95/98/Me: 下位ワードにはオペレーティングシステムのビルドナンバーが格納されます。上位ワードにはメジャーバージョン・マイナーバージョンが格納されます。

dwPlatformId

システムのプラットフォームを識別する値が格納されます。次のいずれかの値になります。

意味
0 (VER_PLATFORM_WIN32s) Windows 3.1 上で実行する Win32s
1 (VER_PLATFORM_WIN32_WINDOWS) Windows 9x ベースの Win32
2 (VER_PLATFORM_WIN32_NT) Windows NT ベースの Win32
szCSDVersion

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 以降

変数との対応 (ANSI 版の場合)

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