Win32k:
authorJames Tabor <james.tabor@reactos.org>
Tue, 20 May 2008 02:54:33 +0000 (02:54 +0000)
committerJames Tabor <james.tabor@reactos.org>
Tue, 20 May 2008 02:54:33 +0000 (02:54 +0000)
- 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, 00f8057000f80570
 f5e, 60010f5e,      0,      0, 80000012e28ce008,       DC,   6001,      4, 0000000000000000
 f9d, b4010f9d,      0,      0,  d60, e2ee6008,       DC,   b401,      0, 0035000000350000

svn path=/trunk/; revision=33605

reactos/include/reactos/win32k/ntgdihdl.h

index e2e22f8..0bcd1f9 100644 (file)
 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;
 
 //