&Process);
if (!NT_SUCCESS(Status))
{
- SetLastWin32Error(RtlNtStatusToDosError(Status));
+ EngSetLastError(RtlNtStatusToDosError(Status));
return FALSE;
}
case NOPARAM_ROUTINE_MSQCLEARWAKEMASK:
RETURN( (DWORD_PTR)IntMsqClearWakeMask());
+ case NOPARAM_ROUTINE_GETMSESSAGEPOS:
+ {
+ PTHREADINFO pti = PsGetCurrentThreadWin32Thread();
+ RETURN( (DWORD_PTR)MAKELONG(pti->ptLast.x, pti->ptLast.y));
+ }
+
default:
DPRINT1("Calling invalid routine number 0x%x in NtUserCallNoParam\n", Routine);
- SetLastWin32Error(ERROR_INVALID_PARAMETER);
+ EngSetLastError(ERROR_INVALID_PARAMETER);
break;
}
RETURN(Result);
if (!(CurIcon = IntCreateCurIconHandle()))
{
- SetLastWin32Error(ERROR_NOT_ENOUGH_MEMORY);
+ EngSetLastError(ERROR_NOT_ENOUGH_MEMORY);
RETURN(0);
}
ppi->dwLayout = Param;
RETURN(TRUE);
}
- SetLastWin32Error(ERROR_INVALID_PARAMETER);
+ EngSetLastError(ERROR_INVALID_PARAMETER);
RETURN(FALSE);
}
case ONEPARAM_ROUTINE_GETPROCDEFLAYOUT:
PDWORD pdwLayout;
if ( PsGetCurrentProcess() == CsrProcess)
{
- SetLastWin32Error(ERROR_INVALID_ACCESS);
+ EngSetLastError(ERROR_INVALID_ACCESS);
RETURN(FALSE);
}
ppi = PsGetCurrentProcessWin32Process();
_SEH2_END;
RETURN(Ret);
}
+ case ONEPARAM_ROUTINE_REPLYMESSAGE:
+ RETURN (co_MsqReplyMessage((LRESULT) Param));
+ case ONEPARAM_ROUTINE_MESSAGEBEEP:
+ RETURN ( UserPostMessage(hwndSAS, WM_LOGONNOTIFY, LN_MESSAGE_BEEP, Param) );
+ /* TODO: Implement sound sentry */
}
DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam(), Param=0x%x\n",
Routine, Param);
- SetLastWin32Error(ERROR_INVALID_PARAMETER);
+ EngSetLastError(ERROR_INVALID_PARAMETER);
RETURN( 0);
CLEANUP:
DWORD_PTR Param2,
DWORD Routine)
{
- NTSTATUS Status;
PWND Window;
DECLARE_RETURN(DWORD_PTR);
switch(Routine)
{
- case TWOPARAM_ROUTINE_GETWINDOWRGNBOX:
- {
- DWORD_PTR Ret;
- RECTL rcRect;
- Window = UserGetWindowObject((HWND)Param1);
- if (!Window) RETURN(ERROR);
-
- Ret = (DWORD_PTR)IntGetWindowRgnBox(Window, &rcRect);
- Status = MmCopyToCaller((PVOID)Param2, &rcRect, sizeof(RECT));
- if(!NT_SUCCESS(Status))
- {
- SetLastNtError(Status);
- RETURN( ERROR);
- }
- RETURN( Ret);
- }
- case TWOPARAM_ROUTINE_GETWINDOWRGN:
- {
- Window = UserGetWindowObject((HWND)Param1);
- if (!Window) RETURN(ERROR);
-
- RETURN( (DWORD_PTR)IntGetWindowRgn(Window, (HRGN)Param2));
- }
case TWOPARAM_ROUTINE_SETMENUBARHEIGHT:
{
DWORD_PTR Ret;
}
DPRINT1("Calling invalid routine number 0x%x in NtUserCallTwoParam(), Param1=0x%x Parm2=0x%x\n",
Routine, Param1, Param2);
- SetLastWin32Error(ERROR_INVALID_PARAMETER);
+ EngSetLastError(ERROR_INVALID_PARAMETER);
RETURN( 0);
CLEANUP:
USER_REFERENCE_ENTRY Ref;
DECLARE_RETURN(DWORD);
- DPRINT1("Enter NtUserCallHwndParamLock\n");
+ DPRINT("Enter NtUserCallHwndParamLock\n");
UserEnterExclusive();
if (!(Window = UserGetWindowObject(hWnd)))
RETURN( Ret);
CLEANUP:
- DPRINT1("Leave NtUserCallHwndParamLock, ret=%i\n",_ret_);
+ DPRINT("Leave NtUserCallHwndParamLock, ret=%i\n",_ret_);
UserLeave();
END_CLEANUP;