Source code
Revision control
Copy as Markdown
Other Tools
// Windows/NtCheck.h↩
↩
#ifndef __WINDOWS_NT_CHECK_H↩
#define __WINDOWS_NT_CHECK_H↩
↩
#ifdef _WIN32↩
↩
#include "../Common/MyWindows.h"↩
↩
#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↩