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

svn path=/trunk/; revision=16275
This commit is contained in:
Alex Ionescu 2005-06-26 04:49:10 +00:00
parent c6af94415d
commit 3251827a3d
4 changed files with 10 additions and 10 deletions

View file

@ -69,7 +69,7 @@ ExpWinStaObjectDelete(PVOID DeletedObject)
PVOID
STDCALL
ExpWinStaObjectFind(PWINSTATION_OBJECT WinStaObject,
ExpWinStaObjectFind(PVOID WinStaObject,
PWSTR Name,
ULONG Attributes)
{
@ -130,7 +130,6 @@ ExpWin32kInit(VOID)
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 @@ ExpWin32kInit(VOID)
/* Create desktop object type */
RtlInitUnicodeString(&Name, L"Desktop");
ObjectTypeInitializer.DefaultNonPagedPoolCharge = sizeof(DESKTOP_OBJECT);
ObjectTypeInitializer.GenericMapping = ExpDesktopMapping;
ObjectTypeInitializer.OpenProcedure = NULL;
ObjectTypeInitializer.DeleteProcedure = ExpDesktopDelete;

View file

@ -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>

View file

@ -44,6 +44,10 @@ BOOL g_PaintDesktopVersion = FALSE;
NTSTATUS FASTCALL
InitDesktopImpl(VOID)
{
/* Set Desktop Object Attributes */
ExDesktopObjectType->TypeInfo.DefaultNonPagedPoolCharge = sizeof(DESKTOP_OBJECT);
/* FIXME: Set Generic Mapping correctly */
return STATUS_SUCCESS;
}

View file

@ -70,7 +70,11 @@ InitWindowStationImpl(VOID)
"(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;
}