mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 13:45:58 +00:00
- GetMouseMovePointsEx is a direct call to kernel space. Move and sorted initial code.
svn path=/trunk/; revision=41010
This commit is contained in:
parent
81f3fa31f2
commit
24924072e9
|
@ -15,37 +15,6 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(user32);
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
int
|
||||
WINAPI
|
||||
GetMouseMovePointsEx(
|
||||
UINT cbSize,
|
||||
LPMOUSEMOVEPOINT lppt,
|
||||
LPMOUSEMOVEPOINT lpptBuf,
|
||||
int nBufPoints,
|
||||
DWORD resolution)
|
||||
{
|
||||
if((cbSize != sizeof(MOUSEMOVEPOINT)) || (nBufPoints < 0) || (nBufPoints > 64))
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!lppt || !lpptBuf)
|
||||
{
|
||||
SetLastError(ERROR_NOACCESS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
UNIMPLEMENTED;
|
||||
|
||||
SetLastError(ERROR_POINT_NOT_FOUND);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
|
|
@ -331,7 +331,7 @@
|
|||
@ stdcall GetMessageW(ptr long long long)
|
||||
@ stdcall GetMonitorInfoA(long ptr)
|
||||
@ stdcall GetMonitorInfoW(long ptr)
|
||||
@ stdcall GetMouseMovePointsEx(long ptr ptr long long) # Direct call NtUserGetMouseMovePointsEx
|
||||
@ stdcall GetMouseMovePointsEx(long ptr ptr long long) NtUserGetMouseMovePointsEx
|
||||
@ stdcall GetNextDlgGroupItem(long long long)
|
||||
@ stdcall GetNextDlgTabItem(long long long)
|
||||
; @ stub GetNextQueueWindow
|
||||
|
|
|
@ -305,25 +305,28 @@ NtUserGetMouseMovePointsEx(
|
|||
int nBufPoints,
|
||||
DWORD resolution)
|
||||
{
|
||||
UserEnterExclusive();
|
||||
|
||||
if ((cbSize != sizeof(MOUSEMOVEPOINT)) || (nBufPoints < 0) || (nBufPoints > 64))
|
||||
{
|
||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||
return -1;
|
||||
}
|
||||
|
||||
_SEH2_TRY
|
||||
{
|
||||
ProbeForRead(lppt, cbSize, 1);
|
||||
ProbeForWrite(lpptBuf, cbSize, 1);
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
SetLastNtError(_SEH2_GetExceptionCode());
|
||||
SetLastWin32Error(ERROR_NOACCESS);
|
||||
}
|
||||
_SEH2_END;
|
||||
|
||||
/*
|
||||
if (cbSize != sizeof (MOUSEMOVEPOINT)
|
||||
{
|
||||
SetLastWin32Error(GMMP_ERR_POINT_NOT_FOUND);
|
||||
return GMMP_ERR_POINT_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (!lppt)
|
||||
{
|
||||
SetLastWin32Error(GMMP_ERR_POINT_NOT_FOUND);
|
||||
return GMMP_ERR_POINT_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (!lpptBuf)
|
||||
{
|
||||
SetLastWin32Error(GMMP_ERR_POINT_NOT_FOUND);
|
||||
return GMMP_ERR_POINT_NOT_FOUND;
|
||||
}
|
||||
|
||||
Call a subfunction of GetMouseMovePointsEx!
|
||||
switch(resolution)
|
||||
{
|
||||
case GMMP_USE_DISPLAY_POINTS:
|
||||
|
@ -335,8 +338,8 @@ NtUserGetMouseMovePointsEx(
|
|||
}
|
||||
*/
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
UserLeave();
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue