GetWindowsVersion.h File Reference

#include <windows.h>

Include dependency graph for GetWindowsVersion.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define IMPORT_EXPORT_GETWINDOWSVERSION_DLL   __declspec(dllimport)
#define OS_ERROR   -1
#define OS_WIN32_WINDOWS_NT_3_51   0
#define OS_WIN32_WINDOWS_NT_4_0   1
#define OS_WIN32_WINDOWS_95   2
#define OS_WIN32_WINDOWS_98   3
#define OS_WIN32_WINDOWS_Me   4
#define OS_WIN32_WINDOWS_2000   5
#define OS_WIN32_WINDOWS_XP   6
#define OS_WIN32_WINDOWS_XP_64   7
#define OS_WIN32_WINDOWS_SERVER_2003   8
#define OS_WIN32_WINDOWS_SERVER_2003_R2   9
#define OS_WIN32_WINDOWS_SERVER_2003_64   10
#define OS_WIN32_WINDOWS_VISTA   11
#define OS_WIN32_WINDOWS_VISTA_64   12
#define OS_WIN32_WINDOWS_LONGHORN   13
#define OS_WIN32_WINDOWS_LONGHORN_64   14

Functions

IMPORT_EXPORT_GETWINDOWSVERSION_DLL
int 
GetWindowsVersion (void)


Define Documentation

#define IMPORT_EXPORT_GETWINDOWSVERSION_DLL   __declspec(dllimport)

Definition at line 10 of file GetWindowsVersion.h.

#define OS_ERROR   -1

Definition at line 13 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_2000   5

Definition at line 19 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion(), main(), and WinMain().

#define OS_WIN32_WINDOWS_95   2

Definition at line 16 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_98   3

Definition at line 17 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_LONGHORN   13

Definition at line 27 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_LONGHORN_64   14

Definition at line 28 of file GetWindowsVersion.h.

#define OS_WIN32_WINDOWS_Me   4

Definition at line 18 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_NT_3_51   0

Definition at line 14 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_NT_4_0   1

Definition at line 15 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_SERVER_2003   8

Definition at line 22 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_SERVER_2003_64   10

Definition at line 24 of file GetWindowsVersion.h.

#define OS_WIN32_WINDOWS_SERVER_2003_R2   9

Definition at line 23 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_VISTA   11

Definition at line 25 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_VISTA_64   12

Definition at line 26 of file GetWindowsVersion.h.

#define OS_WIN32_WINDOWS_XP   6

Definition at line 20 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().

#define OS_WIN32_WINDOWS_XP_64   7

Definition at line 21 of file GetWindowsVersion.h.

Referenced by GetWindowsVersion().


Function Documentation

IMPORT_EXPORT_GETWINDOWSVERSION_DLL int GetWindowsVersion ( void   ) 

Definition at line 6 of file GetWindowsVersion.c.

References NULL, OS_ERROR, OS_WIN32_WINDOWS_2000, OS_WIN32_WINDOWS_95, OS_WIN32_WINDOWS_98, OS_WIN32_WINDOWS_LONGHORN, OS_WIN32_WINDOWS_Me, OS_WIN32_WINDOWS_NT_3_51, OS_WIN32_WINDOWS_NT_4_0, OS_WIN32_WINDOWS_SERVER_2003, OS_WIN32_WINDOWS_SERVER_2003_R2, OS_WIN32_WINDOWS_VISTA, OS_WIN32_WINDOWS_XP, OS_WIN32_WINDOWS_XP_64, si, and SM_SERVERR2.

Referenced by main(), and WinMain().

00007 {
00008         OSVERSIONINFOEX osvi;
00009         BOOL bOsVersionInfoEx;
00010 
00011         ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
00012         osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
00013 
00014         if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) )
00015         {
00016                 osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
00017                 if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) ) return OS_ERROR;
00018         }
00019 
00020         switch (osvi.dwPlatformId)
00021         {
00022                 case VER_PLATFORM_WIN32_NT:
00023                         if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0 )
00024                         {
00025                                 if( osvi.wProductType == VER_NT_WORKSTATION ) return OS_WIN32_WINDOWS_VISTA;
00026                                 else return OS_WIN32_WINDOWS_LONGHORN;
00027                         }
00028 
00029                         if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2 )
00030                         {
00031                                 SYSTEM_INFO si;
00032                                 PGNSI pGNSI;
00033                                 pGNSI = (PGNSI) GetProcAddress(GetModuleHandle("kernel32.dll"),"GetNativeSystemInfo");
00034                                 if(NULL != pGNSI) pGNSI(&si);
00035 
00036                                 if( GetSystemMetrics(SM_SERVERR2) ) return OS_WIN32_WINDOWS_SERVER_2003_R2;
00037                                 else
00038                                         if( osvi.wProductType == VER_NT_WORKSTATION && si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64) return OS_WIN32_WINDOWS_XP_64;
00039                                         else return OS_WIN32_WINDOWS_SERVER_2003;
00040                         }
00041 
00042                         if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 ) return OS_WIN32_WINDOWS_XP;
00043                         if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 ) return OS_WIN32_WINDOWS_2000;
00044                         if ( osvi.dwMajorVersion == 4 ) return OS_WIN32_WINDOWS_NT_4_0;
00045                         if ( osvi.dwMajorVersion == 3 && osvi.dwMinorVersion == 51 ) return OS_WIN32_WINDOWS_NT_3_51;
00046                 break;
00047 
00048                 case VER_PLATFORM_WIN32_WINDOWS:
00049                         if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0) return OS_WIN32_WINDOWS_95;
00050                         if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10) return OS_WIN32_WINDOWS_98;
00051                         if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90) return OS_WIN32_WINDOWS_Me;
00052                 break;
00053         }
00054         return OS_ERROR;
00055 }

Here is the caller graph for this function:


Generated on Sun Mar 4 15:11:31 2007 for Scilab [trunk] by  doxygen 1.5.1