Attach global server information to process information.
authorJames Tabor <james.tabor@reactos.org>
Mon, 14 Apr 2008 10:51:53 +0000 (10:51 +0000)
committerJames Tabor <james.tabor@reactos.org>
Mon, 14 Apr 2008 10:51:53 +0000 (10:51 +0000)
svn path=/trunk/; revision=32949

reactos/subsystems/win32/win32k/main/dllmain.c
reactos/subsystems/win32/win32k/ntuser/misc.c
reactos/subsystems/win32/win32k/ntuser/window.c

index 088e35c..75e5716 100644 (file)
@@ -38,6 +38,8 @@ LIST_ENTRY GlobalDriverListHead;
 HANDLE GlobalUserHeap = NULL;
 PSECTION_OBJECT GlobalUserHeapSection = NULL;
 
+PSERVERINFO gpsi = NULL; // Global User Server Information.
+
 extern ULONG_PTR Win32kSSDT[];
 extern UCHAR Win32kSSPT[];
 extern ULONG Win32kNumberOfSysCalls;
index eef58ff..3b24ad7 100644 (file)
@@ -13,6 +13,7 @@
 #define NDEBUG
 #include <debug.h>
 
+extern PSERVERINFO gpsi;
 
 /*
  * @unimplemented
@@ -414,6 +415,7 @@ GetW32ProcessInfo(VOID)
             pi->hUserHeap = W32Process->HeapMappings.KernelMapping;
             pi->UserHeapDelta = (ULONG_PTR)W32Process->HeapMappings.KernelMapping -
                                 (ULONG_PTR)W32Process->HeapMappings.UserMapping;
+            pi->psi = gpsi;
 
             if (InterlockedCompareExchangePointer(&W32Process->ProcessInfo,
                                                   pi,
index 658e675..83e3bff 100644 (file)
@@ -33,6 +33,8 @@
 #define NDEBUG
 #include <debug.h>
 
+extern PSERVERINFO gpsi;
+
 /* dialog resources appear to pass this in 16 bits, handle them properly */
 #define CW_USEDEFAULT16 (0x8000)
 
@@ -49,6 +51,8 @@
 NTSTATUS FASTCALL
 InitWindowImpl(VOID)
 {
+   gpsi = UserHeapAlloc(sizeof(SERVERINFO));
+   if (gpsi) RtlZeroMemory(gpsi, sizeof(SERVERINFO));
    return STATUS_SUCCESS;
 }