VirtualBox

Changeset 54006 in vbox


Ignore:
Timestamp:
Jan 28, 2015 7:39:54 AM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97911
Message:

Windows additions: OS version check fixes

Location:
trunk/src/VBox/Additions
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPUtils.cpp

    r53008 r54006  
    6060    LOG(("running on version %d.%d, build %d(checked=%d)", major, minor, build, (int)checkedBuild));
    6161
    62     if (major == 6)
     62    if (major > 6)
     63    {
     64        /* Everything newer than Windows 8.1, i.e. Windows 10 with major == 10. */
     65        s_WinVersion = WINVERSION_10;
     66    }
     67    else if (major == 6)
    6368    {
    6469        if (minor >= 4)
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r53802 r54006  
    74267426        if (major > 6)
    74277427        {
    7428             WARN(("Unknow win version, newer major release, assuming 3D check is required"));
     7428            /* Windows 10 and newer. */
    74297429            f3DRequired = TRUE;
    74307430        }
    74317431        else if (major == 6)
    74327432        {
    7433             if (minor > 4)
    7434             {
    7435                 WARN(("Unknow win version, newer minor release, assuming 3D check is required"));
     7433            if (minor >= 2)
     7434            {
     7435                /* Windows 8, 8.1 and 10 preview. */
    74367436                f3DRequired = TRUE;
    74377437            }
    7438             else if (minor >= 2)
    7439             {
    7440                 LOG(("3D check is required!"));
    7441                 f3DRequired = TRUE;
    7442             }
    74437438            else
    74447439            {
    7445                 LOG(("3D is NOT required!"));
    74467440                f3DRequired = FALSE;
    74477441            }
     
    74527446            f3DRequired = FALSE;
    74537447        }
     7448
     7449        LOG(("3D is %srequired!", f3DRequired? "": "NOT "));
    74547450
    74557451        Status = STATUS_SUCCESS;
  • trunk/src/VBox/Additions/WINNT/Installer/winver.nsh

    r53008 r54006  
    6767  StrCmp $R1 '6.1' lbl_winnt_7
    6868  StrCmp $R1 '6.2' lbl_winnt_8
     69
     70  ; Windows 10 preview 9926 has CurrentVersion == 6.3
     71  ; Check Windows 10 registry values
     72  ReadRegDWORD $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentMajorVersionNumber"
     73  ${If} $R0 == "10"
     74    Goto lbl_winnt_10
     75  ${EndIf}
     76
    6977  StrCmp $R1 '6.3' lbl_winnt_8_1
    7078  StrCmp $R1 '6.4' lbl_winnt_10 lbl_error
  • trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp

    r53008 r54006  
    108108    ULONG ulBuildNo;
    109109    BOOLEAN fCheckedBuild = PsGetVersion(&ulMajorVer, &ulMinorVer, &ulBuildNo, NULL);
    110     LogRelFunc(("Running on Windows NT version %u.%u, build %u\n", ulMajorVer, ulMinorVer, ulBuildNo));
     110
     111    /* Use RTLogBackdoorPrintf to make sure that this goes to VBox.log */
     112    RTLogBackdoorPrintf("VBoxGuest: Windows version %u.%u, build %u\n", ulMajorVer, ulMinorVer, ulBuildNo);
    111113    if (fCheckedBuild)
    112         LogRelFunc(("Running on a Windows checked build (debug)!\n"));
     114        RTLogBackdoorPrintf("VBoxGuest: Windows checked build\n");
     115
    113116#ifdef DEBUG
    114117    vbgdNtDoTests();
     
    116119    switch (ulMajorVer)
    117120    {
     121        case 10:
     122            switch (ulMinorVer)
     123            {
     124                case 0:
     125                    /* Windows 10 Preview builds starting with 9926. */
     126                default:
     127                    /* Also everything newer. */
     128                    g_enmVbgdNtVer = VBGDNTVER_WIN10;
     129                    break;
     130            }
     131            break;
    118132        case 6: /* Windows Vista or Windows 7 (based on minor ver) */
    119133            switch (ulMinorVer)
     
    132146                    break;
    133147                case 4:
     148                    /* Windows 10 Preview builds. */
     149                default:
     150                    /* Also everything newer. */
    134151                    g_enmVbgdNtVer = VBGDNTVER_WIN10;
    135                     break;
    136                 default:
    137                     LogRelFunc(("Unknown version of Windows (%u.%u), refusing!\n", ulMajorVer, ulMinorVer));
    138                     rc = STATUS_DRIVER_UNABLE_TO_LOAD;
    139152                    break;
    140153            }
     
    143156            switch (ulMinorVer)
    144157            {
     158                default:
    145159                case 2:
    146160                    g_enmVbgdNtVer = VBGDNTVER_WIN2K3;
     
    152166                    g_enmVbgdNtVer = VBGDNTVER_WIN2K;
    153167                    break;
    154                 default:
    155                     LogRelFunc(("Unknown version of Windows (%u.%u), refusing!\n", ulMajorVer, ulMinorVer));
    156                     rc = STATUS_DRIVER_UNABLE_TO_LOAD;
    157168            }
    158169            break;
     
    161172            break;
    162173        default:
    163             if (ulMajorVer < 4)
    164                 LogRelFunc(("At least Windows NT4 required! (%u.%u)\n", ulMajorVer, ulMinorVer));
     174            if (ulMajorVer > 6)
     175            {
     176                /* "Windows 10 mode" for Windows 8.1+. */
     177                g_enmVbgdNtVer = VBGDNTVER_WIN10;
     178            }
    165179            else
    166                 LogRelFunc(("Too new version %u.%u!\n", ulMajorVer, ulMinorVer));
    167             rc = STATUS_DRIVER_UNABLE_TO_LOAD;
     180            {
     181                if (ulMajorVer < 4)
     182                    LogRelFunc(("At least Windows NT4 required! (%u.%u)\n", ulMajorVer, ulMinorVer));
     183                else
     184                    LogRelFunc(("Unknown version %u.%u!\n", ulMajorVer, ulMinorVer));
     185                rc = STATUS_DRIVER_UNABLE_TO_LOAD;
     186            }
    168187            break;
    169188    }
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