Author: jimtabor Date: Wed Jul 9 17:46:17 2008 New Revision: 34397
URL: http://svn.reactos.org/svn/reactos?rev=34397&view=rev Log: - Removed NtUserGetShellWindow, update related.
Modified: trunk/reactos/dll/win32/user32/misc/desktop.c trunk/reactos/include/reactos/win32k/ntuser.h trunk/reactos/subsystems/win32/win32k/ntuser/window.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db
Modified: trunk/reactos/dll/win32/user32/misc/desktop.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/misc/deskt... ============================================================================== --- trunk/reactos/dll/win32/user32/misc/desktop.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/user32/misc/desktop.c [iso-8859-1] Wed Jul 9 17:46:17 2008 @@ -703,7 +703,9 @@ HWND STDCALL GetShellWindow(VOID) { - return NtUserGetShellWindow(); + PDESKTOP pdi; + pdi = GetThreadDesktopInfo(); + return pdi->hShellWindow; }
Modified: trunk/reactos/include/reactos/win32k/ntuser.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntus... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/win32k/ntuser.h [iso-8859-1] Wed Jul 9 17:46:17 2008 @@ -34,6 +34,7 @@ ULONG_PTR HeapLimit; HWND hTaskManWindow; HWND hProgmanWindow; + HWND hShellWindow; struct _WINDOW *Wnd;
union @@ -333,7 +334,7 @@ ULONG_PTR ulClientDelta; PVOID phkCurrent; ULONG fsHooks; - HWND hWND; // Well be replaced with CALLBACKWND. + HWND hWND; // Will be replaced with CALLBACKWND. PVOID pvWND; // " " ULONG Win32ClientInfo; DWORD dwHookCurrent; @@ -372,6 +373,8 @@ HANDLE Data; ATOM Atom; } PROPERTY, *PPROPERTY; + +
PW32THREADINFO GetW32ThreadInfo(VOID); PW32PROCESSINFO GetW32ProcessInfo(VOID); @@ -1281,7 +1284,7 @@ INT NTAPI NtUserGetClassName(HWND hWnd, - BOOL Unknown, // 0 GetClassNameW, 1 RealGetWindowClassA/W + BOOL Real, // 0 GetClassNameW, 1 RealGetWindowClassA/W PUNICODE_STRING ClassName); #endif
@@ -2727,10 +2730,6 @@
HWND NTAPI -NtUserGetShellWindow(); - -HWND -NTAPI NtUserGetWindow(HWND hWnd, UINT Relationship);
/* Should be done in usermode */
Modified: trunk/reactos/subsystems/win32/win32k/ntuser/window.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntu... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] Wed Jul 9 17:46:17 2008 @@ -3079,53 +3079,34 @@
- -HWND FASTCALL UserGetShellWindow() -{ - PWINSTATION_OBJECT WinStaObject; - HWND Ret; - - NTSTATUS Status = IntValidateWindowStationHandle(PsGetCurrentProcess()->Win32WindowStation, - KernelMode, - 0, - &WinStaObject); - - if (!NT_SUCCESS(Status)) - { - SetLastNtError(Status); - return( (HWND)0); - } - - Ret = (HWND)WinStaObject->ShellWindow; - - ObDereferenceObject(WinStaObject); - return( Ret); -} - - -/* - * NtUserGetShellWindow +/* + * UserGetShellWindow * * Returns a handle to shell window that was set by NtUserSetShellWindowEx. * * Status * @implemented */ - -HWND STDCALL -NtUserGetShellWindow() -{ - DECLARE_RETURN(HWND); - - DPRINT("Enter NtUserGetShellWindow\n"); - UserEnterShared(); - - RETURN( UserGetShellWindow() ); - -CLEANUP: - DPRINT("Leave NtUserGetShellWindow, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; +HWND FASTCALL UserGetShellWindow() +{ + PWINSTATION_OBJECT WinStaObject; + HWND Ret; + + NTSTATUS Status = IntValidateWindowStationHandle(PsGetCurrentProcess()->Win32WindowStation, + KernelMode, + 0, + &WinStaObject); + + if (!NT_SUCCESS(Status)) + { + SetLastNtError(Status); + return( (HWND)0); + } + + Ret = (HWND)WinStaObject->ShellWindow; + + ObDereferenceObject(WinStaObject); + return( Ret); }
/* @@ -3137,7 +3118,6 @@ * Status * @implemented */ - BOOL STDCALL NtUserSetShellWindowEx(HWND hwndShell, HWND hwndListView) { @@ -3146,6 +3126,7 @@ DECLARE_RETURN(BOOL); USER_REFERENCE_ENTRY Ref; NTSTATUS Status; + PW32THREADINFO ti;;
DPRINT("Enter NtUserSetShellWindowEx\n"); UserEnterExclusive(); @@ -3206,6 +3187,9 @@
WinStaObject->ShellWindow = hwndShell; WinStaObject->ShellListView = hwndListView; + + ti = GetW32ThreadInfo(); + if (ti->Desktop) ((PDESKTOP)ti->Desktop)->hShellWindow = hwndShell;
UserDerefObjectCo(WndShell);
Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Wed Jul 9 17:46:17 2008 @@ -679,6 +679,10 @@ NtGdiSetViewportOrgEx 4 NtGdiSetWindowExtEx 4 NtGdiSetWindowOrgEx 4 +NtGdiGetFontFamilyInfo 4 +NtGdiOffsetViewportOrgEx 4 +NtGdiOffsetWindowOrgEx 4 +# NtUserBuildMenuItemList 4 NtUserCreateCursorIconHandle 2 NtUserGetClassLong 3 @@ -687,7 +691,6 @@ NtUserGetMinMaxInfo 3 NtUserGetMonitorInfo 2 NtUserGetScrollInfo 3 -NtUserGetShellWindow 0 NtUserGetWindow 2 NtUserGetWindowLong 3 NtUserMenuInfo 3 @@ -700,6 +703,3 @@ NtUserSendMessageTimeout 8 NtUserSendNotifyMessage 4 NtUserSetScrollBarInfo 3 -NtGdiGetFontFamilyInfo 4 -NtGdiOffsetViewportOrgEx 4 -NtGdiOffsetWindowOrgEx 4