RtlGetVersion (ntdll)
Last changed: -107.184.33.47

.
Summary
Get the version information of the OS

C# Signature:

[DllImport("ntdll.dll", SetLastError=true)]
static extern bool RtlGetVersion(ref OSVERSIONINFOEXW versionInfo);

Boo Signature:

[DllImport("ntdll.dll", SetLastError : true)]
def RtlGetVersion(ref versionInfo as OSVERSIONINFOEXW) as bool:
     pass

User-Defined Types:

enum PRODUCT_TYPE:
     VER_NT_WORKSTATION = 0x0000001
     VER_NT_DOMAIN_CONTROLLER = 0x0000002
     VER_NT_SERVER = 0x0000003

[StructLayout(LayoutKind.Sequential, CharSet : CharSet.Unicode)]
struct OSVERSIONINFOEXW:
     dwOSVersionInfoSize as int
     dwMajorVersion as int
     dwMinorVersion as int
     dwBuildNumber as int
     dwPlatformId as int
     [MarshalAs(UnmanagedType.ByValTStr, SizeConst : 128)]
     szCSDVersion as string
     wServicePackMajor as UInt16
     wServicePackMinor as UInt16
     wSuiteMask as UInt16
     wProductType as PRODUCT_TYPE
     wReserved as byte

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation