28 hWndCaret = CaretInfo->
hWnd;
76 Window->state &= ~WNDS_UPDATEDIRTY;
104 const RECTL *prcScroll,
105 const RECTL *prcClip,
111 RECTL rcScroll, rcClip, rcSrc, rcDst;
114 if (GdiGetClipBox(
hDC, &rcClip) ==
ERROR)
116 ERR(
"GdiGetClipBox failed for HDC %p\n",
hDC);
128 rcScroll = *prcScroll;
157 if (RgnUpdate || hrgnUpdate || prcUpdate)
232 const RECT *prcScroll,
239 RECTL rcScroll, rcClip, rcCaret;
264 (
dx == 0 &&
dy == 0))
385 rcChild =
Child->rcWindow;
479 const RECT *prcUnsafeScroll,
480 const RECT *prcUnsafeClip,
487 RECTL rcScroll, rcClip, rcUpdate;
489 TRACE(
"Enter NtUserScrollDC\n");
496 ProbeForRead(prcUnsafeScroll,
sizeof(*prcUnsafeScroll), 1);
497 rcScroll = *prcUnsafeScroll;
502 rcClip = *prcUnsafeClip;
524 prcUnsafeScroll ? &rcScroll :
NULL,
525 prcUnsafeClip ? &rcClip :
NULL,
528 prcUnsafeUpdate ? &rcUpdate :
NULL);
539 *prcUnsafeUpdate = rcUpdate;
558 TRACE(
"Leave NtUserScrollDC, ret=%i\n", Ret);
575 const RECT *prcUnsafeScroll,
576 const RECT *prcUnsafeClip,
584 RECTL rcScroll, rcClip, rcUpdate;
587 TRACE(
"Enter NtUserScrollWindowEx\n");
602 ProbeForRead(prcUnsafeScroll,
sizeof(*prcUnsafeScroll), 1);
603 rcScroll = *prcUnsafeScroll;
609 rcClip = *prcUnsafeClip;
626 prcUnsafeScroll ? &rcScroll :
NULL,
627 prcUnsafeClip ? &rcClip :
NULL,
629 prcUnsafeUpdate ? &rcUpdate :
NULL,
638 *prcUnsafeUpdate = rcUpdate;
657 TRACE(
"Leave NtUserScrollWindowEx, ret=%lu\n",
Result);
#define DBG_DEFAULT_CHANNEL(ch)
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
FORCEINLINE PDC DC_LockDc(HDC hdc)
#define DCX_NOCLIPCHILDREN
#define ERROR_NOT_ENOUGH_MEMORY
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_HANDLE
#define ValidateHwndNoErr(hwnd)
static const WCHAR Cleanup[]
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
#define EXCEPTION_EXECUTE_HANDLER
#define UserHMGetHandle(obj)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiBitBlt(_In_ HDC hdcDst, _In_ INT x, _In_ INT y, _In_ INT cx, _In_ INT cy, _In_opt_ HDC hdcSrc, _In_ INT xSrc, _In_ INT ySrc, _In_ DWORD rop4, _In_ DWORD crBackColor, _In_ FLONG fl)
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
BOOL FASTCALL IntGetClientOrigin(PWND Window OPTIONAL, LPPOINT Point)
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
static __inline VOID UserDerefObjectCo(PVOID obj)
static __inline VOID UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define IntSysCreateRectpRgnIndirect(prc)
struct _USER_MESSAGE_QUEUE * MessageQueue
BOOL FASTCALL IntIsWindowDrawable(PWND Wnd)
VOID FASTCALL co_IntPaintWindows(PWND Wnd, ULONG Flags, BOOL Recurse)
BOOL FASTCALL IntIntersectWithParents(PWND Child, RECTL *WindowRect)
BOOL FASTCALL co_UserRedrawWindow(PWND Window, const RECTL *UpdateRect, PREGION UpdateRgn, ULONG Flags)
PWND FASTCALL UserGetWindowObject(HWND hWnd)
#define ASSERT_REFS_CO(_obj_)
INT FASTCALL UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint)
HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
VOID FASTCALL SetLastNtError(_In_ NTSTATUS Status)
BOOL FASTCALL RECTL_bIntersectRect(_Out_ RECTL *prclDst, _In_ const RECTL *prcl1, _In_ const RECTL *prcl2)
FORCEINLINE VOID RECTL_vOffsetRect(_Inout_ RECTL *prcl, _In_ INT cx, _In_ INT cy)
VOID FASTCALL REGION_Delete(PREGION pRgn)
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
VOID FASTCALL REGION_SetRectRgn(PREGION rgn, INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
INT FASTCALL REGION_GetRgnBox(PREGION Rgn, PRECTL pRect)
PREGION FASTCALL IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
BOOL FASTCALL REGION_bOffsetRgn(_Inout_ PREGION prgn, _In_ INT cx, _In_ INT cy)
INT FASTCALL IntGdiCombineRgn(PREGION prgnDest, PREGION prgnSrc1, PREGION prgnSrc2, INT iCombineMode)
BOOL FASTCALL co_UserHideCaret(PWND Window OPTIONAL)
BOOL FASTCALL co_IntSetCaretPos(int X, int Y)
BOOL FASTCALL co_UserShowCaret(PWND Window OPTIONAL)
#define UserIsDesktopWindow(pWnd)
LRESULT FASTCALL co_IntSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
BOOL FASTCALL IntIsChildWindow(PWND Parent, PWND BaseWindow)
VOID FASTCALL IntGetClientRect(PWND WindowObject, RECTL *Rect)
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
#define SW_SCROLLCHILDREN
_In_ int _Inout_ LPRECT lprc
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO