Data Structures |
| struct | PGDI_HANDLE_TABLE |
| struct | POBJ |
| struct | PCLIENTOBJ |
Defines |
| #define | RESERVE_ENTRIES_COUNT 10 |
| #define | GDIOBJFLAG_DEFAULT (0x0) |
| #define | GDIOBJFLAG_IGNOREPID (0x1) |
| #define | GDIOBJFLAG_IGNORELOCK (0x2) |
Typedefs |
| typedef PVOID | PGDIOBJ |
| typedef BOOL(NTAPI * | GDICLEANUPPROC )(PVOID ObjectBody) |
Enumerations |
| enum | BASEFLAGS { BASEFLAG_LOOKASIDE = 0x80,
BASEFLAG_READY_TO_DIE = 0x1000
} |
Functions |
| INIT_FUNCTION NTSTATUS NTAPI | InitGdiHandleTable (VOID) |
| BOOL NTAPI | GreIsHandleValid (HGDIOBJ hobj) |
| BOOL NTAPI | GreDeleteObject (HGDIOBJ hObject) |
| ULONG NTAPI | GreGetObjectOwner (HGDIOBJ hobj) |
| BOOL NTAPI | GreSetObjectOwner (HGDIOBJ hobj, ULONG ulOwner) |
| INT NTAPI | GreGetObject (IN HGDIOBJ hobj, IN INT cbCount, IN PVOID pvBuffer) |
| POBJ NTAPI | GDIOBJ_AllocateObject (UCHAR objt, ULONG cjSize, FLONG fl) |
| VOID NTAPI | GDIOBJ_vDeleteObject (POBJ pobj) |
| POBJ NTAPI | GDIOBJ_ReferenceObjectByHandle (HGDIOBJ hobj, UCHAR objt) |
| VOID NTAPI | GDIOBJ_vReferenceObjectByPointer (POBJ pobj) |
| VOID NTAPI | GDIOBJ_vDereferenceObject (POBJ pobj) |
| PGDIOBJ NTAPI | GDIOBJ_LockObject (HGDIOBJ hobj, UCHAR objt) |
| VOID NTAPI | GDIOBJ_vUnlockObject (POBJ pobj) |
| VOID NTAPI | GDIOBJ_vSetObjectOwner (POBJ pobj, ULONG ulOwner) |
| BOOL NTAPI | GDIOBJ_bLockMultipleObjects (ULONG ulCount, HGDIOBJ *ahObj, PGDIOBJ *apObj, UCHAR objt) |
| HGDIOBJ NTAPI | GDIOBJ_hInsertObject (POBJ pobj, ULONG ulOwner) |
| VOID NTAPI | GDIOBJ_vFreeObject (POBJ pobj) |
| VOID NTAPI | GDIOBJ_vSetObjectAttr (POBJ pobj, PVOID pvObjAttr) |
| PVOID NTAPI | GDIOBJ_pvGetObjectAttr (POBJ pobj) |
| BOOL NTAPI | GDIOBJ_ConvertToStockObj (HGDIOBJ *hObj) |
| POBJ NTAPI | GDIOBJ_AllocObjWithHandle (ULONG ObjectType, ULONG cjSize) |
| PGDIOBJ NTAPI | GDIOBJ_ShareLockObj (HGDIOBJ hObj, DWORD ObjectType) |
| PVOID NTAPI | GDI_MapHandleTable (PEPROCESS Process) |
Variables |
| PGDI_HANDLE_TABLE | GdiHandleTable |