diff --git a/reactos/drivers/directx/dxg/dxg_int.h b/reactos/drivers/directx/dxg/dxg_int.h index 0ee82581075..61bca927e1d 100644 --- a/reactos/drivers/directx/dxg/dxg_int.h +++ b/reactos/drivers/directx/dxg/dxg_int.h @@ -31,19 +31,13 @@ #include "tags.h" -typedef struct _DD_BASEOBJECT -{ - HANDLE hHmgr; - ULONG ulShareCount; - LONG cExclusiveLock; - PVOID Tid; -} DD_BASEOBJECT, *PDD_BASEOBJECT, *POBJ; + typedef struct _DD_ENTRY { union { - POBJ pobj; + PDD_BASEOBJECT pobj; HANDLE hFree; }; union diff --git a/reactos/drivers/directx/dxg/eng.c b/reactos/drivers/directx/dxg/eng.c index d39de0535dd..9b71e8db18e 100644 --- a/reactos/drivers/directx/dxg/eng.c +++ b/reactos/drivers/directx/dxg/eng.c @@ -16,13 +16,13 @@ PDD_SURFACE_LOCAL STDCALL DxDdLockDirectDrawSurface(HANDLE hDdSurface) { - PEDD_SURFACE_LOCAL pEDDSurfacelcl = NULL; + PEDD_SURFACE pEDDSurface = NULL; PDD_SURFACE_LOCAL pSurfacelcl = NULL; - pSurfacelcl = DdHmgLock(hDdSurface, 2, FALSE); - if (pSurfacelcl != NULL) + pEDDSurface = DdHmgLock(hDdSurface, 2, FALSE); + if (pEDDSurface != NULL) { - pSurfacelcl = &pEDDSurfacelcl->Surfacelcl; + pSurfacelcl = &pEDDSurface->ddsSurfaceLocal; } return pSurfacelcl; @@ -33,12 +33,12 @@ STDCALL DxDdUnlockDirectDrawSurface(PDD_SURFACE_LOCAL pSurface) { BOOL retVal = FALSE; - PEDD_SURFACE_LOCAL pEDDSurfacelcl = NULL; + PEDD_SURFACE pEDDSurface = NULL; if (pSurface) { - pEDDSurfacelcl = (PEDD_SURFACE_LOCAL)( ((PBYTE)pSurface) - sizeof(DD_BASEOBJECT)); - InterlockedDecrement(&pEDDSurfacelcl->Object.cExclusiveLock); + pEDDSurface = (PEDD_SURFACE)( ((PBYTE)pSurface) - sizeof(DD_BASEOBJECT)); + InterlockedDecrement(&pEDDSurface->pobj.cExclusiveLock); retVal = TRUE; } diff --git a/reactos/include/reactos/drivers/directx/directxint.h b/reactos/include/reactos/drivers/directx/directxint.h index 7084b750f8a..2c3c0186254 100644 --- a/reactos/include/reactos/drivers/directx/directxint.h +++ b/reactos/include/reactos/drivers/directx/directxint.h @@ -2,15 +2,20 @@ #ifndef _DXINTERNEL_ #define _DXINTERNEL_ +typedef struct _DD_BASEOBJECT +{ + HANDLE hHmgr; + ULONG ulShareCount; + LONG cExclusiveLock; + PVOID Tid; +} DD_BASEOBJECT, *PDD_BASEOBJECT; + typedef struct _EDD_DIRECTDRAW_LOCAL { // // GDI Object Header // - HANDLE hHmgr; - PVOID pEntry; - INT cExcLock; - HANDLE Tid; + DD_BASEOBJECT pobj; struct _EDD_DIRECTDRAW_GLOBAL * peDirectDrawGlobal; struct _EDD_DIRECTDRAW_GLOBAL * peDirectDrawGlobal2; @@ -35,10 +40,7 @@ typedef struct _EDD_SURFACE // // GDI Object Header // - HANDLE hHmgr; - PVOID pEntry; - INT cExcLock; - HANDLE Tid; + DD_BASEOBJECT pobj; // // Direct Draw Surface Data