- don't use the UNIMPLEMENTED macro in ObFindHandleForObject because it's actually used by win32k already - set the right generic mapping for desktop and window station handles during win32k startup Modified: trunk/reactos/ntoskrnl/ob/handle.c Modified: trunk/reactos/subsys/win32k/ntuser/desktop.c Modified: trunk/reactos/subsys/win32k/ntuser/winsta.c _____
Modified: trunk/reactos/ntoskrnl/ob/handle.c --- trunk/reactos/ntoskrnl/ob/handle.c 2005-06-26 21:32:48 UTC (rev 16302) +++ trunk/reactos/ntoskrnl/ob/handle.c 2005-06-26 21:42:30 UTC (rev 16303) @@ -1206,7 +1206,7 @@
IN POBJECT_HANDLE_INFORMATION HandleInformation, OUT PHANDLE HandleReturn) { - UNIMPLEMENTED; + DPRINT("ObFindHandleForObject is unimplemented!\n"); return STATUS_UNSUCCESSFUL; }
_____
Modified: trunk/reactos/subsys/win32k/ntuser/desktop.c --- trunk/reactos/subsys/win32k/ntuser/desktop.c 2005-06-26 21:32:48 UTC (rev 16302) +++ trunk/reactos/subsys/win32k/ntuser/desktop.c 2005-06-26 21:42:30 UTC (rev 16303) @@ -41,12 +41,23 @@
/* INITALIZATION FUNCTIONS ****************************************************/
+static GENERIC_MAPPING IntDesktopMapping = +{ + 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 +}; + NTSTATUS FASTCALL InitDesktopImpl(VOID) { /* Set Desktop Object Attributes */ ExDesktopObjectType->TypeInfo.DefaultNonPagedPoolCharge = sizeof(DESKTOP_OBJECT); - /* FIXME: Set Generic Mapping correctly */ + ExDesktopObjectType->TypeInfo.GenericMapping = IntDesktopMapping;
return STATUS_SUCCESS; } _____
Modified: trunk/reactos/subsys/win32k/ntuser/winsta.c --- trunk/reactos/subsys/win32k/ntuser/winsta.c 2005-06-26 21:32:48 UTC (rev 16302) +++ trunk/reactos/subsys/win32k/ntuser/winsta.c 2005-06-26 21:42:30 UTC (rev 16303) @@ -47,6 +47,16 @@
/* INITALIZATION FUNCTIONS ****************************************************/
+static GENERIC_MAPPING IntWindowStationMapping = +{ + 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 +}; + NTSTATUS FASTCALL InitWindowStationImpl(VOID) { @@ -72,8 +82,8 @@ }
/* Set Winsta Object Attributes */ - ExWindowStationObjectType->TypeInfo.DefaultNonPagedPoolCharge = sizeof(WINSTATION_OBJECT); - /* FIXME: Set Generic Mapping correctly */ + ExWindowStationObjectType->TypeInfo.DefaultNonPagedPoolCharge = sizeof(WINSTATION_OBJECT); + ExWindowStationObjectType->TypeInfo.GenericMapping = IntWindowStationMapping;
return STATUS_SUCCESS; }