mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-30 04:17:31 +09:00
Merge remote-tracking branch 'origin/tracking' into custom
This commit is contained in:
commit
ae1f9364cd
38 changed files with 85 additions and 1993 deletions
|
|
@ -83,82 +83,6 @@ IsWindowsBuildOrLater(uint32_t aBuild)
|
|||
return false;
|
||||
}
|
||||
|
||||
inline bool
|
||||
IsWindows10BuildOrLater(uint32_t aBuild)
|
||||
{
|
||||
static uint32_t minBuild = 0;
|
||||
static uint32_t maxBuild = UINT32_MAX;
|
||||
|
||||
if (minBuild >= aBuild) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (aBuild >= maxBuild) {
|
||||
return false;
|
||||
}
|
||||
|
||||
OSVERSIONINFOEX info;
|
||||
ZeroMemory(&info, sizeof(OSVERSIONINFOEX));
|
||||
info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
|
||||
info.dwMajorVersion = 10;
|
||||
info.dwBuildNumber = aBuild;
|
||||
|
||||
DWORDLONG conditionMask = 0;
|
||||
VER_SET_CONDITION(conditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL);
|
||||
VER_SET_CONDITION(conditionMask, VER_MINORVERSION, VER_GREATER_EQUAL);
|
||||
VER_SET_CONDITION(conditionMask, VER_BUILDNUMBER, VER_GREATER_EQUAL);
|
||||
VER_SET_CONDITION(conditionMask, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
|
||||
VER_SET_CONDITION(conditionMask, VER_SERVICEPACKMINOR, VER_GREATER_EQUAL);
|
||||
|
||||
if (VerifyVersionInfo(&info, VER_MAJORVERSION | VER_MINORVERSION |
|
||||
VER_BUILDNUMBER | VER_SERVICEPACKMAJOR |
|
||||
VER_SERVICEPACKMINOR, conditionMask)) {
|
||||
minBuild = aBuild;
|
||||
return true;
|
||||
}
|
||||
|
||||
maxBuild = aBuild;
|
||||
return false;
|
||||
}
|
||||
|
||||
#if 0//defined(_M_X64) || defined(_M_AMD64)
|
||||
// We support only Win7 or later on Win64.
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsXPSP3OrLater()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsWin2003OrLater()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsWin2003SP2OrLater()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsVistaOrLater()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsVistaSP1OrLater()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsWin7OrLater()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsXPSP3OrLater()
|
||||
{
|
||||
|
|
@ -194,7 +118,6 @@ IsWin7OrLater()
|
|||
{
|
||||
return IsWindowsVersionOrLater(0x06010000ul);
|
||||
}
|
||||
#endif
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsWin7SP1OrLater()
|
||||
|
|
@ -220,10 +143,40 @@ IsWin10OrLater()
|
|||
return IsWindowsVersionOrLater(0x0a000000ul);
|
||||
}
|
||||
|
||||
enum class WinBuild : uint32_t {
|
||||
Win10RTM = 10240,
|
||||
Win10v1511 = 10586,
|
||||
Win10v1607 = 14393,
|
||||
Win10v1703 = 15063,
|
||||
Win10v1709 = 16299,
|
||||
Win10v1803 = 17134,
|
||||
Win10v1809 = 17763,
|
||||
Win10v1903 = 18362,
|
||||
Win10v19H2 = 18363,
|
||||
Win10v20H1 = 19041,
|
||||
Win10v20H2 = 19042,
|
||||
Win10v21H1 = 19043,
|
||||
Win10v21H2 = 19044,
|
||||
Win10v22H2 = 19045,
|
||||
Win11RTM = 22000,
|
||||
Win11v22H2 = 22621,
|
||||
Win11v23H2 = 22631,
|
||||
Win11v24H2 = 26100,
|
||||
Win11v25H2 = 26200
|
||||
};
|
||||
|
||||
// Check for at least named build aBuild taken from WinBuild enum above.
|
||||
inline bool
|
||||
IsWindows10BuildOrLater(WinBuild aBuild) {
|
||||
uint32_t build = static_cast<uint32_t>(aBuild);
|
||||
return IsWin10OrLater() && IsWindowsBuildOrLater(build);
|
||||
}
|
||||
|
||||
// Windows 11 RTM
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
IsWin10CreatorsUpdateOrLater()
|
||||
IsWin11OrLater()
|
||||
{
|
||||
return IsWindows10BuildOrLater(15063);
|
||||
return IsWindows10BuildOrLater(WinBuild::Win11RTM);
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_INLINE bool
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue