text: //MSWindows.h
  
  // Copyright Querysoft Limited 2013
  //
  // Permission is hereby granted, free of charge, to any person or organization
  // obtaining a copy of the software and accompanying documentation covered by
  // this license (the "Software") to use, reproduce, display, distribute,
  // execute, and transmit the Software, and to prepare derivative works of the
  // Software, and to permit third-parties to whom the Software is furnished to
  // do so, all subject to the following:
  // 
  // The copyright notices in the Software and this entire statement, including
  // the above license grant, this restriction and the following disclaimer,
  // must be included in all copies of the Software, in whole or in part, and
  // all derivative works of the Software, unless such copies or derivative
  // works are solely in the form of machine-executable object code generated by
  // a source language processor.
  // 
  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
  // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
  // FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  // DEALINGS IN THE SOFTWARE.
  
  #ifndef SYSTEMQOR_WINDOWS_H_1
  #define SYSTEMQOR_WINDOWS_H_1
  
  // NTDDI version constants
  //
  #define NTDDI_WIN2K                         0x05000000
  #define NTDDI_WIN2KSP1                      0x05000100
  #define NTDDI_WIN2KSP2                      0x05000200
  #define NTDDI_WIN2KSP3                      0x05000300
  #define NTDDI_WIN2KSP4                      0x05000400
  
  #define NTDDI_WINXP                         0x05010000
  #define NTDDI_WINXPSP1                      0x05010100
  #define NTDDI_WINXPSP2                      0x05010200
  #define NTDDI_WINXPSP3                      0x05010300
  #define NTDDI_WINXPSP4                      0x05010400
  
  #define NTDDI_WS03                          0x05020000
  #define NTDDI_WS03SP1                       0x05020100
  #define NTDDI_WS03SP2                       0x05020200
  #define NTDDI_WS03SP3                       0x05020300
  #define NTDDI_WS03SP4                       0x05020400
  
  #define NTDDI_WIN6                          0x06000000
  #define NTDDI_WIN6SP1                       0x06000100
  #define NTDDI_WIN6SP2                       0x06000200
  #define NTDDI_WIN6SP3                       0x06000300
  #define NTDDI_WIN6SP4                       0x06000400
  
  #define NTDDI_WIN7                          0x06010000
  #define NTDDI_WIN8                          0x06020000
  #define NTDDI_WINBLUE                       0x06030000
  
  #define NTDDI_VISTA                         NTDDI_WIN6   
  #define NTDDI_VISTASP1                      NTDDI_WIN6SP1
  #define NTDDI_VISTASP2                      NTDDI_WIN6SP2
  #define NTDDI_VISTASP3                      NTDDI_WIN6SP3
  #define NTDDI_VISTASP4                      NTDDI_WIN6SP4
           
  #define NTDDI_WS08                          NTDDI_WIN6SP1
  #define NTDDI_WS08SP2                       NTDDI_WIN6SP2
  #define NTDDI_WS08SP3                       NTDDI_WIN6SP3
  #define NTDDI_WS08SP4                       NTDDI_WIN6SP4
  
  //Windows versions
  #define _QSYS_MSWVER_WIN95		1
  #define _QSYS_MSWVER_WIN98		2
  #define _QSYS_MSWVER_WINME		3
  #define _QSYS_MSWVER_WINNT4		4
  #define _QSYS_MSWVER_WIN2K		5
  #define _QSYS_MSWVER_WINXP		6
  #define _QSYS_MSWVER_WIN2K3		7
  #define _QSYS_MSWVER_WINVISTA	8
  #define _QSYS_MSWVER_WIN2K8		9
  #define _QSYS_MSWVER_WIN7		10
  #define _QSYS_MSWVER_WIN8		11
  #define _QSYS_MSWVER_WIN8_1		12
  #define _QSYS_MSWVER_WIN10		13
  //!TODO Add new Windows versions here
  
  //Windows Service Packs
  //#define _QSYS_MSWVER_SERVPACK to the service pack number 1 - 4
  
  #include "SystemQOR/MSWindows/WindowsVersion.h"
  
  #if ( _WIN32_WINNT > 0x0000 )
  #	include "../Source/SystemQOR/MSWindows/Versions/WinNT.h"
  #elif ( _WIN32_WINDOWS > 0x0000 )
  #	include "../Source/SystemQOR/MSWindows/Versions/Win9x.h"
  #else
  #	error "No Microsoft Windows version selected, please #define _QSYS_WIN_VERSION"
  #endif
  
  //The Windows Runtime becomes the Operating System Runtime 
  //as the nsWin32 namespace is used as the generic nsOSRT namespace
  #define nsOSRT nsWin32
  
  //--------------------------------------------------------------------------------
  namespace nsWin32
  {
  	//--------------------------------------------------------------------------------
  	class __QOR_INTERFACE( __QSYS ) CSystem;
  
  }//nsWin32
  
  #endif//SYSTEMQOR_WINDOWS_H_1
  