Difference between revisions of "Techwiki:Win32k/BASEOBJECT"

From ReactOS Wiki
Jump to: navigation, search
Line 17: Line 17:
  
 
''BaseFlags''
 
''BaseFlags''
:0x80 for objects that are allocated from a lookaside list (DC, region, bitmap, palette, font and brush)
+
:0x800 for objects that are allocated from a lookaside list (DC, region, bitmap, palette, font and brush)
:0x800 was found for a saved DC, in that case Tid was set, ulShareCount and cExclusiveLock were 0.
 

Revision as of 16:51, 24 March 2009

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;
     ULONG ulShareCount;
     USHORT cExclusiveLock;
     USHORT BaseFlags;
     PW32THREAD Tid;
} BASEOBJECT, *POBJ; 
typedef struct _BASEOBJECT DD_BASEOBJECT, *PDD_BASEOBJECT; (correct?)

The pointer to a _BASEOBJECT is known as a POBJ.

BaseFlags

0x800 for objects that are allocated from a lookaside list (DC, region, bitmap, palette, font and brush)