[WIN32SS] Fix NtGdiOpenDCW and NtUserChangeDisplaySettings to have the correct amount of parameters by removing two more unused/deprecated/ignored parameters. NtUserEnumDisplayMonitors is the only remaining one now, which needs to do a usermode callback to get rid of its extra parameter.

svn path=/trunk/; revision=69158
This commit is contained in:
Stefan Ginsberg 2015-09-09 19:12:48 +00:00
parent 5650394ec5
commit db9febf4fa
8 changed files with 17 additions and 26 deletions

View file

@ -2162,7 +2162,6 @@ NtGdiOpenDCW(
_In_ ULONG iType,
_In_ BOOL bDisplay,
_In_opt_ HANDLE hspool,
_In_opt_ DRIVER_INFO_2W *pDriverInfo2,
_At_((PUMDHPDEV*)pUMdhpdev, _Out_) PVOID pUMdhpdev);
__kernel_entry

View file

@ -65,7 +65,6 @@ IntCreateDICW(
iType, // DCW 0 and ICW 1.
Display,
hspool,
(PVOID) NULL, // NULL for now.
(PVOID) &UMdhpdev );
#if 0
// Handle something other than a normal dc object.

View file

@ -680,7 +680,6 @@ NtGdiOpenDCW(
_In_ ULONG iType,
_In_ BOOL bDisplay,
_In_opt_ HANDLE hspool,
_In_opt_ DRIVER_INFO_2W *pDriverInfo2,
_At_((PUMDHPDEV*)pUMdhpdev, _Out_) PVOID pUMdhpdev)
{
UNICODE_STRING ustrDevice;

View file

@ -1696,7 +1696,6 @@ NTAPI
NtUserChangeDisplaySettings(
PUNICODE_STRING lpszDeviceName,
LPDEVMODEW lpDevMode,
HWND hwnd,
DWORD dwflags);
BOOL

View file

@ -655,7 +655,6 @@ APIENTRY
UserChangeDisplaySettings(
PUNICODE_STRING pustrDevice,
LPDEVMODEW pdm,
HWND hwnd,
DWORD flags,
LPVOID lParam)
{
@ -815,7 +814,6 @@ APIENTRY
NtUserChangeDisplaySettings(
PUNICODE_STRING pustrDevice,
LPDEVMODEW lpDevMode,
HWND hwnd,
DWORD dwflags)
{
WCHAR awcDevice[CCHDEVICENAME];
@ -824,8 +822,7 @@ NtUserChangeDisplaySettings(
LONG lRet;
/* Check arguments */
if ((dwflags != CDS_VIDEOPARAMETERS) ||
(hwnd != NULL))
if (dwflags != CDS_VIDEOPARAMETERS)
{
EngSetLastError(ERROR_INVALID_PARAMETER);
return DISP_CHANGE_BADPARAM;
@ -904,7 +901,7 @@ NtUserChangeDisplaySettings(
UserEnterExclusive();
/* Call internal function */
lRet = UserChangeDisplaySettings(pustrDevice, lpDevMode, hwnd, dwflags, NULL);
lRet = UserChangeDisplaySettings(pustrDevice, lpDevMode, dwflags, NULL);
/* Release lock */
UserLeave();

View file

@ -457,14 +457,14 @@ ChangeDisplaySettingsExA(
pDevModeW = GdiConvertToDevmodeW(lpDevMode);
if(pDevModeW)
{
rc = NtUserChangeDisplaySettings(pDeviceName, pDevModeW, hwnd, dwflags);
rc = NtUserChangeDisplaySettings(pDeviceName, pDevModeW, dwflags);
RtlFreeHeap(GetProcessHeap(), 0, pDevModeW);
}
else
rc = DISP_CHANGE_SUCCESSFUL;
}
else
rc = NtUserChangeDisplaySettings(pDeviceName, NULL, hwnd, dwflags);
rc = NtUserChangeDisplaySettings(pDeviceName, NULL, dwflags);
if (lpszDeviceName != NULL)
RtlFreeUnicodeString(&DeviceName);
@ -509,7 +509,7 @@ ChangeDisplaySettingsExW(
else
pDeviceName = NULL;
rc = NtUserChangeDisplaySettings(pDeviceName, lpDevMode, hwnd, dwflags);
rc = NtUserChangeDisplaySettings(pDeviceName, lpDevMode, dwflags);
return rc;
}

View file

@ -1,6 +1,6 @@
# NAME ARG_COUNT
#
# Funcs order should match Windows XP 5.1.2600 SP2
# Funcs order should match Windows 2003 Service Pack 2
#
NtGdiAbortDoc 1
NtGdiAbortPath 1
@ -234,7 +234,7 @@ NtGdiMonoBitmap 1
NtGdiMoveTo 4
NtGdiOffsetClipRgn 3
NtGdiOffsetRgn 3
NtGdiOpenDCW 8 #7
NtGdiOpenDCW 7
NtGdiPatBlt 6
NtGdiPolyPatBlt 5
NtGdiPathToRegion 1
@ -327,7 +327,7 @@ NtUserCallNoParam 1
NtUserCallOneParam 2
NtUserCallTwoParam 3
NtUserChangeClipboardChain 2
NtUserChangeDisplaySettings 5 #4
NtUserChangeDisplaySettings 4
NtUserCheckImeHotKey 2
NtUserCheckMenuItem 3
NtUserChildWindowFromPointEx 4
@ -388,7 +388,7 @@ NtUserGetAsyncKeyState 1
NtUserGetAtomName 2
NtUserGetCaretBlinkTime 0
NtUserGetCaretPos 1
NtUserGetClassInfo 5 #Ex?
NtUserGetClassInfo 5
NtUserGetClassName 3
NtUserGetClipboardData 2
NtUserGetClipboardFormatName 3
@ -513,7 +513,7 @@ NtUserSetClipboardViewer 1
NtUserSetConsoleReserveKeys 2
NtUserSetCursor 1
NtUserSetCursorContents 2
NtUserSetCursorIconData 6 #4
NtUserSetCursorIconData 4
NtUserSetFocus 1
NtUserSetImeHotKey 5
NtUserSetImeInfoEx 1

View file

@ -1,6 +1,6 @@
// SVC_(<NAME>, <ARG_COUNT>)
//
// Funcs order should match Windows XP 5.1.2600 SP2
// Funcs order should match Windows 2003 Service Pack 2
// Note: these MUST be indented for the ARM assembler!
//
SVC_(GdiAbortDoc, 1)
@ -235,7 +235,7 @@
SVC_(GdiMoveTo, 4)
SVC_(GdiOffsetClipRgn, 3)
SVC_(GdiOffsetRgn, 3)
SVC_(GdiOpenDCW, 8) /* FIXME: 7 params on XP/2k3 */
SVC_(GdiOpenDCW, 7)
SVC_(GdiPatBlt, 6)
SVC_(GdiPolyPatBlt, 5)
SVC_(GdiPathToRegion, 1)
@ -328,7 +328,7 @@
SVC_(UserCallOneParam, 2)
SVC_(UserCallTwoParam, 3)
SVC_(UserChangeClipboardChain, 2)
SVC_(UserChangeDisplaySettings, 4)
SVC_(UserChangeDisplaySettings, 3)
SVC_(UserCheckImeHotKey, 2)
SVC_(UserCheckMenuItem, 3)
SVC_(UserChildWindowFromPointEx, 4)
@ -490,7 +490,7 @@
SVC_(UserRealWaitMessageEx, 2)
SVC_(UserRedrawWindow, 4)
SVC_(UserRegisterClassExWOW, 7)
SVC_(UserRegisterUserApiHook, 4) /* Note: 2 params on XP, 4 on 2k3 */
SVC_(UserRegisterUserApiHook, 4)
SVC_(UserRegisterHotKey, 4)
SVC_(UserRegisterRawInputDevices, 3)
SVC_(UserRegisterTasklist, 1)
@ -578,7 +578,7 @@
SVC_(UserUnregisterHotKey, 2)
SVC_(UserUpdateInputContext, 3)
SVC_(UserUpdateInstance, 3)
SVC_(UserUpdateLayeredWindow, 10) /* Note: 9 params on XP, 10 on 2k3 */
SVC_(UserUpdateLayeredWindow, 10)
SVC_(UserGetLayeredWindowAttributes, 4)
SVC_(UserSetLayeredWindowAttributes, 4)
SVC_(UserUpdatePerUserSystemParameters, 2)
@ -674,17 +674,15 @@
SVC_(UserSetDbgTagCount, 1)
SVC_(UserSetRipFlags, 1)
#endif //DBG
//Stray syscalls
//Stray syscalls (must be placed here to be correct for both checked/free builds)
SVC_(GdiMakeObjectXferable, 2)
SVC_(DxEngGetRedirectionBitmap, 1)
// ReactOS-specific syscalls)
// ReactOS-specific syscalls (must be at the end to not interfere!)
SVC_(GdiSetViewportOrgEx, 4)
SVC_(GdiSetWindowOrgEx, 4)
SVC_(GdiGetFontFamilyInfo, 4)
SVC_(GdiOffsetViewportOrgEx, 4)
SVC_(GdiOffsetWindowOrgEx, 4)
SVC_(UserGetMonitorInfo, 2)
SVC_(UserMonitorFromPoint, 3)
SVC_(UserMonitorFromRect, 2)