8 #define GDI_OBJECT_STACK_LEVELS 20 48 #if DBG_ENABLE_GDIOBJ_BACKTRACES 51 #if DBG_ENABLE_EVENT_LOGGING struct _BASEOBJECT BASEOBJECT
VOID(NTAPI * GDIOBJDELETEPROC)(PVOID ObjectBody)
POBJ NTAPI GDIOBJ_AllocateObject(UCHAR objt, ULONG cjSize, FLONG fl)
HGDIOBJ NTAPI GDIOBJ_hInsertObject(POBJ pobj, ULONG ulOwner)
ULONG NTAPI GreGetObjectOwner(HGDIOBJ hobj)
BOOL NTAPI GreSetObjectOwnerEx(HGDIOBJ hobj, ULONG ulOwner, ULONG Flags)
struct _CLIENTOBJ * PCLIENTOBJ
VOID NTAPI GDIOBJ_vSetObjectAttr(POBJ pobj, PVOID pvObjAttr)
VOID NTAPI GDIOBJ_vSetObjectOwner(POBJ pobj, ULONG ulOwner)
struct _GDI_HANDLE_TABLE * PGDI_HANDLE_TABLE
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
BOOL NTAPI GDIOBJ_bLockMultipleObjects(ULONG ulCount, HGDIOBJ *ahObj, PGDIOBJ *apObj, UCHAR objt)
NTSTATUS NTAPI InitGdiHandleTable(VOID)
POBJ NTAPI GDIOBJ_AllocObjWithHandle(ULONG ObjectType, ULONG cjSize)
CFONT cfPublic[GDI_CFONT_MAX]
VOID(NTAPI * GDICLEANUPPROC)(PVOID ObjectBody)
BOOL NTAPI GreDeleteObject(HGDIOBJ hObject)
_Must_inspect_result_ _In_ ULONG Flags
struct _GDI_HANDLE_TABLE GDI_HANDLE_TABLE
GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT]
PVOID NTAPI GDI_MapHandleTable(PEPROCESS Process)
PGDIOBJ NTAPI GDIOBJ_TryLockObject(HGDIOBJ hobj, UCHAR objt)
PVOID NTAPI GDIOBJ_pvGetObjectAttr(POBJ pobj)
POBJ NTAPI GDIOBJ_ReferenceObjectByHandle(HGDIOBJ hobj, UCHAR objt)
PGDIOBJ NTAPI GDIOBJ_ShareLockObj(HGDIOBJ hObj, DWORD ObjectType)
#define GDI_OBJECT_STACK_LEVELS
static const unsigned RESERVE_ENTRIES_COUNT
BOOL NTAPI GreIsHandleValid(HGDIOBJ hobj)
VOID NTAPI GDIOBJ_vDeleteObject(POBJ pobj)
INT NTAPI GreGetObject(IN HGDIOBJ hobj, IN INT cbCount, OUT PVOID pvBuffer)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
struct _BASEOBJECT * POBJ
BOOL NTAPI GDIOBJ_ConvertToStockObj(HGDIOBJ *hObj)
VOID NTAPI GDIOBJ_vDereferenceObject(POBJ pobj)
struct _CLIENTOBJ CLIENTOBJ
VOID NTAPI GDIOBJ_vFreeObject(POBJ pobj)
PGDIOBJ NTAPI GDIOBJ_LockObject(HGDIOBJ hobj, UCHAR objt)
VOID NTAPI GDIOBJ_vReferenceObjectByPointer(POBJ pobj)
VOID NTAPI GDIOBJ_vUnlockObject(POBJ pobj)
BOOL NTAPI GreSetObjectOwner(HGDIOBJ hobj, ULONG ulOwner)
PGDI_HANDLE_TABLE GdiHandleTable