mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-28 12:23:28 +00:00
Implement IntGdiReferencePdev and part of IntGdiUnreferencePdev.
svn path=/trunk/; revision=33288
This commit is contained in:
@@ -2699,16 +2699,27 @@ IntEnumHDev(VOID)
|
||||
return &PrimarySurface;
|
||||
}
|
||||
|
||||
HSEMAPHORE hsemDriverMgmt = NULL; // Hax, should be in dllmain.c and global.
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiReferencePdev(PGDIDEVICE pPDev)
|
||||
{
|
||||
if(!hsemDriverMgmt) hsemDriverMgmt = EngCreateSemaphore(); // Hax, should be in dllmain.c
|
||||
EngAcquireSemaphore(hsemDriverMgmt);
|
||||
pPDev->cPdevRefs++;
|
||||
EngReleaseSemaphore(hsemDriverMgmt);
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType)
|
||||
{
|
||||
EngAcquireSemaphore(hsemDriverMgmt);
|
||||
pPDev->cPdevRefs--;
|
||||
if (!pPDev->cPdevRefs)
|
||||
{
|
||||
// Handle the destruction of pPDev or GDIDEVICE or PDEVOBJ or PDEV etc.
|
||||
}
|
||||
EngReleaseSemaphore(hsemDriverMgmt);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user