2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * PURPOSE: Native driver for dxg implementation
5 * FILE: win32ss/reactx/dxg/dd.c
6 * PROGRAMER: Sebastian Gasiorek (sebastian.gasiorek@reactos.org)
15 PDD_CANCREATESURFACEDATA SurfaceData
)
17 PEDD_DIRECTDRAW_LOCAL peDdL
;
18 PEDD_DIRECTDRAW_GLOBAL peDdGl
;
19 DWORD RetVal
= DDHAL_DRIVER_NOTHANDLED
;
21 peDdL
= (PEDD_DIRECTDRAW_LOCAL
)DdHmgLock(DdHandle
, ObjType_DDLOCAL_TYPE
, FALSE
);
25 peDdGl
= peDdL
->peDirectDrawGlobal2
;
26 gpEngFuncs
.DxEngLockHdev(peDdGl
->hDev
);
28 // assign out DirectDrawGlobal to SurfaceData
29 SurfaceData
->lpDD
= (PDD_DIRECTDRAW_GLOBAL
)peDdGl
;
31 if (peDdGl
->ddCallbacks
.dwFlags
& DDHAL_CB32_CANCREATESURFACE
)
33 RetVal
= peDdGl
->ddCallbacks
.CanCreateSurface(SurfaceData
);
36 gpEngFuncs
.DxEngUnlockHdev(peDdGl
->hDev
);
37 InterlockedDecrement((VOID
*)&peDdL
->pobj
.cExclusiveLock
);