[ros-dev] About GDIOBJHDR header changes
Alex Ionescu
ionucu at videotron.ca
Mon Dec 31 18:05:44 CET 2007
Wrong, it should be like this:
typedef struct _BASEOBJECT
{
HANDLE hHmgr;
ULONG ulShareCount;
USHORT cExclusiveLock;
USHORT BaseFlags;
PW32THREAD Tid;
} BASEOBJECT, *POBJ;
typedef struct _EINFO
{
union
{
POBJ pobj;
HOBJ hFree;
};
} EINFO, *PEINFO;
typedef struct _OBJECTOWNER_S
{
ULONG Lock:1;
ULONG Pid_Shifted:31;
} OBJECTOWNER_S, *POBJECTOWNER_S;
typedef struct _OBJECTOWNER
{
union
{
OBJECTOWNER_S Share;
ULONG ulObj;
};
} OBJECTOWNER, *POBJECTOWNER;
typedef struct _ENTRY
{
EINFO einfo;
OBJECTOWNER ObjectOwner;
USHORT FullUnique;
UCHAR Objt;
UCHAR Flags;
PVOID pUser;
} ENTRY, DD_ENTRY, *PENTRY, *PDD_ENTRY;
Also, now you don't need to do Pid & 0xFFFFFFFC in your code, you can
just use .Pid_Shifted directly.
On 31-Dec-07, at 8:42 AM, Magnus Olsen wrote:
> what I reading the _ENTRY should look like this as final version,
> correct me
> if I am wrong
>
> typedef struct _ENTRY
> {
> union
> {
> PDD_BASEOBJECT pobj;
> HANDLE hFree;
> } einfo;
>
> union
> {
> ULONG ulObj;
> struct
> {
> USHORT Count;
> USHORT Pid_Shifted;
> } Share;
> } ObjectOwner;
> USHORT FullUnique;
> UCHAR Objt;
> UCHAR Flags;
> PVOID pUser;
> } DD_ENTRY, *PDD_ENTRY;
>
> ----- Original Message -----
> From: "James Tabor" <jimtabor.rosdev at gmail.com>
> To: "ReactOS Development List" <ros-dev at reactos.org>
> Sent: Monday, December 31, 2007 7:46 AM
> Subject: Re: [ros-dev] About GDIOBJHDR header changes
>
>
>> Hi!
>>
>> On Dec 30, 2007 10:43 PM, Alex Ionescu <ionucu at videotron.ca> wrote:
>>> Hi,
>>>
>>> lkd> dt win32k!_BASEOBJECT -r
>>> +0x000 hHmgr : Ptr32 Void
>>> +0x004 ulShareCount : Uint4B
>>> +0x008 cExclusiveLock : Uint2B
>>> +0x00a BaseFlags : Uint2B
>>> +0x00c Tid : Ptr32 _W32THREAD
>>> +0x000 pEThread : Ptr32 _ETHREAD
>>> +0x004 RefCount : Uint4B
>>> +0x008 ptlW32 : Ptr32 _TL
>>> +0x000 next : Ptr32 _TL
>>> +0x004 pobj : Ptr32 Void
>>> +0x008 pfnFree : Ptr32 void
>>> +0x00c pgdiDcattr : Ptr32 Void
>>> +0x010 pgdiBrushAttr : Ptr32 Void
>>> +0x014 pUMPDObjs : Ptr32 Void
>>> +0x018 pUMPDHeap : Ptr32 Void
>>> +0x01c pUMPDObj : Ptr32 Void
>>> +0x020 GdiTmpTgoList : _LIST_ENTRY
>>> +0x000 Flink : Ptr32 _LIST_ENTRY
>>> +0x004 Blink : Ptr32 _LIST_ENTRY
>> I like this one:
>> lkd> dt win32k!_W32THREAD -r
>> +0x000 pEThread : Ptr32 _ETHREAD
>> +0x004 RefCount : Uint4B
>> +0x008 ptlW32 : Ptr32 _TL
>> +0x000 next : Ptr32 _TL
>> +0x000 next : Ptr32 _TL
>> +0x004 pobj : Ptr32 Void
>> +0x008 pfnFree : Ptr32
>> +0x004 pobj : Ptr32 Void
>> +0x008 pfnFree : Ptr32
>> +0x00c pgdiDcattr : Ptr32 Void
>> +0x010 pgdiBrushAttr : Ptr32 Void
>> +0x014 pUMPDObjs : Ptr32 Void
>> +0x018 pUMPDHeap : Ptr32 Void
>> +0x01c dwEngAcquireCount : Uint4B
>> +0x020 pSemTable : Ptr32 Void
>> +0x024 pUMPDObj : Ptr32 Void
>>
>> This sets on top of thread info above the "USER specific fields".
>> Thanks!
>> James
>>
>> Ref:
>> http://forum.sysinternals.com/forum_posts.asp?TID=901
>> _______________________________________________
>> Ros-dev mailing list
>> Ros-dev at reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
Best regards,
Alex Ionescu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-dev/attachments/20071231/bf13473b/attachment-0001.html
More information about the Ros-dev
mailing list