VirtualBox

Changeset 4122 in vbox for trunk/src/VBox/Additions/WINNT


Ignore:
Timestamp:
Aug 12, 2007 4:01:54 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
23595
Message:

changed nt4 detection

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Display
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h

    r4121 r4122  
    141141extern HSEMAPHORE ghsemHwBuffer;
    142142
    143 /* Global DDI version of guest */
    144 extern ULONG giEngineVersion;
     143extern BOOL  g_bOnNT40;
    145144
    146145DWORD getAvailableModes(HANDLE, PVIDEO_MODE_INFORMATION *, DWORD *);
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/enable.c

    r4121 r4122  
    273273// Required hook bits will be set up according to DDI version
    274274static ULONG gflHooks = 0;
    275        ULONG giEngineVersion = DDI_DRIVER_VERSION_NT4;
     275       BOOL  g_bOnNT40 = TRUE;      /* assume NT4 guest by default */
    276276
    277277#define HOOKS_BMF8BPP  gflHooks
     
    299299// working with.  For the first version the driver does nothing with it.
    300300
    301     iEngineVersion;
    302 
    303301    DISPDBG((0, "VBoxDisp::DrvEnableDriver called. iEngine version = %08X\n", iEngineVersion));
    304302
     
    308306               HOOK_PAINT | HOOK_STRETCHBLT | HOOK_SYNCHRONIZEACCESS;
    309307
    310     giEngineVersion = iEngineVersion;
     308    // Set up g_bOnNT40 based on the value in iEngineVersion
     309    if(iEngineVersion >= DDI_DRIVER_VERSION_NT5)
     310        g_bOnNT40 = FALSE;
    311311
    312312// Fill in as much as we can.
     
    622622        ppdev->hsurfScreenBitmap = hsurf;
    623623         
    624         if (!EngAssociateSurface(hsurf, ppdev->hdevEng, 0))
     624        if (!EngAssociateSurface(hsurf, ppdev->hdevEng, flHooks))
    625625        {
    626626            DISPDBG((0, "DISP DrvEnableSurface failed EngAssociateSurface for ScreenBitmap.\n"));
     
    645645            {
    646646                ppdev->hsurfScreen = hsurf;
    647                
     647                /* Must set dhsurf to make sure GDI doesn't ignore our hooks */
     648                ppdev->psoScreenBitmap->dhsurf = (DHSURF)hsurf;
     649
    648650                if (!EngAssociateSurface(hsurf, ppdev->hdevEng, flHooks))
    649651                {
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/screen.c

    r4121 r4122  
    488488
    489489
    490     if (    giEngineVersion == DDI_DRIVER_VERSION_NT4
    491         ||  giEngineVersion == DDI_DRIVER_VERSION_SP3)
     490    if (g_bOnNT40)
    492491    {
    493492        DISPDBG((0,"DISP bInitPDEV pGdiInfo->ulVersion = %x\n", GDI_DRIVER_VERSION));
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