Techwiki:Win32k/BASEOBJECT
From ReactOS
The GDI Base Object, which is a header at the top of every GDI Object. The structure is called BASEOBJECT and is defined as follows for Windows XP, Windows 2003 and Vista, same for 64 Bit Versions:
typedef struct _BASEOBJECT { HANDLE hHmgr; // 0x00 ULONG ulShareCount; // 0x04 USHORT cExclusiveLock; // 0x08 USHORT BaseFlags; // 0x0a PW32THREAD Tid; // 0x0c } BASEOBJECT, *POBJ; typedef struct _BASEOBJECT DD_BASEOBJECT, *PDD_BASEOBJECT; //(correct?)
hHmgr
- Gdi handle for the object, if the object is in the handle table. NULL otherwise.
ulShareCount
- Number of references to the object.
cExclusiveLock
- Number of exclusive locks held by a thread. These are only held for a short time and only for some of the object types.
BaseFlags
- 0x800 for objects that are allocated from a lookaside list (DC, region, bitmap, palette, font and brush)

