[ros-diffs] [jimtabor] 33605: 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

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Tue May 20 04:54:33 CEST 2008


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/ntgdihdl.h?rev=33605&r1=33604&r2=33605&view=diff
==============================================================================
--- 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;
 
 //



More information about the Ros-diffs mailing list