Imitate NT and set some of the private object info for desktop/winsta inside win32k, not inside the kernel, so we don't need to know about win32k's private objects
Modified: trunk/reactos/ntoskrnl/ex/win32k.c
Modified: trunk/reactos/subsys/system/directory.xml
Modified: trunk/reactos/subsys/win32k/ntuser/desktop.c
Modified: trunk/reactos/subsys/win32k/ntuser/winsta.c

Modified: trunk/reactos/ntoskrnl/ex/win32k.c
--- trunk/reactos/ntoskrnl/ex/win32k.c	2005-06-26 04:00:25 UTC (rev 16274)
+++ trunk/reactos/ntoskrnl/ex/win32k.c	2005-06-26 04:49:10 UTC (rev 16275)
@@ -69,7 +69,7 @@
 
 PVOID
 STDCALL
-ExpWinStaObjectFind(PWINSTATION_OBJECT WinStaObject,
+ExpWinStaObjectFind(PVOID WinStaObject,
                     PWSTR Name,
                     ULONG Attributes)
 {
@@ -130,7 +130,6 @@
     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;
@@ -141,7 +140,6 @@
 
     /* Create desktop object type */
     RtlInitUnicodeString(&Name, L"Desktop");
-    ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(DESKTOP_OBJECT);
     ObjectTypeInitializer.GenericMapping = ExpDesktopMapping;
     ObjectTypeInitializer.OpenProcedure = NULL;
     ObjectTypeInitializer.DeleteProcedure = ExpDesktopDelete;

Modified: trunk/reactos/subsys/system/directory.xml
--- trunk/reactos/subsys/system/directory.xml	2005-06-26 04:00:25 UTC (rev 16274)
+++ trunk/reactos/subsys/system/directory.xml	2005-06-26 04:49:10 UTC (rev 16275)
@@ -13,12 +13,6 @@
 <directory name="expand">
 	<xi:include href="expand/expand.xml" />
 </directory>
-<directory name="explorer">
-	<xi:include href="explorer/explorer.xml" />
-</directory>
-<directory name="ibrowser">
-	<xi:include href="ibrowser/ibrowser.xml" />
-</directory>
 <directory name="format">
 	<xi:include href="format/format.xml" />
 </directory>

Modified: trunk/reactos/subsys/win32k/ntuser/desktop.c
--- trunk/reactos/subsys/win32k/ntuser/desktop.c	2005-06-26 04:00:25 UTC (rev 16274)
+++ trunk/reactos/subsys/win32k/ntuser/desktop.c	2005-06-26 04:49:10 UTC (rev 16275)
@@ -44,6 +44,10 @@
 NTSTATUS FASTCALL
 InitDesktopImpl(VOID)
 {
+   /* Set Desktop Object Attributes */
+   ExDesktopObjectType->TypeInfo.DefaultNonPagedPoolCharge = sizeof(DESKTOP_OBJECT);
+   /* FIXME: Set Generic Mapping correctly */
+   
   return STATUS_SUCCESS;
 }
 

Modified: trunk/reactos/subsys/win32k/ntuser/winsta.c
--- trunk/reactos/subsys/win32k/ntuser/winsta.c	2005-06-26 04:00:25 UTC (rev 16274)
+++ trunk/reactos/subsys/win32k/ntuser/winsta.c	2005-06-26 04:49:10 UTC (rev 16275)
@@ -70,7 +70,11 @@
 	     "(Status 0x%X)\n", Status);
       return Status;
    }
-
+   
+   /* Set Winsta Object Attributes */
+   ExWindowStationObjectType->TypeInfo.DefaultNonPagedPoolCharge =   sizeof(WINSTATION_OBJECT);
+   /* FIXME: Set Generic Mapping correctly */
+   
    return STATUS_SUCCESS;
 }