VirtualBox

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


Ignore:
Timestamp:
Nov 12, 2018 5:50:58 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
126545
Message:

Additions/win: Win10 build 17763 uses different registry key to store desktop layout, fixed path to that key, bugref:9266

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp
Files:
8 edited

Legend:

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

    r71196 r75403  
    4040
    4141/*Returns the windows version we're running on*/
    42 vboxWinVersion_t VBoxQueryWinVersion()
    43 {
    44     ULONG major, minor, build;
     42vboxWinVersion_t VBoxQueryWinVersion(uint32_t *pbuild)
     43{
     44    ULONG major, minor;
     45    static ULONG build = 0;
    4546    BOOLEAN checkedBuild;
    4647    static vboxWinVersion_t s_WinVersion = WINVERSION_UNKNOWN;
    4748
    4849    if (s_WinVersion != WINVERSION_UNKNOWN)
     50    {
     51        if (pbuild)
     52            *pbuild = build;
     53
    4954        return s_WinVersion;
     55    }
    5056
    5157    checkedBuild = PsGetVersion(&major, &minor, &build, NULL);
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPUtils.h

    r69500 r75403  
    6868
    6969RT_C_DECLS_BEGIN
    70 vboxWinVersion_t VBoxQueryWinVersion(void);
     70vboxWinVersion_t VBoxQueryWinVersion(uint32_t *pbuild);
    7171uint32_t VBoxGetHeightReduction(void);
    7272bool     VBoxLikesVideoMode(uint32_t display, uint32_t width, uint32_t height, uint32_t bpp);
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPVidModes.cpp

    r71196 r75403  
    356356                     * if the framebuffer window requires scrolling to fit the guest resolution.
    357357                     * So add 1024x768 resolution for win8 guest to allow user switch to it */
    358                        (   (VBoxQueryWinVersion() != WIN8 && VBoxQueryWinVersion() != WIN81)
     358                       (   (VBoxQueryWinVersion(NULL) != WIN8 && VBoxQueryWinVersion(NULL) != WIN81)
    359359                        || resolutionMatrix[resIndex].xRes != 1024
    360360                        || resolutionMatrix[resIndex].yRes != 768)
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPMisc.cpp

    r73097 r75403  
    621621        return STATUS_UNSUCCESSFUL;
    622622
    623     vboxWinVersion_t ver = VBoxQueryWinVersion();
     623    uint32_t build;
     624    vboxWinVersion_t ver = VBoxQueryWinVersion(&build);
    624625    if (ver == WINVERSION_VISTA)
    625626    {
    626627        pKeyPrefix = VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_VISTA;
    627628        cbKeyPrefix = sizeof (VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_VISTA);
     629    }
     630    else if (ver >= WINVERSION_10 && build >= 17763)
     631    {
     632        pKeyPrefix = VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_WIN10_17763;
     633        cbKeyPrefix = sizeof (VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_WIN10_17763);
    628634    }
    629635    else
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp

    r74671 r75403  
    5252PVOID vboxWddmMemAlloc(IN SIZE_T cbSize)
    5353{
    54     POOL_TYPE enmPoolType = (VBoxQueryWinVersion() >= WINVERSION_8) ? NonPagedPoolNx : NonPagedPool;
     54    POOL_TYPE enmPoolType = (VBoxQueryWinVersion(NULL) >= WINVERSION_8) ? NonPagedPoolNx : NonPagedPool;
    5555    return ExAllocatePoolWithTag(enmPoolType, cbSize, VBOXWDDM_MEMTAG);
    5656}
     
    12901290                    Status = STATUS_SUCCESS;
    12911291
    1292                     if (VBoxQueryWinVersion() >= WINVERSION_8)
     1292                    if (VBoxQueryWinVersion(NULL) >= WINVERSION_8)
    12931293                    {
    12941294                        DXGK_DISPLAY_INFORMATION DisplayInfo;
     
    22602260                pCaps->GpuEngineTopology.NbAsymetricProcessingNodes = VBOXWDDM_NUM_NODES;
    22612261
    2262                 if (VBoxQueryWinVersion() >= WINVERSION_8)
     2262                if (VBoxQueryWinVersion(NULL) >= WINVERSION_8)
    22632263                    pCaps->WDDMVersion = DXGKDDI_WDDMv1;
    22642264            }
     
    75057505
    75067506    // Fill in the DriverInitializationData structure and call DxgkInitialize()
    7507     if (VBoxQueryWinVersion() >= WINVERSION_8)
     7507    if (VBoxQueryWinVersion(NULL) >= WINVERSION_8)
    75087508        DriverInitializationData.Version = DXGKDDI_INTERFACE_VERSION_WIN8;
    75097509    else
     
    76107610
    76117611    LOGREL(("VBox WDDM Driver for Windows %s version %d.%d.%dr%d, %d bit; Built %s %s",
    7612             VBoxQueryWinVersion() >= WINVERSION_8 ? "8+" : "Vista and 7",
     7612            VBoxQueryWinVersion(NULL) >= WINVERSION_8 ? "8+" : "Vista and 7",
    76137613            VBOX_VERSION_MAJOR, VBOX_VERSION_MINOR, VBOX_VERSION_BUILD, VBOX_SVN_REV,
    76147614            (sizeof (void*) << 3), __DATE__, __TIME__));
     
    77097709            {
    77107710                /* No 3D support by the host. */
    7711                 if (VBoxQueryWinVersion() >= WINVERSION_8)
     7711                if (VBoxQueryWinVersion(NULL) >= WINVERSION_8)
    77127712                {
    77137713                    /* Use display only driver for Win8+. */
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.h

    r73097 r75403  
    5353#define VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_VISTA L"\\Registry\\Machine\\System\\CurrentControlSet\\Hardware Profiles\\Current\\System\\CurrentControlSet\\Control\\VIDEO\\"
    5454#define VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_WIN7 L"\\Registry\\Machine\\System\\CurrentControlSet\\Hardware Profiles\\UnitedVideo\\CONTROL\\VIDEO\\"
     55#define VBOXWDDM_REG_DISPLAYSETTINGSKEY_PREFIX_WIN10_17763 L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\UnitedVideo\\CONTROL\\VIDEO\\"
    5556
    5657#define VBOXWDDM_REG_DISPLAYSETTINGS_ATTACH_RELX L"Attach.RelativeX"
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp

    r69500 r75403  
    114114        VideoPortZeroMemory(tmpRanges, sizeof(tmpRanges));
    115115
    116         if (VBoxQueryWinVersion() == WINVERSION_NT4)
     116        if (VBoxQueryWinVersion(NULL) == WINVERSION_NT4)
    117117        {
    118118            /* NT crashes if either of 'vendorId, 'deviceId' or 'slot' parameters is NULL,
     
    774774     *to allow our driver to be loaded.
    775775     */
    776     switch (VBoxQueryWinVersion())
     776    switch (VBoxQueryWinVersion(NULL))
    777777    {
    778778        case WINVERSION_NT4:
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPVideoPortAPI.cpp

    r69500 r75403  
    9797    VideoPortZeroMemory(pAPI, sizeof(VBOXVIDEOPORTPROCS));
    9898
    99     if (VBoxQueryWinVersion() <= WINVERSION_NT4)
     99    if (VBoxQueryWinVersion(NULL) <= WINVERSION_NT4)
    100100    {
    101101        /* VideoPortGetProcAddress is available for >= win2k */
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