Add UpdatePerUserSystemParameters stub and call it from winlogon.

svn path=/trunk/; revision=11709
This commit is contained in:
Eric Kohl 2004-11-20 15:55:45 +00:00
parent 65708377d8
commit 75d4557d4c
4 changed files with 32 additions and 3 deletions

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: misc.c,v 1.8 2004/08/15 21:36:28 chorns Exp $ /* $Id: misc.c,v 1.9 2004/11/20 15:51:14 ekohl Exp $
* *
* PROJECT: ReactOS user32.dll * PROJECT: ReactOS user32.dll
* FILE: lib/user32/misc/misc.c * FILE: lib/user32/misc/misc.c
@ -104,3 +104,14 @@ SetLogonNotifyWindow (HWND Wnd, HWINSTA WinSta)
return(TRUE); return(TRUE);
} }
/*
* @unimplemented
*/
BOOL WINAPI
UpdatePerUserSystemParameters(DWORD dwUnknown,
BOOL bEnable)
{
return TRUE;
}

View file

@ -707,7 +707,7 @@ UnregisterHotKey@8
UnregisterMessagePumpHook@0 UnregisterMessagePumpHook@0
UnregisterUserApiHook@0 UnregisterUserApiHook@0
UpdateLayeredWindow@36 UpdateLayeredWindow@36
;UpdatePerUserSystemParameters UpdatePerUserSystemParameters@8
UpdateWindow@4 UpdateWindow@4
;User32InitializeImmEntryTable ;User32InitializeImmEntryTable
UserClientDllInitialize=DllMain@12 UserClientDllInitialize=DllMain@12

View file

@ -1,4 +1,4 @@
/* $Id: winlogon.c,v 1.35 2004/10/11 21:08:05 weiden Exp $ /* $Id: winlogon.c,v 1.36 2004/11/20 15:55:45 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -461,6 +461,12 @@ DoLogonUser (PWCHAR Name,
return FALSE; return FALSE;
} }
if (ImpersonateLoggedOnUser(hToken))
{
UpdatePerUserSystemParameters(0, TRUE);
RevertToSelf();
}
GetWindowsDirectoryW (CurrentDirectory, MAX_PATH); GetWindowsDirectoryW (CurrentDirectory, MAX_PATH);
StartupInfo.cb = sizeof(StartupInfo); StartupInfo.cb = sizeof(StartupInfo);
@ -485,6 +491,11 @@ DoLogonUser (PWCHAR Name,
if (!Result) if (!Result)
{ {
DbgPrint ("WL: Failed to execute user shell %s\n", CommandLine); DbgPrint ("WL: Failed to execute user shell %s\n", CommandLine);
if (ImpersonateLoggedOnUser(hToken))
{
UpdatePerUserSystemParameters(0, FALSE);
RevertToSelf();
}
UnloadUserProfile (hToken, UnloadUserProfile (hToken,
ProfileInfo.hProfile); ProfileInfo.hProfile);
CloseHandle (hToken); CloseHandle (hToken);
@ -510,6 +521,12 @@ DoLogonUser (PWCHAR Name,
CloseHandle (ProcessInformation.hProcess); CloseHandle (ProcessInformation.hProcess);
CloseHandle (ProcessInformation.hThread); CloseHandle (ProcessInformation.hThread);
if (ImpersonateLoggedOnUser(hToken))
{
UpdatePerUserSystemParameters(0, FALSE);
RevertToSelf();
}
/* Unload user profile */ /* Unload user profile */
UnloadUserProfile (hToken, UnloadUserProfile (hToken,
ProfileInfo.hProfile); ProfileInfo.hProfile);

View file

@ -3837,6 +3837,7 @@ BOOL WINAPI UnloadKeyboardLayout(HKL);
BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE); BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE); BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
BOOL WINAPI UnregisterHotKey(HWND,int); BOOL WINAPI UnregisterHotKey(HWND,int);
BOOL WINAPI UpdatePerUserSystemParameters(DWORD,BOOL);
BOOL WINAPI UpdateWindow(HWND); BOOL WINAPI UpdateWindow(HWND);
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL); BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL);