mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 03:14:59 -06:00
18.05
This commit is contained in:
@@ -2602,7 +2602,8 @@ static void SysInfo_To_String(AString &s, const SYSTEM_INFO &si)
|
||||
PrintHex(s, si.wProcessorLevel);
|
||||
s += ".";
|
||||
PrintHex(s, si.wProcessorRevision);
|
||||
if (si.dwActiveProcessorMask + 1 != ((UInt64)1 << si.dwNumberOfProcessors))
|
||||
if ((UInt64)si.dwActiveProcessorMask + 1 != ((UInt64)1 << si.dwNumberOfProcessors))
|
||||
if ((UInt64)si.dwActiveProcessorMask + 1 != 0 || si.dwNumberOfProcessors != sizeof(UInt64) * 8)
|
||||
{
|
||||
s += " act:";
|
||||
PrintHex(s, si.dwActiveProcessorMask);
|
||||
@@ -2686,13 +2687,15 @@ void GetCpuName(AString &s)
|
||||
AString s2;
|
||||
x86cpuid_to_String(cpuid, s2);
|
||||
s += s2;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef MY_CPU_AMD64
|
||||
s += "x64";
|
||||
#else
|
||||
s += "x86";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -2703,6 +2706,9 @@ void GetCpuName(AString &s)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
if (g_LargePagesMode)
|
||||
s += " (LP)";
|
||||
}
|
||||
|
||||
|
||||
@@ -2725,6 +2731,27 @@ void GetCpuFeatures(AString &s)
|
||||
}
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifndef UNDER_CE
|
||||
|
||||
typedef void (WINAPI * Func_RtlGetVersion) (OSVERSIONINFOEXW *);
|
||||
|
||||
static BOOL My_RtlGetVersion(OSVERSIONINFOEXW *vi)
|
||||
{
|
||||
HMODULE ntdll = ::GetModuleHandleW(L"ntdll.dll");
|
||||
if (!ntdll)
|
||||
return FALSE;
|
||||
Func_RtlGetVersion func = (Func_RtlGetVersion)GetProcAddress(ntdll, "RtlGetVersion");
|
||||
if (!func)
|
||||
return FALSE;
|
||||
func(vi);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
HRESULT Bench(
|
||||
DECL_EXTERNAL_CODECS_LOC_VARS
|
||||
IBenchPrintCallback *printCallback,
|
||||
@@ -2859,6 +2886,30 @@ HRESULT Bench(
|
||||
|
||||
if (printCallback)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#ifndef UNDER_CE
|
||||
{
|
||||
AString s;
|
||||
// OSVERSIONINFO vi;
|
||||
OSVERSIONINFOEXW vi;
|
||||
vi.dwOSVersionInfoSize = sizeof(vi);
|
||||
// if (::GetVersionEx(&vi))
|
||||
if (My_RtlGetVersion(&vi))
|
||||
{
|
||||
s += "Windows";
|
||||
if (vi.dwPlatformId != VER_PLATFORM_WIN32_NT)
|
||||
s.Add_UInt32(vi.dwPlatformId);
|
||||
s += " "; s.Add_UInt32(vi.dwMajorVersion);
|
||||
s += "."; s.Add_UInt32(vi.dwMinorVersion);
|
||||
s += " "; s.Add_UInt32(vi.dwBuildNumber);
|
||||
// s += " "; s += GetAnsiString(vi.szCSDVersion);
|
||||
}
|
||||
printCallback->Print(s);
|
||||
printCallback->NewLine();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
{
|
||||
AString s1, s2;
|
||||
GetSysInfo(s1, s2);
|
||||
|
||||
Reference in New Issue
Block a user