mirror of
https://github.com/holub/mame
synced 2025-06-03 19:36:26 +03:00
59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
// Windows/NtCheck.h
|
|
|
|
#ifndef ZIP7_INC_WINDOWS_NT_CHECK_H
|
|
#define ZIP7_INC_WINDOWS_NT_CHECK_H
|
|
|
|
#ifdef _WIN32
|
|
|
|
#include "../Common/MyWindows.h"
|
|
|
|
#if !defined(_WIN64) && !defined(UNDER_CE)
|
|
|
|
#if defined(_MSC_VER) && _MSC_VER >= 1900
|
|
#pragma warning(push)
|
|
// GetVersionExW was declared deprecated
|
|
#pragma warning(disable : 4996)
|
|
#endif
|
|
static inline bool IsItWindowsNT()
|
|
{
|
|
OSVERSIONINFO vi;
|
|
vi.dwOSVersionInfoSize = sizeof(vi);
|
|
return (::GetVersionEx(&vi) && vi.dwPlatformId == VER_PLATFORM_WIN32_NT);
|
|
}
|
|
#if defined(_MSC_VER) && _MSC_VER >= 1900
|
|
#pragma warning(pop)
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifndef _UNICODE
|
|
extern
|
|
bool g_IsNT;
|
|
#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
|