-#include <w32k.h>
+#include <win32k.h>
#define NDEBUG
#include <debug.h>
EngAcquireSemaphore ( IN HSEMAPHORE hsem )
{
// www.osr.com/ddk/graphics/gdifncs_14br.htm
- PW32THREAD W32Thread;
+ PTHREADINFO W32Thread;
ASSERT(hsem);
IntGdiAcquireSemaphore ( hsem );
W32Thread = PsGetThreadWin32Thread(PsGetCurrentThread());
EngReleaseSemaphore ( IN HSEMAPHORE hsem )
{
// www.osr.com/ddk/graphics/gdifncs_5u3r.htm
- PW32THREAD W32Thread;
+ PTHREADINFO W32Thread;
ASSERT(hsem);
W32Thread = PsGetThreadWin32Thread(PsGetCurrentThread());
if (W32Thread) --W32Thread->dwEngAcquireCount;
IntGdiReleaseSemaphore ( hsem );
}
+VOID
+NTAPI
+EngAcquireSemaphoreShared(
+ IN HSEMAPHORE hsem)
+{
+ PTHREADINFO pti;
+
+ ASSERT(hsem);
+ ExEnterCriticalRegionAndAcquireResourceShared((PERESOURCE)hsem);
+ pti = PsGetThreadWin32Thread(PsGetCurrentThread());
+ if (pti) ++pti->dwEngAcquireCount;
+}
+
/*
* @implemented
*/