Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/windirstat.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'windirstat/getosplatformstring.cpp')
-rw-r--r--windirstat/getosplatformstring.cpp264
1 files changed, 132 insertions, 132 deletions
diff --git a/windirstat/getosplatformstring.cpp b/windirstat/getosplatformstring.cpp
index b77bf48..7e6f2ac 100644
--- a/windirstat/getosplatformstring.cpp
+++ b/windirstat/getosplatformstring.cpp
@@ -1,133 +1,133 @@
-// getosplatformstring.cpp - Implementation of GetOsPlatformString()
-//
-// WinDirStat - Directory Statistics
-// Copyright (C) 2003-2005 Bernhard Seifert
-// Copyright (C) 2004-2017 WinDirStat Team (windirstat.net)
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-
-#include "stdafx.h"
-#include "windirstat.h"
+// getosplatformstring.cpp - Implementation of GetOsPlatformString()
+//
+// WinDirStat - Directory Statistics
+// Copyright (C) 2003-2005 Bernhard Seifert
+// Copyright (C) 2004-2017 WinDirStat Team (windirstat.net)
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+
+#include "stdafx.h"
+#include "windirstat.h"
#include <common/commonhelpers.h>
-#include "getosplatformstring.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#endif
-
-#ifndef _Return_type_success_
-# define _Return_type_success_(x)
-#endif
-
-namespace {
- typedef _Return_type_success_(return >= 0) LONG NTSTATUS;
- /*lint -save -e624 */ // Don't complain about different typedefs.
- typedef NTSTATUS *PNTSTATUS;
- /*lint -restore */ // Resume checking for different typedefs.
-}
-
-CString GetOsPlatformString()
-{
- static NTSTATUS (WINAPI* RtlGetVersion)(LPOSVERSIONINFOEXW);
-
- if(!RtlGetVersion)
- {
- *(FARPROC*)&RtlGetVersion = GetProcAddress(GetModuleHandle(_T("ntdll.dll")), "RtlGetVersion");
- ASSERT(RtlGetVersion != NULL);
- if(!RtlGetVersion)
- {
- return LoadString(IDS__UNKNOWN_);
- }
- }
- OSVERSIONINFOEXW osvi = { sizeof(OSVERSIONINFOEXW), 0, 0, 0, 0,{ 0 } };
-
- CString ret;
-
- NTSTATUS ntStatus = RtlGetVersion(&osvi);
- if(ntStatus < 0)
- {
- return LoadString(IDS__UNKNOWN_); // FIXME: include the status code
- }
-
- LPCTSTR lpszMajorName = NULL;
-
- switch (osvi.dwPlatformId)
- {
- case VER_PLATFORM_WIN32_NT:
- switch(osvi.dwMajorVersion)
- {
- case 5:
- if(osvi.dwMinorVersion == 0)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("2000") : _T("2000 Server");
- else
- if(osvi.dwMinorVersion == 1)
- lpszMajorName = _T("XP");
- else
- if(osvi.dwMinorVersion == 2)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("XP x64") : _T("Server 2003");
- break;
- case 6:
- if(osvi.dwMinorVersion == 0)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("Vista") : _T("Server 2008");
- else
- if(osvi.dwMinorVersion == 1)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("7") : _T("Server 2008 R2");
- else
- if(osvi.dwMinorVersion == 2)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("8") : _T("Server 2012");
- else
- if(osvi.dwMinorVersion == 3)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("8.1") : _T("Server 2012 R2");
- break;
- case 10:
- if(osvi.dwMinorVersion == 0)
- lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("10") : _T("Server 2016");
- break;
- default:
- break;
- }
-
- if(!lpszMajorName)
- {
- if(osvi.wServicePackMajor)
- ret.Format(_T("Windows %u.%u.%u, SP %u"), osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber, osvi.wServicePackMajor);
- else
- ret.Format(_T("Windows %u.%u.%u"), osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber);
- }
- else
- {
- if(osvi.wServicePackMajor)
- ret.Format(_T("Windows %s [%u.%u.%u], SP %u"), lpszMajorName, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber, osvi.wServicePackMajor);
- else
- ret.Format(_T("Windows %s [%u.%u.%u]"), lpszMajorName, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber);
- }
- if(osvi.szCSDVersion[0])
- {
- CString s;
- s.Format(_T(" (%s)"), osvi.szCSDVersion);
- ret += s;
- }
- break;
-
- default:
- {
- ret.Format(_T("<platform id %u>"), osvi.dwPlatformId);
- }
- break;
- }
-
- return ret;
-}
+#include "getosplatformstring.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+#ifndef _Return_type_success_
+# define _Return_type_success_(x)
+#endif
+
+namespace {
+ typedef _Return_type_success_(return >= 0) LONG NTSTATUS;
+ /*lint -save -e624 */ // Don't complain about different typedefs.
+ typedef NTSTATUS *PNTSTATUS;
+ /*lint -restore */ // Resume checking for different typedefs.
+}
+
+CString GetOsPlatformString()
+{
+ static NTSTATUS (WINAPI* RtlGetVersion)(LPOSVERSIONINFOEXW);
+
+ if(!RtlGetVersion)
+ {
+ *(FARPROC*)&RtlGetVersion = GetProcAddress(GetModuleHandle(_T("ntdll.dll")), "RtlGetVersion");
+ ASSERT(RtlGetVersion != NULL);
+ if(!RtlGetVersion)
+ {
+ return LoadString(IDS__UNKNOWN_);
+ }
+ }
+ OSVERSIONINFOEXW osvi = { sizeof(OSVERSIONINFOEXW), 0, 0, 0, 0,{ 0 } };
+
+ CString ret;
+
+ NTSTATUS ntStatus = RtlGetVersion(&osvi);
+ if(ntStatus < 0)
+ {
+ return LoadString(IDS__UNKNOWN_); // FIXME: include the status code
+ }
+
+ LPCTSTR lpszMajorName = NULL;
+
+ switch (osvi.dwPlatformId)
+ {
+ case VER_PLATFORM_WIN32_NT:
+ switch(osvi.dwMajorVersion)
+ {
+ case 5:
+ if(osvi.dwMinorVersion == 0)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("2000") : _T("2000 Server");
+ else
+ if(osvi.dwMinorVersion == 1)
+ lpszMajorName = _T("XP");
+ else
+ if(osvi.dwMinorVersion == 2)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("XP x64") : _T("Server 2003");
+ break;
+ case 6:
+ if(osvi.dwMinorVersion == 0)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("Vista") : _T("Server 2008");
+ else
+ if(osvi.dwMinorVersion == 1)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("7") : _T("Server 2008 R2");
+ else
+ if(osvi.dwMinorVersion == 2)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("8") : _T("Server 2012");
+ else
+ if(osvi.dwMinorVersion == 3)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("8.1") : _T("Server 2012 R2");
+ break;
+ case 10:
+ if(osvi.dwMinorVersion == 0)
+ lpszMajorName = (VER_NT_WORKSTATION == osvi.wProductType) ? _T("10") : _T("Server 2016");
+ break;
+ default:
+ break;
+ }
+
+ if(!lpszMajorName)
+ {
+ if(osvi.wServicePackMajor)
+ ret.Format(_T("Windows %u.%u.%u, SP %u"), osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber, osvi.wServicePackMajor);
+ else
+ ret.Format(_T("Windows %u.%u.%u"), osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber);
+ }
+ else
+ {
+ if(osvi.wServicePackMajor)
+ ret.Format(_T("Windows %s [%u.%u.%u], SP %u"), lpszMajorName, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber, osvi.wServicePackMajor);
+ else
+ ret.Format(_T("Windows %s [%u.%u.%u]"), lpszMajorName, osvi.dwMajorVersion, osvi.dwMinorVersion, osvi.dwBuildNumber);
+ }
+ if(osvi.szCSDVersion[0])
+ {
+ CString s;
+ s.Format(_T(" (%s)"), osvi.szCSDVersion);
+ ret += s;
+ }
+ break;
+
+ default:
+ {
+ ret.Format(_T("<platform id %u>"), osvi.dwPlatformId);
+ }
+ break;
+ }
+
+ return ret;
+}