internal-r3-win.h revision 62184c10d4a848c16595c203aad10dcf3cb8cdaa
040b4a09341f574825386333398110f4db3e1e51vboxsync
040b4a09341f574825386333398110f4db3e1e51vboxsync#ifndef ___internal_r3_win_h
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ___internal_r3_win_h
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#include "internal/iprt.h"
af062818b47340eef15700d2f0211576ba3506eevboxsync#include <iprt/types.h>
af062818b47340eef15700d2f0211576ba3506eevboxsync
040b4a09341f574825386333398110f4db3e1e51vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*******************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync* Structures and Typedefs *
af062818b47340eef15700d2f0211576ba3506eevboxsync*******************************************************************************/
af062818b47340eef15700d2f0211576ba3506eevboxsync/**
040b4a09341f574825386333398110f4db3e1e51vboxsync * Windows OS type as determined by rtSystemWinOSType().
040b4a09341f574825386333398110f4db3e1e51vboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * @note ASSUMPTIONS are made regarding ordering. Win 9x should come first, then
040b4a09341f574825386333398110f4db3e1e51vboxsync * NT. The Win9x and NT versions should internally be ordered in ascending
040b4a09341f574825386333398110f4db3e1e51vboxsync * version/code-base order.
040b4a09341f574825386333398110f4db3e1e51vboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum RTWINOSTYPE
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_UNKNOWN = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_9XFIRST = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_95 = kRTWinOSType_9XFIRST,
040b4a09341f574825386333398110f4db3e1e51vboxsync kRTWinOSType_95SP1,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_95OSR2,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_98,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_98SP1,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_98SE,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_ME,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_9XLAST = 99,
040b4a09341f574825386333398110f4db3e1e51vboxsync kRTWinOSType_NTFIRST = 100,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_NT31 = kRTWinOSType_NTFIRST,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_NT351,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_NT4,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_2K,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_XP,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_2003,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_VISTA,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_2008,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_7,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_8,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_81,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_NT_UNKNOWN = 199,
af062818b47340eef15700d2f0211576ba3506eevboxsync kRTWinOSType_NT_LAST = kRTWinOSType_UNKNOWN
af062818b47340eef15700d2f0211576ba3506eevboxsync} RTWINOSTYPE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/**
af062818b47340eef15700d2f0211576ba3506eevboxsync * Windows loader protection level.
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum RTR3WINLDRPROT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync RTR3WINLDRPROT_INVALID = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync RTR3WINLDRPROT_NONE,
af062818b47340eef15700d2f0211576ba3506eevboxsync RTR3WINLDRPROT_NO_CWD,
af062818b47340eef15700d2f0211576ba3506eevboxsync RTR3WINLDRPROT_SAFE
af062818b47340eef15700d2f0211576ba3506eevboxsync} RTR3WINLDRPROT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*******************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync* Global Variables *
af062818b47340eef15700d2f0211576ba3506eevboxsync*******************************************************************************/
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern DECLHIDDEN(RTR3WINLDRPROT) g_enmWinLdrProt;
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern DECLHIDDEN(RTWINOSTYPE) g_enmWinVer;
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef _WINDEF_
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern DECLHIDDEN(HMODULE) g_hModKernel32;
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern DECLHIDDEN(HMODULE) g_hModNtDll;
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern DECLHIDDEN(OSVERSIONINFOEXW) g_WinOsInfoEx;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync