diff --git a/reactos/win32ss/include/ntuser.h b/reactos/win32ss/include/ntuser.h index 3db2d15b7a4..6946969e40d 100644 --- a/reactos/win32ss/include/ntuser.h +++ b/reactos/win32ss/include/ntuser.h @@ -1696,6 +1696,7 @@ NTAPI NtUserChangeDisplaySettings( PUNICODE_STRING lpszDeviceName, LPDEVMODEW lpDevMode, + HWND hwnd, DWORD dwflags); BOOL diff --git a/reactos/win32ss/user/ntuser/display.c b/reactos/win32ss/user/ntuser/display.c index 9f87a467bad..a6a1d0735d1 100644 --- a/reactos/win32ss/user/ntuser/display.c +++ b/reactos/win32ss/user/ntuser/display.c @@ -814,6 +814,7 @@ APIENTRY NtUserChangeDisplaySettings( PUNICODE_STRING pustrDevice, LPDEVMODEW lpDevMode, + HWND hWnd, DWORD dwflags) { WCHAR awcDevice[CCHDEVICENAME]; @@ -822,7 +823,8 @@ NtUserChangeDisplaySettings( LONG lRet; /* Check arguments */ - if (dwflags != CDS_VIDEOPARAMETERS) + if ((dwflags != CDS_VIDEOPARAMETERS) || + (hWnd != NULL)) { EngSetLastError(ERROR_INVALID_PARAMETER); return DISP_CHANGE_BADPARAM; diff --git a/reactos/win32ss/user/user32/misc/display.c b/reactos/win32ss/user/user32/misc/display.c index d2ff2827692..0990d531a4a 100644 --- a/reactos/win32ss/user/user32/misc/display.c +++ b/reactos/win32ss/user/user32/misc/display.c @@ -457,14 +457,14 @@ ChangeDisplaySettingsExA( pDevModeW = GdiConvertToDevmodeW(lpDevMode); if(pDevModeW) { - rc = NtUserChangeDisplaySettings(pDeviceName, pDevModeW, dwflags); + rc = NtUserChangeDisplaySettings(pDeviceName, pDevModeW, hwnd, dwflags); RtlFreeHeap(GetProcessHeap(), 0, pDevModeW); } else rc = DISP_CHANGE_SUCCESSFUL; } else - rc = NtUserChangeDisplaySettings(pDeviceName, NULL, dwflags); + rc = NtUserChangeDisplaySettings(pDeviceName, NULL, hwnd, dwflags); if (lpszDeviceName != NULL) RtlFreeUnicodeString(&DeviceName); @@ -509,7 +509,7 @@ ChangeDisplaySettingsExW( else pDeviceName = NULL; - rc = NtUserChangeDisplaySettings(pDeviceName, lpDevMode, dwflags); + rc = NtUserChangeDisplaySettings(pDeviceName, lpDevMode, hwnd, dwflags); return rc; } diff --git a/reactos/win32ss/w32ksvc.h b/reactos/win32ss/w32ksvc.h index 4fa2a00b4ac..8de74d0172a 100644 --- a/reactos/win32ss/w32ksvc.h +++ b/reactos/win32ss/w32ksvc.h @@ -328,7 +328,7 @@ SVC_(UserCallOneParam, 2) SVC_(UserCallTwoParam, 3) SVC_(UserChangeClipboardChain, 2) - SVC_(UserChangeDisplaySettings, 3) + SVC_(UserChangeDisplaySettings, 4) SVC_(UserCheckImeHotKey, 2) SVC_(UserCheckMenuItem, 3) SVC_(UserChildWindowFromPointEx, 4)