Author: jimtabor Date: Mon May 19 21:54:33 2008 New Revision: 33605
URL: http://svn.reactos.org/svn/reactos?rev=33605&view=rev Log: Win32k: - GDI_TABLE_ENTRY ProcessId is a dword or int not a short. - Notice also the pid for f5e, it's set GDI_OBJ_HMGR_NONE with pUser 0. Our DCE code handling pUser is right with that respect. - Tested wine gdi32: dc gdiobj and user32: dce, all result same as before.
object list for DC type objects owned by ALL PIDs I, handle, Lock, sCount, pid, pv, objt, unique, Flags, pUser, Tlock -------------------------------------------------------------------------------------------- f4c, ca010f4c, 0, 0, d60, e2ebc2a0, DC, ca01, 0, 00f80570, 00f80570 f5e, 60010f5e, 0, 0, 80000012, e28ce008, DC, 6001, 4, 00000000, 00000000 f9d, b4010f9d, 0, 0, d60, e2ee6008, DC, b401, 0, 00350000, 00350000
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgd... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntgdihdl.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/win32k/ntgdihdl.h [iso-8859-1] Mon May 19 21:54:33 2008 @@ -200,16 +200,15 @@ typedef struct _GDI_TABLE_ENTRY { PVOID KernelData; /* Points to the kernel mode structure */ - SHORT ProcessId; /* process id that created the object, 0 for stock objects */ - SHORT nCount; /* usage count of object handles */ + DWORD ProcessId; /* process id that created the object, 0 for stock objects */ union{ // temp union structure. LONG Type; /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */ struct{ - SHORT FullUnique; - CHAR ObjectType; - CHAR Flags; + SHORT FullUnique; // unique + CHAR ObjectType; // objt + CHAR Flags; // Flags };}; - PVOID UserData; /* Points to the user mode structure, usually NULL though */ + PVOID UserData; /* pUser Points to the user mode structure, usually NULL though */ } GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;
//