diff --git a/reactos/include/reactos/drivers/directx/dxeng.h b/reactos/include/reactos/drivers/directx/dxeng.h index 18d6d9fb66a..05213c55474 100644 --- a/reactos/include/reactos/drivers/directx/dxeng.h +++ b/reactos/include/reactos/drivers/directx/dxeng.h @@ -46,6 +46,29 @@ #define DXENG_INDEX_DxEngGetRedirectionBitmap 0x29 #define DXENG_INDEX_DxEngLoadImage 0x2A +typedef enum _DXEGSHDEVDATA +{ + DxEGShDevData_Surface, + DxEGShDevData_hSpooler, + DxEGShDevData_DitherFmt, + DxEGShDevData_FxCaps, + DxEGShDevData_FxCaps2, + DxEGShDevData_DrvFuncs, + DxEGShDevData_dhpdev, + DxEGShDevData_eddg, + DxEGShDevData_dd_nCount, + DxEGShDevData_dd_flags, + DxEGShDevData_disable, + DxEGShDevData_metadev, + DxEGShDevData_display, + DxEGShDevData_Parent, + DxEGShDevData_OpenRefs, + DxEGShDevData_palette, + DxEGShDevData_ldev, + DxEGShDevData_GDev, + DxEGShDevData_clonedev, +} DXEGSHDEVDATA,*PDXEGSHDEVDATA; + /************************************************************************/ /* win32k.sys internal protypes for the driver functions it export */ /************************************************************************/ @@ -61,8 +84,8 @@ BOOL DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Unuse); BOOLEAN DxEngLockShareSem(); BOOLEAN DxEngUnlockShareSem(); BOOLEAN DxEngCleanDC(HDC hdc); -DWORD DxEngGetHdevData(HDEV hdev, DWORD Index); -BOOLEAN DxEngSetHdevData(HDEV hdev, DWORD Index, DWORD Save); +DWORD DxEngGetHdevData(HDEV, DXEGSHDEVDATA); +BOOLEAN DxEngSetHdevData(HDEV, DXEGSHDEVDATA, DWORD); BOOLEAN DxEngIncDispUniq(); /* prototypes are not done yet, I need gather all my notes diff --git a/reactos/subsystems/win32/win32k/include/dc.h b/reactos/subsystems/win32/win32k/include/dc.h index 78228ae06f1..7780bb4de60 100644 --- a/reactos/subsystems/win32/win32k/include/dc.h +++ b/reactos/subsystems/win32/win32k/include/dc.h @@ -69,7 +69,7 @@ typedef struct _GDIDEVICE HSURF FillPatterns[HS_DDI_MAX]; - ULONG DxDD_Data; + ULONG DxDD_nCount; DEVINFO DevInfo; GDIINFO GDIInfo; diff --git a/reactos/subsystems/win32/win32k/ntddraw/dxeng.c b/reactos/subsystems/win32/win32k/ntddraw/dxeng.c index 14ddef33317..784ecc54a12 100644 --- a/reactos/subsystems/win32/win32k/ntddraw/dxeng.c +++ b/reactos/subsystems/win32/win32k/ntddraw/dxeng.c @@ -383,7 +383,7 @@ DWORD DxEngSpSpritesVisible(DWORD x1) /************************************************************************/ DWORD DxEngGetHdevData(HDEV hdev, - DWORD Index) + DXEGSHDEVDATA Index) { UNIMPLEMENTED; return 0; @@ -398,11 +398,11 @@ DxEngGetHdevData(HDEV hdev, * @param HDEV hPDev * The hdev * -* @param DWORD Index -* Support only Index 8 it is a internal counter how many time hdev been lock and unlock +* @param DXEGSHDEVDATA Type +* Support only DxEGShDevData_dd_nCount it is a internal counter how many time hdev been lock and unlock * -* @param DWORD Save -* The value to be save to hdev internal counter +* @param DWORD Data +* The value to be save to hdev * * @return * Returns TRUE for success, FALSE for failure @@ -412,19 +412,18 @@ DxEngGetHdevData(HDEV hdev, * *--*/ BOOLEAN -DxEngSetHdevData(HDEV hdev, - DWORD Index, - DWORD Save) +DxEngSetHdevData(HDEV hDev, + DXEGSHDEVDATA Type, + DWORD Data) { - BOOL retVal = FALSE; - if (Index == 8) - { - /* Counter how many time hdev been lock/unlock, we do not support it yet in ReactOS */ - DPRINT1("Warning not supproted yet\n"); - retVal = TRUE; - } + BOOL retVal = FALSE; // Default, no set. - return retVal; + if ( Type == DxEGShDevData_dd_nCount ) + { + ((PGDIDEVICE)hDev)->DxDD_nCount = Data; + retVal = TRUE; // Set + } + return retVal; } /************************************************************************/