src/windows/native/java/lang/java_props_md.c

Print this page




 372          * writing, decoding of dwMajorVersion and dwMinorVersion.
 373          *
 374          *  Operating system            dwMajorVersion  dwMinorVersion
 375          * ==================           ==============  ==============
 376          *
 377          * Windows 95                   4               0
 378          * Windows 98                   4               10
 379          * Windows ME                   4               90
 380          * Windows 3.51                 3               51
 381          * Windows NT 4.0               4               0
 382          * Windows 2000                 5               0
 383          * Windows XP 32 bit            5               1
 384          * Windows Server 2003 family   5               2
 385          * Windows XP 64 bit            5               2
 386          *       where ((&ver.wServicePackMinor) + 2) = 1
 387          *       and  si.wProcessorArchitecture = 9
 388          * Windows Vista family         6               0  (VER_NT_WORKSTATION)
 389          * Windows Server 2008          6               0  (!VER_NT_WORKSTATION)
 390          * Windows 7                    6               1  (VER_NT_WORKSTATION)
 391          * Windows Server 2008 R2       6               1  (!VER_NT_WORKSTATION)

 392          *
 393          * This mapping will presumably be augmented as new Windows
 394          * versions are released.
 395          */
 396         switch (ver.dwPlatformId) {
 397         case VER_PLATFORM_WIN32s:
 398             sprops.os_name = "Windows 3.1";
 399             break;
 400         case VER_PLATFORM_WIN32_WINDOWS:
 401            if (ver.dwMajorVersion == 4) {
 402                 switch (ver.dwMinorVersion) {
 403                 case  0: sprops.os_name = "Windows 95";           break;
 404                 case 10: sprops.os_name = "Windows 98";           break;
 405                 case 90: sprops.os_name = "Windows Me";           break;
 406                 default: sprops.os_name = "Windows 9X (unknown)"; break;
 407                 }
 408             } else {
 409                 sprops.os_name = "Windows 9X (unknown)";
 410             }
 411             break;


 428                     * If it is, the operating system is Windows XP 64 bit;
 429                     * otherwise, it is Windows Server 2003."
 430                     */
 431                     if(ver.wProductType == VER_NT_WORKSTATION &&
 432                        si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
 433                         sprops.os_name = "Windows XP"; /* 64 bit */
 434                     } else {
 435                         sprops.os_name = "Windows 2003";
 436                     }
 437                     break;
 438                 default: sprops.os_name = "Windows NT (unknown)"; break;
 439                 }
 440             } else if (ver.dwMajorVersion == 6) {
 441                 /*
 442                  * See table in MSDN OSVERSIONINFOEX documentation.
 443                  */
 444                 if (ver.wProductType == VER_NT_WORKSTATION) {
 445                     switch (ver.dwMinorVersion) {
 446                     case  0: sprops.os_name = "Windows Vista";        break;
 447                     case  1: sprops.os_name = "Windows 7";            break;

 448                     default: sprops.os_name = "Windows NT (unknown)";
 449                     }
 450                 } else {
 451                     switch (ver.dwMinorVersion) {
 452                     case  0: sprops.os_name = "Windows Server 2008";    break;
 453                     case  1: sprops.os_name = "Windows Server 2008 R2"; break;
 454                     default: sprops.os_name = "Windows NT (unknown)";
 455                     }
 456                 }
 457             } else {
 458                 sprops.os_name = "Windows NT (unknown)";
 459             }
 460             break;
 461         default:
 462             sprops.os_name = "Windows (unknown)";
 463             break;
 464         }
 465         sprintf(buf, "%d.%d", ver.dwMajorVersion, ver.dwMinorVersion);
 466         sprops.os_version = _strdup(buf);
 467 #if _M_IA64




 372          * writing, decoding of dwMajorVersion and dwMinorVersion.
 373          *
 374          *  Operating system            dwMajorVersion  dwMinorVersion
 375          * ==================           ==============  ==============
 376          *
 377          * Windows 95                   4               0
 378          * Windows 98                   4               10
 379          * Windows ME                   4               90
 380          * Windows 3.51                 3               51
 381          * Windows NT 4.0               4               0
 382          * Windows 2000                 5               0
 383          * Windows XP 32 bit            5               1
 384          * Windows Server 2003 family   5               2
 385          * Windows XP 64 bit            5               2
 386          *       where ((&ver.wServicePackMinor) + 2) = 1
 387          *       and  si.wProcessorArchitecture = 9
 388          * Windows Vista family         6               0  (VER_NT_WORKSTATION)
 389          * Windows Server 2008          6               0  (!VER_NT_WORKSTATION)
 390          * Windows 7                    6               1  (VER_NT_WORKSTATION)
 391          * Windows Server 2008 R2       6               1  (!VER_NT_WORKSTATION)
 392          * Windows 8                    6               2  (VER_NT_WORKSTATION)
 393          *
 394          * This mapping will presumably be augmented as new Windows
 395          * versions are released.
 396          */
 397         switch (ver.dwPlatformId) {
 398         case VER_PLATFORM_WIN32s:
 399             sprops.os_name = "Windows 3.1";
 400             break;
 401         case VER_PLATFORM_WIN32_WINDOWS:
 402            if (ver.dwMajorVersion == 4) {
 403                 switch (ver.dwMinorVersion) {
 404                 case  0: sprops.os_name = "Windows 95";           break;
 405                 case 10: sprops.os_name = "Windows 98";           break;
 406                 case 90: sprops.os_name = "Windows Me";           break;
 407                 default: sprops.os_name = "Windows 9X (unknown)"; break;
 408                 }
 409             } else {
 410                 sprops.os_name = "Windows 9X (unknown)";
 411             }
 412             break;


 429                     * If it is, the operating system is Windows XP 64 bit;
 430                     * otherwise, it is Windows Server 2003."
 431                     */
 432                     if(ver.wProductType == VER_NT_WORKSTATION &&
 433                        si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
 434                         sprops.os_name = "Windows XP"; /* 64 bit */
 435                     } else {
 436                         sprops.os_name = "Windows 2003";
 437                     }
 438                     break;
 439                 default: sprops.os_name = "Windows NT (unknown)"; break;
 440                 }
 441             } else if (ver.dwMajorVersion == 6) {
 442                 /*
 443                  * See table in MSDN OSVERSIONINFOEX documentation.
 444                  */
 445                 if (ver.wProductType == VER_NT_WORKSTATION) {
 446                     switch (ver.dwMinorVersion) {
 447                     case  0: sprops.os_name = "Windows Vista";        break;
 448                     case  1: sprops.os_name = "Windows 7";            break;
 449                     case  2: sprops.os_name = "Windows 8";            break;
 450                     default: sprops.os_name = "Windows NT (unknown)";
 451                     }
 452                 } else {
 453                     switch (ver.dwMinorVersion) {
 454                     case  0: sprops.os_name = "Windows Server 2008";    break;
 455                     case  1: sprops.os_name = "Windows Server 2008 R2"; break;
 456                     default: sprops.os_name = "Windows NT (unknown)";
 457                     }
 458                 }
 459             } else {
 460                 sprops.os_name = "Windows NT (unknown)";
 461             }
 462             break;
 463         default:
 464             sprops.os_name = "Windows (unknown)";
 465             break;
 466         }
 467         sprintf(buf, "%d.%d", ver.dwMajorVersion, ver.dwMinorVersion);
 468         sprops.os_version = _strdup(buf);
 469 #if _M_IA64