| // Windows/NtCheck.h |
| |
| #ifndef __WINDOWS_NT_CHECK_H |
| #define __WINDOWS_NT_CHECK_H |
| |
| #ifdef _WIN32 |
| |
| #if !defined(_WIN64) && !defined(UNDER_CE) |
| static inline bool IsItWindowsNT() |
| { |
| OSVERSIONINFO vi; |
| vi.dwOSVersionInfoSize = sizeof(vi); |
| return (::GetVersionEx(&vi) && vi.dwPlatformId == VER_PLATFORM_WIN32_NT); |
| } |
| #endif |
| |
| #ifndef _UNICODE |
| #if defined(_WIN64) || defined(UNDER_CE) |
| bool g_IsNT = true; |
| #define SET_IS_NT |
| #else |
| bool g_IsNT = false; |
| #define SET_IS_NT g_IsNT = IsItWindowsNT(); |
| #endif |
| #define NT_CHECK_ACTION |
| // #define NT_CHECK_ACTION { NT_CHECK_FAIL_ACTION } |
| #else |
| #if !defined(_WIN64) && !defined(UNDER_CE) |
| #define NT_CHECK_ACTION if (!IsItWindowsNT()) { NT_CHECK_FAIL_ACTION } |
| #else |
| #define NT_CHECK_ACTION |
| #endif |
| #define SET_IS_NT |
| #endif |
| |
| #define NT_CHECK NT_CHECK_ACTION SET_IS_NT |
| |
| #else |
| |
| #define NT_CHECK |
| |
| #endif |
| |
| #endif |