Difference between revisions of "Techwiki:Win32k/BASEOBJECT"
Lone Rifle (talk | contribs) m (Add syntax highlighting) |
|||
Line 2: | Line 2: | ||
The structure is called BASEOBJECT and is defined as follows for | The structure is called BASEOBJECT and is defined as follows for | ||
Windows XP, Windows 2003 and Vista, same for 64 Bit Versions: | Windows XP, Windows 2003 and Vista, same for 64 Bit Versions: | ||
− | + | <source lang="c"> | |
typedef struct _BASEOBJECT | typedef struct _BASEOBJECT | ||
{ | { | ||
− | + | /* 00 */ HANDLE hHmgr; | |
− | + | /* 04 */ ULONG ulShareCount; | |
− | + | /* 08 */ USHORT cExclusiveLock; | |
− | + | /* 0a */ USHORT BaseFlags; | |
− | + | /* 0c */ PW32THREAD Tid; | |
} BASEOBJECT, *POBJ; | } BASEOBJECT, *POBJ; | ||
− | typedef struct _BASEOBJECT DD_BASEOBJECT, *PDD_BASEOBJECT; (correct?) | + | typedef struct _BASEOBJECT DD_BASEOBJECT, *PDD_BASEOBJECT; //(correct?) |
− | + | </source> | |
The pointer to a _BASEOBJECT is known as a POBJ. | The pointer to a _BASEOBJECT is known as a POBJ. | ||
''BaseFlags'' | ''BaseFlags'' | ||
:0x800 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) | ||
+ | |||
+ | == See also == | ||
+ | [[techwiki:win32k/W32THREAD|PW32THREAD]] |
Revision as of 23:05, 5 December 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)