VirtualBox

Changeset 70219 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Dec 19, 2017 11:18:18 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
119809
Message:

VBoxGuest-win.cpp: Cleaning up version code a little and made it report VBOXOSTYPE_WinNT3x when appropriate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp

    r70208 r70219  
    163163{
    164164    VGDRVNTVER_INVALID = 0,
    165     VGDRVNTVER_WINNT31,
     165    VGDRVNTVER_WINNT310,
    166166    VGDRVNTVER_WINNT350,
    167167    VGDRVNTVER_WINNT351,
     
    285285    switch (ulMajorVer)
    286286    {
    287         case 10:
    288             switch (ulMinorVer)
    289             {
    290                 case 0:
    291                     /* Windows 10 Preview builds starting with 9926. */
    292                 default:
    293                     /* Also everything newer. */
    294                     g_enmVGDrvNtVer = VGDRVNTVER_WIN10;
    295                     break;
    296             }
     287        case 10: /* Windows 10 Preview builds starting with 9926. */
     288            g_enmVGDrvNtVer = VGDRVNTVER_WIN10;
    297289            break;
    298290        case 6: /* Windows Vista or Windows 7 (based on minor ver) */
     
    311303                    g_enmVGDrvNtVer = VGDRVNTVER_WIN81;
    312304                    break;
    313                 case 4:
    314                     /* Windows 10 Preview builds. */
     305                case 4: /* Windows 10 Preview builds. */
    315306                default:
    316                     /* Also everything newer. */
    317307                    g_enmVGDrvNtVer = VGDRVNTVER_WIN10;
    318308                    break;
     
    343333                g_enmVGDrvNtVer = VGDRVNTVER_WINNT350;
    344334            else
    345                 g_enmVGDrvNtVer = VGDRVNTVER_WINNT31;
     335                g_enmVGDrvNtVer = VGDRVNTVER_WINNT310;
    346336            break;
    347337        default:
     338            /* Major versions above 6 gets classified as windows 10. */
    348339            if (ulMajorVer > 6)
    349             {
    350                 /* "Windows 10 mode" for Windows 8.1+. */
    351340                g_enmVGDrvNtVer = VGDRVNTVER_WIN10;
    352             }
    353341            else
    354342            {
    355                 if (ulMajorVer < 4)
    356                     LogRelFunc(("At least Windows NT4 required! (%u.%u)\n", ulMajorVer, ulMinorVer));
    357                 else
    358                     LogRelFunc(("Unknown version %u.%u!\n", ulMajorVer, ulMinorVer));
     343                LogRelFunc(("At least Windows NT 3.10 required! Found %u.%u!\n", ulMajorVer, ulMinorVer));
    359344                rcNt = STATUS_DRIVER_UNABLE_TO_LOAD;
    360345            }
     
    429414
    430415/**
    431  * Translates NT version to VBox OS.
     416 * Translates our internal NT version enum to VBox OS.
    432417 *
    433418 * @returns VBox OS type.
     
    439424    switch (enmNtVer)
    440425    {
    441         case VGDRVNTVER_WINNT31:
    442         case VGDRVNTVER_WINNT350:
    443         case VGDRVNTVER_WINNT351:
    444         case VGDRVNTVER_WINNT4:
    445             enmOsType = VBOXOSTYPE_WinNT4;
    446             break;
    447 
    448         case VGDRVNTVER_WIN2K:
    449             enmOsType = VBOXOSTYPE_Win2k;
    450             break;
    451 
    452         case VGDRVNTVER_WINXP:
    453 #if ARCH_BITS == 64
    454             enmOsType = VBOXOSTYPE_WinXP_x64;
    455 #else
    456             enmOsType = VBOXOSTYPE_WinXP;
    457 #endif
    458             break;
    459 
    460         case VGDRVNTVER_WIN2K3:
    461 #if ARCH_BITS == 64
    462             enmOsType = VBOXOSTYPE_Win2k3_x64;
    463 #else
    464             enmOsType = VBOXOSTYPE_Win2k3;
    465 #endif
    466             break;
    467 
    468         case VGDRVNTVER_WINVISTA:
    469 #if ARCH_BITS == 64
    470             enmOsType = VBOXOSTYPE_WinVista_x64;
    471 #else
    472             enmOsType = VBOXOSTYPE_WinVista;
    473 #endif
    474             break;
    475 
    476         case VGDRVNTVER_WIN7:
    477 #if ARCH_BITS == 64
    478             enmOsType = VBOXOSTYPE_Win7_x64;
    479 #else
    480             enmOsType = VBOXOSTYPE_Win7;
    481 #endif
    482             break;
    483 
    484         case VGDRVNTVER_WIN8:
    485 #if ARCH_BITS == 64
    486             enmOsType = VBOXOSTYPE_Win8_x64;
    487 #else
    488             enmOsType = VBOXOSTYPE_Win8;
    489 #endif
    490             break;
    491 
    492         case VGDRVNTVER_WIN81:
    493 #if ARCH_BITS == 64
    494             enmOsType = VBOXOSTYPE_Win81_x64;
    495 #else
    496             enmOsType = VBOXOSTYPE_Win81;
    497 #endif
    498             break;
    499 
    500         case VGDRVNTVER_WIN10:
    501 #if ARCH_BITS == 64
    502             enmOsType = VBOXOSTYPE_Win10_x64;
    503 #else
    504             enmOsType = VBOXOSTYPE_Win10;
    505 #endif
    506             break;
     426        case VGDRVNTVER_WINNT310:   enmOsType = VBOXOSTYPE_WinNT3x; break;
     427        case VGDRVNTVER_WINNT350:   enmOsType = VBOXOSTYPE_WinNT3x; break;
     428        case VGDRVNTVER_WINNT351:   enmOsType = VBOXOSTYPE_WinNT3x; break;
     429        case VGDRVNTVER_WINNT4:     enmOsType = VBOXOSTYPE_WinNT4; break;
     430        case VGDRVNTVER_WIN2K:      enmOsType = VBOXOSTYPE_Win2k; break;
     431        case VGDRVNTVER_WINXP:      enmOsType = VBOXOSTYPE_WinXP; break;
     432        case VGDRVNTVER_WIN2K3:     enmOsType = VBOXOSTYPE_Win2k3; break;
     433        case VGDRVNTVER_WINVISTA:   enmOsType = VBOXOSTYPE_WinVista; break;
     434        case VGDRVNTVER_WIN7:       enmOsType = VBOXOSTYPE_Win7; break;
     435        case VGDRVNTVER_WIN8:       enmOsType = VBOXOSTYPE_Win8; break;
     436        case VGDRVNTVER_WIN81:      enmOsType = VBOXOSTYPE_Win81; break;
     437        case VGDRVNTVER_WIN10:      enmOsType = VBOXOSTYPE_Win10; break;
    507438
    508439        default:
     
    511442            break;
    512443    }
     444#if ARCH_BITS == 64
     445    enmOsType = (VBOXOSTYPE)((int)enmOsType | VBOXOSTYPE_x64);
     446#endif
    513447    return enmOsType;
    514448}
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette