[WIN32K]
[reactos.git] / reactos / win32ss / user / ntuser / ntuser.c
index efa2c49..3fe3242 100644 (file)
@@ -2,13 +2,13 @@
  *  COPYRIGHT:        See COPYING in the top level directory
  *  PROJECT:          ReactOS kernel
  *  PURPOSE:          ntuser init. and main funcs.
- *  FILE:             subsystems/win32/win32k/ntuser/ntuser.c
+ *  FILE:             win32ss/user/ntuser/ntuser.c
  */
 
 #include <win32k.h>
 DBG_DEFAULT_CHANNEL(UserMisc);
 
-/* GLOBALS *******************************************************************/
+/* GLOBALS ********************************************************************/
 
 PTHREADINFO gptiCurrent = NULL;
 PPROCESSINFO gppiInputProvider = NULL;
@@ -21,73 +21,72 @@ HINSTANCE hModClient = NULL;
 BOOL ClientPfnInit = FALSE;
 ATOM gaGuiConsoleWndClass;
 
-/* PRIVATE FUNCTIONS *********************************************************/
+/* PRIVATE FUNCTIONS **********************************************************/
 
 static
 NTSTATUS FASTCALL
 InitUserAtoms(VOID)
 {
+    gpsi->atomSysClass[ICLS_MENU]      = 32768;
+    gpsi->atomSysClass[ICLS_DESKTOP]   = 32769;
+    gpsi->atomSysClass[ICLS_DIALOG]    = 32770;
+    gpsi->atomSysClass[ICLS_SWITCH]    = 32771;
+    gpsi->atomSysClass[ICLS_ICONTITLE] = 32772;
+    gpsi->atomSysClass[ICLS_TOOLTIPS]  = 32774;
+
+    /* System Message Atom */
+    AtomMessage = IntAddGlobalAtom(L"Message", TRUE);
+    gpsi->atomSysClass[ICLS_HWNDMESSAGE] = AtomMessage;
+
+    /* System Context Help Id Atom */
+    gpsi->atomContextHelpIdProp = IntAddGlobalAtom(L"SysCH", TRUE);
+
+    gpsi->atomIconSmProp = IntAddGlobalAtom(L"SysICS", TRUE);
+    gpsi->atomIconProp   = IntAddGlobalAtom(L"SysIC", TRUE);
+
+    gpsi->atomFrostedWindowProp = IntAddGlobalAtom(L"SysFrostedWindow", TRUE);
+
+    /*
+     * FIXME: AddPropW uses the global kernel atom table, thus leading to conflicts if we use
+     * the win32k atom table for this ones. What is the right thing to do ?
+     */
+    // AtomWndObj = IntAddGlobalAtom(L"SysWNDO", TRUE);
+    NtAddAtom(L"SysWNDO", 14, &AtomWndObj);
+    AtomLayer = IntAddGlobalAtom(L"SysLayer", TRUE);
+    AtomFlashWndState = IntAddGlobalAtom(L"FlashWState", TRUE);
 
-  gpsi->atomSysClass[ICLS_MENU]      = 32768;
-  gpsi->atomSysClass[ICLS_DESKTOP]   = 32769;
-  gpsi->atomSysClass[ICLS_DIALOG]    = 32770;
-  gpsi->atomSysClass[ICLS_SWITCH]    = 32771;
-  gpsi->atomSysClass[ICLS_ICONTITLE] = 32772;
-  gpsi->atomSysClass[ICLS_TOOLTIPS]  = 32774;
-
-  /* System Message Atom */
-  AtomMessage = IntAddGlobalAtom(L"Message", TRUE);
-  gpsi->atomSysClass[ICLS_HWNDMESSAGE] = AtomMessage;
-
-  /* System Context Help Id Atom */
-  gpsi->atomContextHelpIdProp = IntAddGlobalAtom(L"SysCH", TRUE);
-
-  gpsi->atomIconSmProp = IntAddGlobalAtom(L"SysICS", TRUE);
-  gpsi->atomIconProp = IntAddGlobalAtom(L"SysIC", TRUE);
-
-  gpsi->atomFrostedWindowProp = IntAddGlobalAtom(L"SysFrostedWindow", TRUE);
-
-  /*
-   * FIXME: AddPropW uses the global kernel atom table, thus leading to conflicts if we use
-   * the win32k atom table for this ones. What is the right thing to do ?
-   */
-  // AtomWndObj = IntAddGlobalAtom(L"SysWNDO", TRUE);
-  NtAddAtom(L"SysWNDO", 14, &AtomWndObj);
-  AtomLayer = IntAddGlobalAtom(L"SysLayer", TRUE);
-  AtomFlashWndState = IntAddGlobalAtom(L"FlashWState", TRUE);
-
-  return STATUS_SUCCESS;
+    return STATUS_SUCCESS;
 }
 
-/* FUNCTIONS *****************************************************************/
+/* FUNCTIONS ******************************************************************/
 
 INIT_FUNCTION
 NTSTATUS
 NTAPI
 InitUserImpl(VOID)
 {
-   NTSTATUS Status;
+    NTSTATUS Status;
 
-   ExInitializeResourceLite(&UserLock);
+    ExInitializeResourceLite(&UserLock);
 
-   if (!UserCreateHandleTable())
-   {
-      ERR("Failed creating handle table\n");
-      return STATUS_INSUFFICIENT_RESOURCES;
-   }
+    if (!UserCreateHandleTable())
+    {
+        ERR("Failed creating handle table\n");
+        return STATUS_INSUFFICIENT_RESOURCES;
+    }
 
-   Status = InitSessionImpl();
-   if (!NT_SUCCESS(Status))
-   {
-      ERR("Error init session impl.\n");
-      return Status;
-   }
+    Status = InitSessionImpl();
+    if (!NT_SUCCESS(Status))
+    {
+        ERR("Error init session impl.\n");
+        return Status;
+    }
 
-   InitUserAtoms();
+    InitUserAtoms();
 
-   InitSysParams();
+    InitSysParams();
 
-   return STATUS_SUCCESS;
+    return STATUS_SUCCESS;
 }
 
 NTSTATUS
@@ -110,7 +109,7 @@ UserInitialize(VOID)
     Status = UserCreateWinstaDirectory();
     if (!NT_SUCCESS(Status)) return Status;
 
-    /* Initialize Video. */
+    /* Initialize Video */
     Status = InitVideo();
     if (!NT_SUCCESS(Status)) return Status;
 
@@ -123,7 +122,7 @@ UserInitialize(VOID)
 // Create ThreadInfo for this Thread!
 // {
 
-    /* Initialize the current thread. */
+    /* Initialize the current thread */
     Status = UserCreateThreadInfo(PsGetCurrentThread());
     if (!NT_SUCCESS(Status)) return Status;
 
@@ -135,10 +134,10 @@ UserInitialize(VOID)
 
     if (gpsi->hbrGray == NULL)
     {
-       hPattern55AABitmap = GreCreateBitmap(8, 8, 1, 1, (LPBYTE)wPattern55AA);
-       gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap);
-       GreDeleteObject(hPattern55AABitmap);
-       GreSetBrushOwner(gpsi->hbrGray, GDI_OBJ_HMGR_PUBLIC);
+        hPattern55AABitmap = GreCreateBitmap(8, 8, 1, 1, (LPBYTE)wPattern55AA);
+        gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap);
+        GreDeleteObject(hPattern55AABitmap);
+        GreSetBrushOwner(gpsi->hbrGray, GDI_OBJ_HMGR_PUBLIC);
     }
 
     return STATUS_SUCCESS;
@@ -150,9 +149,9 @@ UserInitialize(VOID)
 NTSTATUS
 APIENTRY
 NtUserInitialize(
-  DWORD   dwWinVersion,
-  HANDLE  hPowerRequestEvent,
-  HANDLE  hMediaRequestEvent)
+    DWORD  dwWinVersion,
+    HANDLE hPowerRequestEvent,
+    HANDLE hMediaRequestEvent)
 {
     NTSTATUS Status;
 
@@ -201,38 +200,40 @@ RETURN
 */
 BOOL FASTCALL UserIsEntered(VOID)
 {
-   return ExIsResourceAcquiredExclusiveLite(&UserLock)
-      || ExIsResourceAcquiredSharedLite(&UserLock);
+    return ExIsResourceAcquiredExclusiveLite(&UserLock) ||
+           ExIsResourceAcquiredSharedLite(&UserLock);
 }
 
 BOOL FASTCALL UserIsEnteredExclusive(VOID)
 {
-   return ExIsResourceAcquiredExclusiveLite(&UserLock);
+    return ExIsResourceAcquiredExclusiveLite(&UserLock);
 }
 
 VOID FASTCALL CleanupUserImpl(VOID)
 {
-   ExDeleteResourceLite(&UserLock);
+    ExDeleteResourceLite(&UserLock);
 }
 
 VOID FASTCALL UserEnterShared(VOID)
 {
-   KeEnterCriticalRegion();
-   ExAcquireResourceSharedLite(&UserLock, TRUE);
+    KeEnterCriticalRegion();
+    ExAcquireResourceSharedLite(&UserLock, TRUE);
 }
 
 VOID FASTCALL UserEnterExclusive(VOID)
 {
-   ASSERT_NOGDILOCKS();
-   KeEnterCriticalRegion();
-   ExAcquireResourceExclusiveLite(&UserLock, TRUE);
-   gptiCurrent = PsGetCurrentThreadWin32Thread();
+    ASSERT_NOGDILOCKS();
+    KeEnterCriticalRegion();
+    ExAcquireResourceExclusiveLite(&UserLock, TRUE);
+    gptiCurrent = PsGetCurrentThreadWin32Thread();
 }
 
 VOID FASTCALL UserLeave(VOID)
 {
-   ASSERT_NOGDILOCKS();
-   ASSERT(UserIsEntered());
-   ExReleaseResourceLite(&UserLock);
-   KeLeaveCriticalRegion();
+    ASSERT_NOGDILOCKS();
+    ASSERT(UserIsEntered());
+    ExReleaseResourceLite(&UserLock);
+    KeLeaveCriticalRegion();
 }
+
+/* EOF */