4#define GDIOBJ_POOL_TAG(type) ('00hG' + (((type) & 0x1f) << 24))
6#define BASEOBJECT CBASEOBJECT
31 #if DBG_ENABLE_GDIOBJ_BACKTRACES
#define GDIOBJ_POOL_TAG(type)
VOID vSetObjectAttr(_In_opt_ PVOID pvUserAttr)
HGDIOBJ hInsertObject(OWNER owner)
BASEOBJECT(_In_ GDILOOBJTYPE loobjtype)
static BASEOBJECT * LockExclusive(HGDIOBJ hobj, GDIOBJTYPE objtype)
static BASEOBJECT * LockShared(HGDIOBJ hobj, GDILOOBJTYPE loobjtype, OWNER owner)
static PVOID pvAllocate(_In_ GDIOBJTYPE objtype, _In_ SIZE_T cjSize)
static BASEOBJECT * LockExclusive(HGDIOBJ hobj, GDILOOBJTYPE loobjtype)
#define ExAllocatePoolWithTag(hernya, size, tag)
enum GDILoObjType GDILOOBJTYPE
#define DBG_LOGEVENT(pslh, type, val)
#define DBG_INITLOG(pslh)
ULONG NTAPI DbgCaptureStackBackTace(_Out_writes_(cFramesToCapture) PVOID *ppvFrames, _In_ ULONG cFramesToSkip, _In_ ULONG cFramesToCapture)
#define GDI_OBJECT_STACK_LEVELS
#define GDI_OBJ_HMGR_POWNED
#define GDI_OBJ_HMGR_PUBLIC
#define GDI_OBJ_HMGR_NONE
enum GDIObjType GDIOBJTYPE
VOID NTAPI GDIOBJ_vDereferenceObject(POBJ pobj)
HGDIOBJ NTAPI GDIOBJ_hInsertObject(POBJ pobj, ULONG ulOwner)
VOID NTAPI GDIOBJ_vSetObjectAttr(POBJ pobj, PVOID pvObjAttr)
PGDIOBJ NTAPI GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ExpectedType)
VOID NTAPI GDIOBJ_vUnlockObject(POBJ pobj)