MsqPostQuitMessage(pti->MessageQueue, Param);
RETURN(TRUE);
}
+
+ case ONEPARAM_ROUTINE_BEGINDEFERWNDPOS:
+ {
+ PSMWP psmwp;
+ HDWP hDwp = NULL;
+ INT count = (INT)Param;
+
+ if (count < 0)
+ {
+ EngSetLastError(ERROR_INVALID_PARAMETER);
+ RETURN(0);
+ }
+ /* Windows allows zero count, in which case it allocates context for 8 moves */
+ if (count == 0) count = 8;
+
+ psmwp = (PSMWP) UserCreateObject( gHandleTable,
+ NULL,
+ (PHANDLE)&hDwp,
+ otSMWP,
+ sizeof(SMWP));
+ if (!psmwp) RETURN(0);
+ psmwp->acvr = ExAllocatePoolWithTag(PagedPool, count * sizeof(CVR), USERTAG_SWP);
+ if (!psmwp->acvr)
+ {
+ UserDeleteObject(hDwp, otSMWP);
+ RETURN(0);
+ }
+ RtlZeroMemory(psmwp->acvr, count * sizeof(CVR));
+ psmwp->bHandle = TRUE;
+ psmwp->ccvr = 0; // actualCount
+ psmwp->ccvrAlloc = count; // suggestedCount
+ RETURN((DWORD_PTR)hDwp);
+ }
+
case ONEPARAM_ROUTINE_SHOWCURSOR:
RETURN( (DWORD_PTR)UserShowCursor((BOOL)Param) );
switch(Routine)
{
- 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;
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;