1674 case 6002:
1675 if (is_workstation) {
1676 st->print("8");
1677 } else {
1678 st->print("Server 2012");
1679 }
1680 break;
1681
1682 case 6003:
1683 if (is_workstation) {
1684 st->print("8.1");
1685 } else {
1686 st->print("Server 2012 R2");
1687 }
1688 break;
1689
1690 case 10000:
1691 if (is_workstation) {
1692 st->print("10");
1693 } else {
1694 st->print("Server 2016");
1695 }
1696 break;
1697
1698 default:
1699 // Unrecognized windows, print out its major and minor versions
1700 st->print("%d.%d", major_version, minor_version);
1701 break;
1702 }
1703
1704 // Retrieve SYSTEM_INFO from GetNativeSystemInfo call so that we could
1705 // find out whether we are running on 64 bit processor or not
1706 SYSTEM_INFO si;
1707 ZeroMemory(&si, sizeof(SYSTEM_INFO));
1708 GetNativeSystemInfo(&si);
1709 if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
1710 st->print(" , 64 bit");
1711 }
1712
1713 st->print(" Build %d", build_number);
1714 st->print(" (%d.%d.%d.%d)", major_version, minor_version, build_number, build_minor);
|
1674 case 6002:
1675 if (is_workstation) {
1676 st->print("8");
1677 } else {
1678 st->print("Server 2012");
1679 }
1680 break;
1681
1682 case 6003:
1683 if (is_workstation) {
1684 st->print("8.1");
1685 } else {
1686 st->print("Server 2012 R2");
1687 }
1688 break;
1689
1690 case 10000:
1691 if (is_workstation) {
1692 st->print("10");
1693 } else {
1694 // distinguish Windows Server 2016 and 2019 by build number
1695 // Windows server 2019 GA 10/2018 build number is 17763
1696 if (build_number > 17762) {
1697 st->print("Server 2019");
1698 } else {
1699 st->print("Server 2016");
1700 }
1701 }
1702 break;
1703
1704 default:
1705 // Unrecognized windows, print out its major and minor versions
1706 st->print("%d.%d", major_version, minor_version);
1707 break;
1708 }
1709
1710 // Retrieve SYSTEM_INFO from GetNativeSystemInfo call so that we could
1711 // find out whether we are running on 64 bit processor or not
1712 SYSTEM_INFO si;
1713 ZeroMemory(&si, sizeof(SYSTEM_INFO));
1714 GetNativeSystemInfo(&si);
1715 if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
1716 st->print(" , 64 bit");
1717 }
1718
1719 st->print(" Build %d", build_number);
1720 st->print(" (%d.%d.%d.%d)", major_version, minor_version, build_number, build_minor);
|