- Fix some small formatting issues.
[reactos.git] / reactos / ntoskrnl / ex / win32k.c
index 04b56f6..0b5bd5d 100644 (file)
@@ -1,42 +1,38 @@
-/* $Id$
- *
+/*
  * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         ReactOS kernel
+ * PROJECT:         ReactOS Kernel
  * FILE:            ntoskrnl/ex/win32k.c
- * PURPOSE:         Executive Win32 subsystem support
- *
- * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net) - Moved callbacks to win32k and cleanup.
- *                  Casper S. Hornstrup (chorns@users.sourceforge.net)
+ * PURPOSE:         Executive Win32 Object Support (Desktop/WinStation)
+ * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net)
  */
 
 #include <ntoskrnl.h>
 #define NDEBUG
 #include <internal/debug.h>
 
-/* DATA **********************************************************************/
+#if defined (ALLOC_PRAGMA)
+#pragma alloc_text(INIT, ExpWin32kInit)
+#endif
 
-POBJECT_TYPE EXPORTED ExWindowStationObjectType = NULL;
-POBJECT_TYPE EXPORTED ExDesktopObjectType = NULL;
+/* DATA **********************************************************************/
 
-static GENERIC_MAPPING ExpWindowStationMapping = {
+POBJECT_TYPE ExWindowStationObjectType = NULL;
+POBJECT_TYPE ExDesktopObjectType = NULL;
 
-    STANDARD_RIGHTS_READ     | WINSTA_ENUMDESKTOPS      | WINSTA_ENUMERATE         | WINSTA_READATTRIBUTES | WINSTA_READSCREEN,
-    STANDARD_RIGHTS_WRITE    | WINSTA_ACCESSCLIPBOARD   | WINSTA_CREATEDESKTOP     | WINSTA_WRITEATTRIBUTES,
-    STANDARD_RIGHTS_EXECUTE  | WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS,
-    STANDARD_RIGHTS_REQUIRED | WINSTA_ACCESSCLIPBOARD   | WINSTA_ACCESSGLOBALATOMS | WINSTA_CREATEDESKTOP  |
-                               WINSTA_ENUMDESKTOPS      | WINSTA_ENUMERATE         | WINSTA_EXITWINDOWS    |
-                               WINSTA_READATTRIBUTES    | WINSTA_READSCREEN        | WINSTA_WRITEATTRIBUTES
+static GENERIC_MAPPING ExpWindowStationMapping = 
+{
+    STANDARD_RIGHTS_READ,
+    STANDARD_RIGHTS_WRITE,
+    STANDARD_RIGHTS_EXECUTE,
+    STANDARD_RIGHTS_REQUIRED
 };
 
-static GENERIC_MAPPING ExpDesktopMapping = {
-
-    STANDARD_RIGHTS_READ     | DESKTOP_ENUMERATE       | DESKTOP_READOBJECTS,
-    STANDARD_RIGHTS_WRITE    | DESKTOP_CREATEMENU      | DESKTOP_CREATEWINDOW    | DESKTOP_HOOKCONTROL   |
-                               DESKTOP_JOURNALPLAYBACK | DESKTOP_JOURNALRECORD   | DESKTOP_WRITEOBJECTS,
-    STANDARD_RIGHTS_EXECUTE  | DESKTOP_SWITCHDESKTOP,
-    STANDARD_RIGHTS_REQUIRED | DESKTOP_CREATEMENU      | DESKTOP_CREATEWINDOW    | DESKTOP_ENUMERATE     |
-                               DESKTOP_HOOKCONTROL     | DESKTOP_JOURNALPLAYBACK | DESKTOP_JOURNALRECORD |
-                               DESKTOP_READOBJECTS     | DESKTOP_SWITCHDESKTOP   | DESKTOP_WRITEOBJECTS
+static GENERIC_MAPPING ExpDesktopMapping =
+{
+    STANDARD_RIGHTS_READ,
+    STANDARD_RIGHTS_WRITE,
+    STANDARD_RIGHTS_EXECUTE,
+    STANDARD_RIGHTS_REQUIRED
 };
 
 OB_OPEN_METHOD ExpWindowStationObjectOpen = NULL;
@@ -74,7 +70,7 @@ ExpWinStaObjectDelete(PVOID DeletedObject)
 
 PVOID
 STDCALL
-ExpWinStaObjectFind(PWINSTATION_OBJECT WinStaObject,
+ExpWinStaObjectFind(PVOID WinStaObject,
                     PWSTR Name,
                     ULONG Attributes)
 {
@@ -105,7 +101,7 @@ STDCALL
 ExpDesktopCreate(PVOID ObjectBody,
                  PVOID Parent,
                  PWSTR RemainingPath,
-                 struct _OBJECT_ATTRIBUTES* ObjectAttributes) 
+                 POBJECT_ATTRIBUTES ObjectAttributes)
 {
     /* Call the Registered Callback */
     return ExpDesktopObjectCreate(ObjectBody,
@@ -124,34 +120,32 @@ ExpDesktopDelete(PVOID DeletedObject)
 
 VOID
 INIT_FUNCTION
+STDCALL
 ExpWin32kInit(VOID)
 {
     OBJECT_TYPE_INITIALIZER ObjectTypeInitializer;
     UNICODE_STRING Name;
+    DPRINT("Creating Win32 Object Types\n");
 
-    DPRINT("Creating window station  Object Type\n");
-  
     /* Create the window station Object Type */
     RtlZeroMemory(&ObjectTypeInitializer, sizeof(ObjectTypeInitializer));
     RtlInitUnicodeString(&Name, L"WindowStation");
     ObjectTypeInitializer.Length = sizeof(ObjectTypeInitializer);
-    ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(WINSTATION_OBJECT);
     ObjectTypeInitializer.GenericMapping = ExpWindowStationMapping;
     ObjectTypeInitializer.PoolType = NonPagedPool;
-    ObjectTypeInitializer.UseDefaultObject = TRUE;
     ObjectTypeInitializer.OpenProcedure = ExpWinStaObjectOpen;
     ObjectTypeInitializer.DeleteProcedure = ExpWinStaObjectDelete;
     ObjectTypeInitializer.ParseProcedure = ExpWinStaObjectParse;
-    ObpCreateTypeObject(&ObjectTypeInitializer, &Name, &ExWindowStationObjectType);
+    ObpCreateTypeObject(&ObjectTypeInitializer,
+                        &Name,
+                        &ExWindowStationObjectType);
 
     /* Create desktop object type */
     RtlInitUnicodeString(&Name, L"Desktop");
-    ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(DESKTOP_OBJECT);
     ObjectTypeInitializer.GenericMapping = ExpDesktopMapping;
     ObjectTypeInitializer.OpenProcedure = NULL;
     ObjectTypeInitializer.DeleteProcedure = ExpDesktopDelete;
     ObjectTypeInitializer.ParseProcedure = NULL;
-   
     ObpCreateTypeObject(&ObjectTypeInitializer, &Name, &ExDesktopObjectType);
 }