GetUpdateRgn function (winuser.h)

The GetUpdateRgn function retrieves the update region of a window by copying it into the specified region. The coordinates of the update region are relative to the upper-left corner of the window (that is, they are client coordinates).


int GetUpdateRgn(
  [in] HWND hWnd,
  [in] HRGN hRgn,
  [in] BOOL bErase


[in] hWnd

Handle to the window with an update region that is to be retrieved.

[in] hRgn

Handle to the region to receive the update region.

[in] bErase

Specifies whether the window background should be erased and whether nonclient areas of child windows should be drawn. If this parameter is FALSE, no drawing is done.

Return value

The return value indicates the complexity of the resulting region; it can be one of the following values.

Value Meaning
COMPLEXREGION Region consists of more than one rectangle.
ERROR An error occurred.
NULLREGION Region is empty.
SIMPLEREGION Region is a single rectangle.


The BeginPaint function automatically validates the update region, so any call to GetUpdateRgn made immediately after the call to BeginPaint retrieves an empty update region.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-draw-l1-1-0 (introduced in Windows 8)

See also

Painting and Drawing Functions

Painting and Drawing Overview