Difference between revisions of "Techwiki:Win32k/BASEOBJECT"

From ReactOS Wiki
Jump to: navigation, search
Line 9: Line 9:
 
  /* 08 */ USHORT cExclusiveLock;
 
  /* 08 */ USHORT cExclusiveLock;
 
  /* 0a */ USHORT BaseFlags;
 
  /* 0a */ USHORT BaseFlags;
  /* 0c */ [[techwiki/win32k/W32THREAD|PW32THREAD]] Tid;
+
  /* 0c */ [[techwiki:win32k/W32THREAD|PW32THREAD]] Tid;
 
  } BASEOBJECT, *POBJ;  
 
  } BASEOBJECT, *POBJ;  
  

Revision as of 22:16, 8 November 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
{
/* 00 */ HANDLE hHmgr;
/* 04 */ ULONG ulShareCount;
/* 08 */ USHORT cExclusiveLock;
/* 0a */ USHORT BaseFlags;
/* 0c */ 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)