windows: Added WIN_IsWindowsXP, for extreme runtime compatibility checks.
Reference Issue #8666.main
parent
56fa22c63b
commit
2144c2ac71
|
@ -211,6 +211,15 @@ static BOOL IsWindowsVersionOrGreater(WORD wMajorVersion, WORD wMinorVersion, WO
|
||||||
return retval;
|
return retval;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// this is the oldest thing we run on (and we may lose support for this in SDL3 at any time!),
|
||||||
|
// so there's no "OrGreater" as that would always be TRUE. The other functions are here to
|
||||||
|
// ask "can we support a specific feature?" but this function is here to ask "do we need to do
|
||||||
|
// something different for an OS version we probably should abandon?" :)
|
||||||
|
BOOL WIN_IsWindowsXP(void)
|
||||||
|
{
|
||||||
|
CHECKWINVER(FALSE, !WIN_IsWindowsVistaOrGreater() && IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 0));
|
||||||
|
}
|
||||||
|
|
||||||
BOOL WIN_IsWindowsVistaOrGreater(void)
|
BOOL WIN_IsWindowsVistaOrGreater(void)
|
||||||
{
|
{
|
||||||
CHECKWINVER(TRUE, IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 0));
|
CHECKWINVER(TRUE, IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 0));
|
||||||
|
|
|
@ -145,6 +145,9 @@ extern void WIN_CoUninitialize(void);
|
||||||
extern HRESULT WIN_RoInitialize(void);
|
extern HRESULT WIN_RoInitialize(void);
|
||||||
extern void WIN_RoUninitialize(void);
|
extern void WIN_RoUninitialize(void);
|
||||||
|
|
||||||
|
/* Returns SDL_TRUE if we're running on Windows XP (any service pack). DOES NOT CHECK XP "OR GREATER"! */
|
||||||
|
extern BOOL WIN_IsWindowsXP(void);
|
||||||
|
|
||||||
/* Returns SDL_TRUE if we're running on Windows Vista and newer */
|
/* Returns SDL_TRUE if we're running on Windows Vista and newer */
|
||||||
extern BOOL WIN_IsWindowsVistaOrGreater(void);
|
extern BOOL WIN_IsWindowsVistaOrGreater(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue