OSVERSIONINFOEX

From aldeid
Jump to navigation Jump to search

Description

Contains operating system version information. The information includes major and minor version numbers, a build number, a platform identifier, and information about product suites and the latest Service Pack installed on the system. This structure is used with the GetVersionEx and VerifyVersionInfo functions.

Syntax

typedef struct _OSVERSIONINFOEX {
  DWORD dwOSVersionInfoSize;
  DWORD dwMajorVersion;
  DWORD dwMinorVersion;
  DWORD dwBuildNumber;
  DWORD dwPlatformId;
  TCHAR szCSDVersion[128];
  WORD  wServicePackMajor;
  WORD  wServicePackMinor;
  WORD  wSuiteMask;
  BYTE  wProductType;
  BYTE  wReserved;
} OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;

Members

dwOSVersionInfoSize
The size of this data structure, in bytes. Set this member to sizeof(OSVERSIONINFOEX).
dwMajorVersion
The major version number of the operating system. For more information, see Remarks.
dwMinorVersion
The minor version number of the operating system. For more information, see Remarks.
dwBuildNumber
The build number of the operating system.
dwPlatformId
The operating system platform. This member can be VER_PLATFORM_WIN32_NT.
szCSDVersion
A null-terminated string, such as "Service Pack 3", that indicates the latest Service Pack installed on the system. If no Service Pack has been installed, the string is empty.
wServicePackMajor
The major version number of the latest Service Pack installed on the system. For example, for Service Pack 3, the major version number is 3. If no Service Pack has been installed, the value is zero.
wServicePackMinor
The minor version number of the latest Service Pack installed on the system. For example, for Service Pack 3, the minor version number is 0.
wSuiteMask
A bit mask that identifies the product suites available on the system. This member can be a combination of the following values.
Value Meaning
VER_SUITE_BACKOFFICE
0x00000004
Microsoft BackOffice components are installed.
VER_SUITE_BLADE
0x00000400
Windows Server 2003, Web Edition is installed.
VER_SUITE_COMPUTE_SERVER
0x00004000
Windows Server 2003, Compute Cluster Edition is installed.
VER_SUITE_DATACENTER
0x00000080
Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition, or Windows 2000 Datacenter Server is installed.
VER_SUITE_ENTERPRISE
0x00000002
Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, or Windows 2000 Advanced Server is installed. Refer to the Remarks section for more information about this bit flag.
VER_SUITE_EMBEDDEDNT
0x00000040
Windows XP Embedded is installed.
VER_SUITE_PERSONAL
0x00000200
Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed.
VER_SUITE_SINGLEUSERTS
0x00000100
Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode.
VER_SUITE_SMALLBUSINESS
0x00000001
Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows. Refer to the Remarks section for more information about this bit flag.
VER_SUITE_SMALLBUSINESS_RESTRICTED
0x00000020
Microsoft Small Business Server is installed with the restrictive client license in force. Refer to the Remarks section for more information about this bit flag.
VER_SUITE_STORAGE_SERVER
0x00002000
Windows Storage Server 2003 R2 or Windows Storage Server 2003is installed.
VER_SUITE_TERMINAL
0x00000010
Terminal Services is installed. This value is always set.

If VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the system is running in application server mode.

VER_SUITE_WH_SERVER
0x00008000
Windows Home Server is installed.
wProductType
Any additional information about the system. This member can be one of the following values.
Value Meaning
VER_NT_DOMAIN_CONTROLLER
0x0000002
The system is a domain controller and the operating system is Windows Server 2012 , Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
VER_NT_SERVER
0x0000003
The operating system is Windows Server 2012, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, or Windows 2000 Server.

Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.

VER_NT_WORKSTATION
0x0000001
The operating system is Windows 8, Windows 7, Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
wReserved
Reserved for future use.