mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 17:52:56 +00:00
- Basic implementation of (NtUser)UpdatePerUserSystemParameters.
- Move code querying for "PaintDesktopVersion" to NtUserUpdatePerUserSystemParameters. svn path=/trunk/; revision=11954
This commit is contained in:
parent
3bfcecdd7d
commit
fc08e5303b
8 changed files with 62 additions and 59 deletions
|
@ -1677,11 +1677,11 @@ NtUserUpdateLayeredWindow(
|
||||||
DWORD Unknown7,
|
DWORD Unknown7,
|
||||||
DWORD Unknown8);
|
DWORD Unknown8);
|
||||||
|
|
||||||
DWORD
|
BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
NtUserUpdatePerUserSystemParameters(
|
NtUserUpdatePerUserSystemParameters(
|
||||||
DWORD Unknown0,
|
DWORD dwReserved,
|
||||||
DWORD Unknown1);
|
BOOL bEnable);
|
||||||
|
|
||||||
DWORD
|
DWORD
|
||||||
STDCALL
|
STDCALL
|
||||||
|
|
|
@ -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.9 2004/11/20 15:51:14 ekohl Exp $
|
/* $Id: misc.c,v 1.10 2004/12/06 02:23:05 navaraf Exp $
|
||||||
*
|
*
|
||||||
* PROJECT: ReactOS user32.dll
|
* PROJECT: ReactOS user32.dll
|
||||||
* FILE: lib/user32/misc/misc.c
|
* FILE: lib/user32/misc/misc.c
|
||||||
|
@ -106,12 +106,12 @@ SetLogonNotifyWindow (HWND Wnd, HWINSTA WinSta)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
UpdatePerUserSystemParameters(DWORD dwUnknown,
|
UpdatePerUserSystemParameters(
|
||||||
BOOL bEnable)
|
DWORD dwReserved,
|
||||||
|
BOOL bEnable)
|
||||||
{
|
{
|
||||||
|
return NtUserUpdatePerUserSystemParameters(dwUnknown, dwReserved);
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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: winlogon.h,v 1.4 2004/07/12 20:09:35 gvg Exp $
|
/* $Id: winlogon.h,v 1.5 2004/12/06 02:23:05 navaraf Exp $
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS winlogon
|
* PROJECT: ReactOS winlogon
|
||||||
* FILE: subsys/system/winlogon/winlogon.h
|
* FILE: subsys/system/winlogon/winlogon.h
|
||||||
|
@ -163,6 +163,11 @@ DispatchSAS(PWLSESSION Session, DWORD dwSasType);
|
||||||
#define DisplaySASNotice(Session) \
|
#define DisplaySASNotice(Session) \
|
||||||
Session->MsGina.Functions.WlxDisplaySASNotice(Session->MsGina.Context);
|
Session->MsGina.Functions.WlxDisplaySASNotice(Session->MsGina.Context);
|
||||||
|
|
||||||
|
/* user32 */
|
||||||
|
BOOL WINAPI
|
||||||
|
UpdatePerUserSystemParameters(DWORD dwUnknown,
|
||||||
|
DWORD dwReserved);
|
||||||
|
|
||||||
#endif /* __WINLOGON_MAIN_H__ */
|
#endif /* __WINLOGON_MAIN_H__ */
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -12,6 +12,7 @@ extern PDESKTOP_OBJECT InputDesktop;
|
||||||
extern HDESK InputDesktopHandle;
|
extern HDESK InputDesktopHandle;
|
||||||
extern PWNDCLASS_OBJECT DesktopWindowClass;
|
extern PWNDCLASS_OBJECT DesktopWindowClass;
|
||||||
extern HDC ScreenDeviceContext;
|
extern HDC ScreenDeviceContext;
|
||||||
|
extern BOOL g_PaintDesktopVersion;
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL
|
||||||
InitDesktopImpl(VOID);
|
InitDesktopImpl(VOID);
|
||||||
|
|
|
@ -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: desktop.c,v 1.25 2004/12/05 00:20:41 navaraf Exp $
|
* $Id: desktop.c,v 1.26 2004/12/06 02:23:05 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -50,6 +50,8 @@ PDESKTOP_OBJECT InputDesktop = NULL;
|
||||||
HDESK InputDesktopHandle = NULL;
|
HDESK InputDesktopHandle = NULL;
|
||||||
HDC ScreenDeviceContext = NULL;
|
HDC ScreenDeviceContext = NULL;
|
||||||
|
|
||||||
|
BOOL g_PaintDesktopVersion = FALSE;
|
||||||
|
|
||||||
/* INITALIZATION FUNCTIONS ****************************************************/
|
/* INITALIZATION FUNCTIONS ****************************************************/
|
||||||
|
|
||||||
NTSTATUS FASTCALL
|
NTSTATUS FASTCALL
|
||||||
|
@ -880,20 +882,6 @@ static int GetSystemVersionString(LPWSTR buffer)
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static NTSTATUS STDCALL PaintDesktopVersionCallback(
|
|
||||||
IN PWSTR ValueName, IN ULONG ValueType,
|
|
||||||
IN PVOID ValueData, IN ULONG ValueLength,
|
|
||||||
IN PVOID Context, IN PVOID EntryContext
|
|
||||||
)
|
|
||||||
{
|
|
||||||
DPRINT("PaintDesktopVersionCallback ValueType=%d ValueLength=%d\n", ValueType, ValueLength);
|
|
||||||
|
|
||||||
if (ValueType==REG_DWORD && ValueLength==sizeof(DWORD))
|
|
||||||
*((DWORD*)EntryContext) = *(DWORD*)ValueData;
|
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NtUserPaintDesktop
|
* NtUserPaintDesktop
|
||||||
*
|
*
|
||||||
|
@ -916,10 +904,6 @@ NtUserPaintDesktop(HDC hDC)
|
||||||
HBRUSH DesktopBrush, PreviousBrush;
|
HBRUSH DesktopBrush, PreviousBrush;
|
||||||
HWND hWndDesktop;
|
HWND hWndDesktop;
|
||||||
BOOL doPatBlt = TRUE;
|
BOOL doPatBlt = TRUE;
|
||||||
|
|
||||||
RTL_QUERY_REGISTRY_TABLE queryTable[2];
|
|
||||||
DWORD displayVersion;
|
|
||||||
NTSTATUS status;
|
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
PWINSTATION_OBJECT WinSta = PsGetWin32Thread()->Desktop->WindowStation;
|
PWINSTATION_OBJECT WinSta = PsGetWin32Thread()->Desktop->WindowStation;
|
||||||
|
@ -984,22 +968,7 @@ NtUserPaintDesktop(HDC hDC)
|
||||||
* Display system version on the desktop background
|
* Display system version on the desktop background
|
||||||
*/
|
*/
|
||||||
|
|
||||||
RtlZeroMemory(queryTable, sizeof(queryTable));
|
if (g_PaintDesktopVersion) {
|
||||||
|
|
||||||
queryTable[0].QueryRoutine = PaintDesktopVersionCallback;
|
|
||||||
queryTable[0].Name = L"PaintDesktopVersion";
|
|
||||||
queryTable[0].EntryContext = &displayVersion;
|
|
||||||
|
|
||||||
/* query the "PaintDesktopVersion" flag in the "Control Panel\Desktop" key */
|
|
||||||
status = RtlQueryRegistryValues(RTL_REGISTRY_USER, L"Control Panel\\Desktop", queryTable, NULL, NULL);
|
|
||||||
|
|
||||||
if (!NT_SUCCESS(status)) {
|
|
||||||
DPRINT1("RtlQueryRegistryValues failed for PaintDesktopVersion: status=%x\n", status);
|
|
||||||
displayVersion = 0;
|
|
||||||
}
|
|
||||||
DPRINT("PaintDesktopVersion=%d\n", displayVersion);
|
|
||||||
|
|
||||||
if (displayVersion) {
|
|
||||||
static WCHAR s_wszVersion[256] = {0};
|
static WCHAR s_wszVersion[256] = {0};
|
||||||
RECT rect;
|
RECT rect;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: misc.c,v 1.88 2004/11/20 16:46:06 weiden Exp $
|
/* $Id: misc.c,v 1.89 2004/12/06 02:23:05 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -1330,4 +1330,44 @@ IntFreeNULLTerminatedFromUnicodeString(PWSTR NullTerminated, PUNICODE_STRING Uni
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL STDCALL
|
||||||
|
NtUserUpdatePerUserSystemParameters(
|
||||||
|
DWORD dwUnknown,
|
||||||
|
BOOL bEnable)
|
||||||
|
{
|
||||||
|
if (bEnable)
|
||||||
|
{
|
||||||
|
RTL_QUERY_REGISTRY_TABLE QueryTable[2];
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
RtlZeroMemory(QueryTable, sizeof(QueryTable));
|
||||||
|
|
||||||
|
QueryTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
|
||||||
|
QueryTable[0].Name = L"PaintDesktopVersion";
|
||||||
|
QueryTable[0].EntryContext = &g_PaintDesktopVersion;
|
||||||
|
|
||||||
|
/* Query the "PaintDesktopVersion" flag in the "Control Panel\Desktop" key */
|
||||||
|
Status = RtlQueryRegistryValues(RTL_REGISTRY_USER,
|
||||||
|
L"Control Panel\\Desktop",
|
||||||
|
QueryTable, NULL, NULL);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
DPRINT1("RtlQueryRegistryValues failed for PaintDesktopVersion (%x)\n",
|
||||||
|
Status);
|
||||||
|
g_PaintDesktopVersion = FALSE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
DPRINT1("PaintDesktopVersion = %d\n", g_PaintDesktopVersion);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_PaintDesktopVersion = FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: stubs.c,v 1.47 2004/11/16 16:27:49 blight Exp $
|
/* $Id: stubs.c,v 1.48 2004/12/06 02:23:05 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -688,17 +688,6 @@ NtUserUpdateInstance(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD
|
|
||||||
STDCALL
|
|
||||||
NtUserUpdatePerUserSystemParameters(
|
|
||||||
DWORD Unknown0,
|
|
||||||
DWORD Unknown1)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD
|
DWORD
|
||||||
STDCALL
|
STDCALL
|
||||||
NtUserUserHandleGrantAccess(
|
NtUserUserHandleGrantAccess(
|
||||||
|
|
|
@ -3841,7 +3841,6 @@ 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);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue