OSVERSIONINFOEX

オペレーティングシステムのバージョン情報が格納されます。この構造体は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;

メンバ

dwOSVersionInfoSize

OSVERSIONINFOEX構造体のサイズを指定します。ANSI版では156になります。

dwMajorVersion

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

オペレーティングシステム メジャーバージョン番号
Windows NT 4.0 4
Windows 2000 / XP / Server 2003 / Server 2003 R2 5
Windows Vista / Server 2008 6
dwMinorVersion

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

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

オペレーティングシステムのビルド番号が格納されます。

dwPlatformId

オペレーティングシステムのプラットフォームを識別する値が格納されます。この構造体では2 (VER_PLATFORM_WIN32_NT) になります。

szCSDVersion

サービスパックがインストールされている場合は、その情報を示す文字列が格納されます(例:“Service Pack 3”)。それ以外の場合は空文字列になります。

wServicePackMajor

システムにインストールされている最新のサービスパックのメジャーバージョン番号が格納されます。サービスパックがインストールされていない場合は0になります。

wServicePackMinor

システムにインストールされている最新のサービスパックのマイナーバージョン番号が格納されます。

wSuiteMask

システムで利用可能な製品スイートを表すビットマスクが格納されます。以下の値の組み合わせで指定されます。

0x00000001 (VER_SUITE_SMALLBUSINESS)

Microsoft Small Business Serverがインストールされています。または、かつてインストーすれさていましたが、別のバージョンのWindowsにアップグレードされている可能性があります。

0x00000002 (VER_SUITE_ENTERPRISE)

Windows NT 4.0 Enterprise Edition、Windows 2000 Advanced Server、Windows Server 2003 Enterprise Edition、Windows Server 2008 Enterpriseのいずれかがインストールされています。

0x00000004 (VER_SUITE_BACKOFFICE)

Microsoft BackOfficeコンポーネントがインストールされています。

0x00000010 (VER_SUITE_TERMINAL)

ターミナルサービスがインストールされています。

VER_SUITE_TERMINALがセットされていて、かつ、VER_SUITE_SINGLEUSERTSがセットされていない場合には、システムはアプリケーションサーバモードで動作しています。

0x00000020 (VER_SUITE_SMALLBUSINESS_RESTRICTED)

Microsoft Small Business Serverが制限クライアントライセンスでインストールされています。

0x00000040 (VER_SUITE_EMBEDDEDNT)

Windows XP Embeddedがインストールされています。

0x00000080 (VER_SUITE_DATACENTER)

Windows 2000 Datacenter Server、Windows Server 2003 Datacenter Edition、Windows Server 2008 Datacenterのいずれかがインストールされています。

0x00000100 (VER_SUITE_SINGLEUSERTS)

リモートデスクトップがサポートされていますが、1つの対話型セッションのみがサポートされています。この値はシステムがアプリケーションサーバモードで動作していない場合にはセットされません。

0x00000200 (VER_SUITE_PERSONAL)

Windows XP Home Edition、Windows Vista Home Basic、Windows Vista Home Premiumのいずれかがインストールされています。

0x00000400 (VER_SUITE_BLADE)

Windows Server 2003 Web Editionがインストールされています。

0x00002000 (VER_SUITE_STORAGE_SERVER)

Windows Storage Server 2003またはWindows Storage Server 2003 R2がインストールされています。

0x00004000 (VER_SUITE_COMPUTE_SERVER)

Windows Server 2003 Compute Cluster Editionがインストールされています。

0x00008000 (VER_SUITE_WH_SERVER)

Windows Home Serverがインストールされています。

wProductType

システムに関する追加情報が格納されます。以下の値のいずれかになります。

0x0000001 (VER_NT_WORKSTATION)

システムはWindows NT 4.0 Workstation、Windows 2000 Professional、Windows XP Home Edition、Windows XP Professional、Windows Vistaのいずれかを実行しています。

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

システムはドメインコントローラです。

0x0000003 (VER_NT_SERVER)

システムはサーバです。

ドメインコントローラでもあるサーバは、VER_NT_SERVERではなくVER_NT_DOMAIN_CONTROLLERとして報告されます。

wReserved

将来の使用のために予約されています。

対応情報

Windows NT 4.0 SP6 以降

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

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