[CMAKE]
[reactos.git] / subsystems / win32 / win32k / ntuser / ntuser.c
index e2ce8e2..d28aa33 100644 (file)
@@ -9,7 +9,7 @@
 
 /* INCLUDES ******************************************************************/
 
-#include <w32k.h>
+#include <win32k.h>
 
 #define NDEBUG
 #include <debug.h>
@@ -20,6 +20,7 @@ BOOL InitSysParams();
 
 ERESOURCE UserLock;
 ATOM AtomMessage; // Window Message atom.
+ATOM AtomWndObj;  // Window Object atom.
 BOOL gbInitialized;
 HINSTANCE hModClient = NULL;
 BOOL ClientPfnInit = FALSE;
@@ -45,13 +46,17 @@ InitUserAtoms(VOID)
   /* System Context Help Id Atom */
   gpsi->atomContextHelpIdProp = IntAddGlobalAtom(L"SysCH", TRUE);
 
+  AtomWndObj = IntAddGlobalAtom(L"SysWNDO", TRUE);
+
   return STATUS_SUCCESS;
 }
 
 /* FUNCTIONS *****************************************************************/
 
-
-NTSTATUS FASTCALL InitUserImpl(VOID)
+INIT_FUNCTION
+NTSTATUS
+NTAPI
+InitUserImpl(VOID)
 {
    NTSTATUS Status;
 
@@ -70,16 +75,6 @@ NTSTATUS FASTCALL InitUserImpl(VOID)
       return Status;
    }
 
-   if (!gpsi)
-   {
-      gpsi = UserHeapAlloc(sizeof(SERVERINFO));
-      if (gpsi)
-      {
-         RtlZeroMemory(gpsi, sizeof(SERVERINFO));
-         DPRINT("Global Server Data -> %x\n", gpsi);
-      }
-   }
-
    InitUserAtoms();
 
    InitSysParams();
@@ -87,6 +82,9 @@ NTSTATUS FASTCALL InitUserImpl(VOID)
    return STATUS_SUCCESS;
 }
 
+NTSTATUS
+NTAPI
+InitVideo();
 
 NTSTATUS
 NTAPI
@@ -99,7 +97,11 @@ UserInitialize(
 // Set W32PF_Flags |= (W32PF_READSCREENACCESSGRANTED | W32PF_IOWINSTA)
 // Create Object Directory,,, Looks like create workstation. "\\Windows\\WindowStations"
 // Create Event for Diconnect Desktop.
-// Initialize Video.
+
+    /* Initialize Video. */
+    Status = InitVideo();
+    if (!NT_SUCCESS(Status)) return Status;
+
 // {
 //     DrvInitConsole.
 //     DrvChangeDisplaySettings.
@@ -113,7 +115,7 @@ UserInitialize(
    
 //    Callback to User32 Client Thread Setup
 
-    Status = co_IntClientThreadSetup();
+    co_IntClientThreadSetup();
 
 // }
 // Set Global SERVERINFO Error flags.
@@ -121,6 +123,8 @@ UserInitialize(
 
     NtUserUpdatePerUserSystemParameters(0, TRUE);
 
+    CsrInit();
+
     return STATUS_SUCCESS;
 }
 
@@ -136,8 +140,8 @@ NtUserInitialize(
 {
     NTSTATUS Status;
 
-    DPRINT("Enter NtUserInitialize(%lx, %p, %p)\n",
-           dwWinVersion, hPowerRequestEvent, hMediaRequestEvent);
+    DPRINT1("Enter NtUserInitialize(%lx, %p, %p)\n",
+            dwWinVersion, hPowerRequestEvent, hMediaRequestEvent);
 
     /* Check the Windows version */
     if (dwWinVersion != 0)